Tôi đọc ở đâu đó nói rằng mỗi bảng nên có một khóa chính để thực hiện 1NF.Mọi bảng có khóa chính không?
Tôi có bảng tbl_friendship.
Có 2 trường trong bảng: Chủ sở hữu và bạn bè.
Trường chủ sở hữu và bạn bè là khóa ngoài của trường id tăng tự động trong tbl_user.
Tbl_friendship này có khóa chính không? Tôi có nên tạo trường id gia tăng tự động trong tbl_friendship và đặt nó làm khóa chính không?
Tôi nghĩ bạn đã nhầm lẫn "khóa chính" với "số nhận dạng nhân tạo" hoặc có thể là "khóa thay thế". Google cho các bài viết của Chris Date về [Hình thức bình thường đầu tiên thực sự có nghĩa là gì] (http://books.google.co.uk/books?id=y_eVBB5qdwMC&pg=PA107&dq=%22what+first+normal+form+really+means%22&hl= vi & ei = diJJTqSqKtGq8QPRi9myBg & sa = X & oi = book_result & ct = kết quả & resnum = 1 & ved = 0CC8Q6AEwAA # v = onepage & q =% 22%% 20first% 20normal% 20form% 20really% 20means% 22 & f = false) – onedaywhen
** YES! ** - * Nếu không có một khóa chính, nó không phải là một bảng * (Joe Celko) –