Tôi được dạy không sử dụng tên Id
cho cột nhận dạng của các bảng của mình, nhưng gần đây tôi chỉ sử dụng nó bởi vì nó đơn giản, ngắn gọn và rất mô tả về dữ liệu thực sự là gì.
Tôi đã thấy mọi người đề xuất tiền tố Id
với tên bảng, nhưng điều này dường như giúp làm việc nhiều hơn cho người viết các truy vấn SQL (hoặc lập trình viên nếu bạn đang sử dụng ORM như Entity Framework), đặc biệt là các tên bảng dài hơn như CustomerProductId
hoặc làAgencyGroupAssignementId
Một nhà cung cấp bên thứ ba mà chúng tôi thuê để tạo ra thứ gì đó cho chúng tôi thực sự đặt tên cho tất cả các cột nhận dạng của họ Ident
chỉ để tránh sử dụng Id
. Lúc đầu, tôi nghĩ rằng họ đã làm điều đó bởi vì đó Id
là một từ khóa, nhưng khi tôi nhìn vào nó, tôi thấy đó Id
không phải là một từ khóa trong SQL Server 2005, đó là những gì chúng ta đang sử dụng.
Vậy tại sao mọi người khuyên không nên sử dụng tên Id
cho một cột danh tính?
Chỉnh sửa: Để làm rõ, tôi không hỏi nên sử dụng quy ước đặt tên nào, hoặc cho các đối số sử dụng một quy ước đặt tên khác. Tôi chỉ muốn biết lý do tại sao không nên sử dụng Id
cho tên cột nhận dạng.
Tôi là một lập trình viên duy nhất, không phải là một dba và với tôi cơ sở dữ liệu chỉ là nơi lưu trữ dữ liệu của tôi. Vì tôi thường xây dựng các ứng dụng nhỏ và thường sử dụng ORM để truy cập dữ liệu, nên một tên trường chung cho trường nhận dạng sẽ dễ làm việc hơn nhiều. Tôi muốn biết những gì tôi đang bỏ lỡ bằng cách làm điều này, và nếu có bất kỳ lý do thực sự tốt cho tôi để không làm điều này.