Đến đây từ quan điểm của một từ điển dữ liệu chính thức, tôi sẽ đặt tên cho phần tử dữ liệu invoice_ID
. Nói chung, tên phần tử dữ liệu sẽ là duy nhất trong từ điển dữ liệu và lý tưởng là sẽ có cùng một tên trong suốt, mặc dù đôi khi các thuật ngữ đủ điều kiện bổ sung có thể được yêu cầu dựa trên ngữ cảnh, chẳng hạn như phần tử dữ liệu được đặt tên employee_ID
có thể được sử dụng hai lần trong biểu đồ tổ chức và do đó đủ điều kiện như supervisor_employee_ID
và subordinate_employee_ID
tương ứng.
Rõ ràng, các quy ước đặt tên là chủ quan và là một vấn đề của phong cách. Tôi thấy các hướng dẫn ISO / IEC 11179 là một điểm khởi đầu hữu ích.
Đối với DBMS, tôi thấy các bảng là tập hợp các entite (ngoại trừ những bảng chỉ chứa một hàng, ví dụ bảng cofig, bảng hằng số, v.v.), ví dụ như bảng nơi tôi employee_ID
là khóa sẽ được đặt tên Personnel
. Vì vậy, ngay lập tức TableNameID
quy ước không hiệu quả với tôi.
Tôi đã thấy TableName.ID=PK TableNameID=FK
phong cách được sử dụng trên các mô hình dữ liệu lớn và phải nói rằng tôi thấy nó hơi khó hiểu: Tôi thích tên của một số nhận dạng giống nhau trong suốt, tức là không thay đổi tên dựa trên bảng mà nó xuất hiện. Một điều cần lưu ý là phong cách nói trên dường như được sử dụng trong các cửa hàng thêm IDENTITY
cột (tự động tăng) vào mỗi bảng trong khi loại bỏ các khóa tự nhiên và khóa ghép trong các khóa ngoại. Những cửa hàng này có xu hướng không có từ điển dữ liệu chính thức cũng như không xây dựng từ các mô hình dữ liệu. Một lần nữa, đây chỉ là một câu hỏi về phong cách và một câu hỏi mà cá nhân tôi không đăng ký. Vì vậy, cuối cùng, nó không dành cho tôi.
Tất cả những gì đã nói, tôi có thể thấy một trường hợp đôi khi bỏ từ định nghĩa khỏi tên cột khi tên của bảng cung cấp bối cảnh để làm như vậy, ví dụ như phần tử được đặt tên employee_last_name
có thể trở thành đơn giản last_name
trong Personnel
bảng. Cơ sở lý luận ở đây là miền là 'họ của mọi người' và có nhiều khả năng bị chỉnh sửa UNION
với last_name
các cột từ các bảng khác hơn là được sử dụng làm khóa ngoại trong bảng khác, nhưng sau đó ... tôi có thể thay đổi ý kiến của mình, đôi khi bạn không bao giờ có thể nói. Đó là vấn đề: mô hình hóa dữ liệu là một phần nghệ thuật, một phần khoa học.