Oto jak to robię:
- Nazwy tabeli są małymi literami, wykorzystuje podkreślenia oddzielić słowa i są pojedyncze (np
foo,foo_baritp - Generalnie (nie zawsze) mam PK z automatycznym zwiększaniem. Używam w następujący sposób:
tablename_id(npfoo_id,foo_bar_iditp). - Gdy tabela zawiera kolumnę będącą kluczem obcym, po prostu kopiuję nazwę kolumny tego klucza z dowolnej tabeli, z której pochodzi. Na przykład, powiedzmy, że tabela
foo_barma FKfoo_id(gdziefoo_idjest PKfoo). - Definiując SK w celu wymuszania integralności referencyjnej, używam:
tablename_fk_columnname(np. Kontynuując przykład 3, byłobyfoo_bar_foo_id). Ponieważ jest to kombinacja nazwa tabeli / nazwa kolumny, gwarantujemy, że będzie ona unikalna w bazie danych. - Porządkuję kolumny w ten sposób: PKs, FKs, a pozostałe kolumny alfabetycznie
Czy istnieje lepszy, bardziej standardowy sposób, aby to zrobić?
id_tableB=> oh bez kolumny o innej nazwieid , spójność id_tableB=> id_tableBwygląda po prostu schludniej ... lub tak jak robi to OP: foo_id=> foo_idzamiast foo_id=>id