Wychodząc do tego z perspektywy formalnego słownika danych, nazwałbym element danych invoice_ID
. Ogólnie rzecz biorąc, nazwa elementu danych będzie unikalna w słowniku danych i najlepiej będzie, jeśli będzie miała tę samą nazwę w całym tekście, chociaż czasami mogą być wymagane dodatkowe terminy kwalifikujące w zależności od kontekstu, np. Wymieniony element danych employee_ID
może być użyty dwukrotnie w schemacie organizacyjnym, a zatem kwalifikowany jako supervisor_employee_ID
i subordinate_employee_ID
odpowiednio.
Oczywiście konwencje nazewnictwa są subiektywne i to kwestia stylu. Wytyczne ISO / IEC 11179 są dla mnie przydatnym punktem wyjścia.
W przypadku DBMS tabele traktuję jako kolekcje elementów (z wyjątkiem tych, które zawsze zawierają tylko jeden wiersz, np. Tabela cofig, tabela stałych itp.), Np. Tabela, w której mój employee_ID
jest kluczem, zostanie nazwana Personnel
. Więc TableNameID
konwencja od razu mi nie wychodzi .
Widziałem TableName.ID=PK TableNameID=FK
styl używany w dużych modelach danych i muszę powiedzieć, że uważam go za nieco zagmatwany: zdecydowanie wolę, aby nazwa identyfikatora była taka sama przez cały czas, tj. Nie zmieniała nazwy w oparciu o tabelę, w której się on pojawia. wspomniany styl wydaje się być używany w sklepach, które dodają IDENTITY
kolumnę (autoinkrementacja) do każdej tabeli, unikając kluczy naturalnych i złożonych w kluczach obcych. Sklepy te zwykle nie mają formalnych słowników danych ani nie budują na podstawie modeli danych. Ponownie, jest to tylko kwestia stylu, której osobiście nie podpisuję. Więc ostatecznie to nie dla mnie.
Mimo wszystko widzę przypadek, w którym czasami upuszczam kwalifikator z nazwy kolumny, gdy nazwa tabeli stanowi kontekst do zrobienia tego, np. Wymieniony element employee_last_name
może stać się po prostu last_name
w Personnel
tabeli. Powodem jest to, że domena to „nazwiska ludzi” i jest bardziej prawdopodobne, że zostanie utworzona UNION
z last_name
kolumnami z innych tabel, a nie będzie używana jako klucz obcy w innej tabeli, ale z drugiej strony ... Mogę po prostu zmienić zdanie, czasami nigdy nie wiadomo. O to chodzi: modelowanie danych to po części sztuka, po części nauka.