ฉันกำลังออกแบบฐานข้อมูลและฉันมีความคิดที่สองเกี่ยวกับการตัดสินใจออกแบบเริ่มต้นของฉัน ...
ประเภทสินค้ามีดังนี้ ... รุ่นชิ้นส่วนชุดอุปกรณ์ทดแทนและตัวเลือก
ตัวเลือก A (การออกแบบครั้งแรก): ฉันวางแผนที่จะมีตารางแยกต่างหากสำหรับผลิตภัณฑ์ประเภทข้างต้น ฉันจะบอกว่าประมาณ 75% ของเขตข้อมูลจะเหมือนกันในแต่ละตาราง
ฉันสร้างผลิตภัณฑ์แต่ละประเภทเป็นตารางแยกเนื่องจากความสัมพันธ์ที่ฉันต้องการสร้างระหว่างแต่ละประเภท ตัวอย่างเช่นรุ่นสามารถมีตัวเลือกมากมายและตัวเลือกสามารถมีหลายรุ่น ตัวเลือกยังสามารถมีได้หลายส่วนและส่วนหนึ่งสามารถมีตัวเลือกมากมาย ... และอื่น ๆ ...
ตัวเลือก B: แทนที่จะมีตารางแยกกันฉันสามารถสร้างตารางชื่อผลิตภัณฑ์ที่ครอบคลุมโมเดลส่วนชิ้นส่วนชุดอุปกรณ์ทดแทนและตัวเลือกต่างๆ ฉันสามารถมีหนึ่งฟิลด์ที่เรียกว่าชนิดเพื่อแยกความแตกต่างระหว่างรุ่นตัวเลือกและอื่น ๆ ฉันคิดว่าข้อเสียคือหลาย ๆ ฟิลด์จะไม่ถูกใช้ (ซ้ายเป็นโมฆะ) สำหรับผลิตภัณฑ์บางประเภท ฉันเดาว่านี่คือสิ่งที่ "ไม่ปฏิบัติที่ดีที่สุด" จะเข้ามาเล่น ..
ตัวเลือก B จะช่วยลดความซับซ้อนของการออกแบบฐานข้อมูลได้อย่างมาก ฉันไม่ต้องกังวลเกี่ยวกับการอ้างอิงกลุ่มของตารางเมื่อดึงข้อมูลออกมาเพื่อสอบถาม ...