นี่คือวิธีที่ฉันทำ:
- ชื่อตารางเป็นกรณีที่ต่ำกว่าขีดล่างใช้ถ้อยคำที่แยกต่างหากและเป็นเอกพจน์ (เช่น
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