ฉันมีตารางProducers
และตารางProducts
ซึ่งทั้งสองอย่างนี้มีรูปแบบ:
Id
- int คีย์หลักName
- nvarchar
ผู้ผลิตสามารถบรรทุกผลิตภัณฑ์ได้หลายตัวดังนั้นฉันจะสร้างตารางที่เรียกProducerDetails
ว่าจะมี:
ProducerId
- int, foreign key toProducers.Id
ProductId
- int, foreign key toProducts.Id
จากนั้นฉันก็เริ่มตั้งคำถามกับตัวเองดังนั้นฉันจึงคิดว่าฉันจะถามผู้เชี่ยวชาญ การออกแบบฐานข้อมูลจะดีกว่าหรือไม่หากมีId
คอลัมน์เพิ่มเติม(int, คีย์หลัก) ในProducerDetails
ตารางของฉัน หรือว่าไม่จำเป็น?
ฉันใช้ SQL-Server 2008 R2 ถ้านั่นสร้างความแตกต่างได้เลย
แก้ไข - ความสัมพันธ์ระหว่างตารางเหล่านี้จะเป็นแบบกลุ่มต่อกลุ่มฉันเชื่อว่าขอโทษที่ฉันไม่ได้บอกอย่างชัดเจน ผู้ผลิตสามารถดำเนินการผลิตภัณฑ์หลายประเภทและผลิตภัณฑ์เดียวกันสามารถผลิตได้โดยผู้ผลิตหลายราย
ฉันขอโทษถ้าคำถามนี้ง่ายเกินไปการออกแบบความสมบูรณ์ของการอ้างอิง / ฐานข้อมูลไม่ใช่จุดแข็งของฉัน (แม้ว่าฉันจะพยายามปรับปรุงมัน)
id
ฟิลด์ในตารางความสัมพันธ์ของเขา?