นี่คือวิธีที่ฉันทำ:
- ชื่อตารางเป็นกรณีที่ต่ำกว่าขีดล่างใช้ถ้อยคำที่แยกต่างหากและเป็นเอกพจน์ (เช่น
foo
,foo_bar
ฯลฯ - ฉันโดยทั่วไป (ไม่เสมอไป) มีการเพิ่ม PK อัตโนมัติ ผมใช้การประชุมดังต่อไปนี้
tablename_id
(เช่นfoo_id
,foo_bar_id
ฯลฯ ) - เมื่อตารางมีคอลัมน์ที่เป็นคีย์ต่างประเทศฉันเพิ่งคัดลอกชื่อคอลัมน์ของคีย์นั้นจากตารางใดก็ตามที่มาจาก ตัวอย่างเช่นสมมติว่าตาราง
foo_bar
มี FKfoo_id
(ซึ่งfoo_id
เป็น PK ของfoo
) - เมื่อกำหนด FK เพื่อบังคับใช้ Referential Integrity ฉันจะใช้สิ่งต่อไปนี้:
tablename_fk_columnname
(เช่นการยกตัวอย่างที่ 3 เพิ่มเติมfoo_bar_foo_id
) เนื่องจากนี่เป็นการรวมชื่อตาราง / ชื่อคอลัมน์จึงรับประกันได้ว่าจะไม่ซ้ำกันภายในฐานข้อมูล - ฉันเรียงลำดับคอลัมน์เช่นนี้: PKs, FKs และคอลัมน์อื่น ๆ ตามลำดับตัวอักษร
มีวิธีที่ดีกว่าและเป็นมาตรฐานมากกว่านี้หรือไม่?
id_tableB
=> โอ้ไม่มี คอลัมน์ที่มีชื่อแตกต่างกัน id
ความสอดคล้องของid_tableB
=> id_tableB
เพียงแค่ดู neater ... หรืออย่างที่ OP ทำ: foo_id
=> foo_id
แทนที่จะfoo_id
=>id