รูปแบบที่คุณอธิบายมักเรียกว่า " ชิ้นส่วนระเบิด " หรือ "รายการวัสดุ " มันเป็นส่วนหนึ่งของกราฟและส่วนต้นไม้ในการศึกษาโครงสร้างข้อมูล สาระสำคัญของการแก้ปัญหาคือการตระหนักว่า "ผลิตภัณฑ์" ใด ๆ ที่สามารถสร้างขึ้นจาก "ผลิตภัณฑ์อื่น ๆ " การออกแบบนั้นเป็นโครงสร้างเครือข่ายที่มีProduct
ตารางที่มีแถวสำหรับแต่ละผลิตภัณฑ์ - ไม่ว่าจะประกอบด้วยผลิตภัณฑ์อื่นหรือไม่และจากนั้นProduct Component
ตารางที่มีแถวสำหรับแต่ละผลิตภัณฑ์ที่ประกอบด้วยผลิตภัณฑ์อื่น ๆ และ แต่ละผลิตภัณฑ์ที่เกี่ยวข้องซึ่งเป็นส่วนประกอบของผลิตภัณฑ์นั้น ในกรณีของคุณแต่ละผลิตภัณฑ์มีราคา คุณจะได้อะไรแบบนี้
Product
-----------------------------------
|Name |Price |
-----------------------------------
|Orange |1 |
|Apple |1.20 |
|Fruit Package |3.80 |
-----------------------------------
Product Component
----------------------------------------------------------
|Product |Contains |Quantity|
----------------------------------------------------------
|Fruit Package |Orange |2 |
|Fruit Package |Apple |2 |
----------------------------------------------------------
การออกแบบนี้เหมาะสำหรับตารางเดี่ยวที่มีการเชื่อมโยงแบบเรียกซ้ำเนื่องจากเป็นการแยกประเภทเอนทิตีที่แท้จริงสองอย่างคือโหนดและลิงก์ ในกรณีของเราผลิตภัณฑ์เป็นโหนดและส่วนประกอบของผลิตภัณฑ์เป็นลิงก์
ในขณะที่การออกแบบเครือข่ายเป็นโครงสร้างที่พบบ่อยการสืบค้นมันมีปัญหาราวกับว่าเมื่อเติมเต็มมันเป็นโครงสร้างแบบเรียกซ้ำของความลึกที่แตกต่างกัน ความแข็งแกร่งของอุตสาหกรรม DBMS 'เช่น Oracle และ SQL Server มีองค์ประกอบภาษาพิเศษ (Oracle's CONNECT BY และ SQL Server ของ recursive CTE) เพื่อช่วยในการประกาศแบบสอบถาม ให้คุณใช้ File Maker Pro ซึ่งฉันรู้เพียงเล็กน้อยคุณอาจไม่มีโครงสร้างภาษาดังกล่าวเพื่อช่วยและอาจต้องเขียนโค้ดโพรซีเดอร์เพื่อสำรวจเครือข่าย ปัญหานี้สามารถคลี่คลายได้อย่างไรก็ตามหากเครือข่ายมีความลึกคงที่ - บอกว่าทุกผลิตภัณฑ์ไม่มีส่วนประกอบหรือส่วนประกอบหนึ่งระดับ นี่คือการอ้างอิงบางส่วนเกี่ยวกับโครงสร้างเครือข่ายในการออกแบบฐานข้อมูล:
- ปัญหาในทางปฏิบัติในการจัดการฐานข้อมูล - Fabian ปาสคาล บทที่ 7 ให้คำอธิบายที่ดีที่สุดและเข้าใจง่ายที่สุดที่ฉันพบ
- โจเซลโกของต้นไม้และลำดับชั้นใน SQL สำหรับ Smarties พิมพ์ครั้งที่สอง นี่คือหนังสือทั้งเล่มในหัวข้อเฉพาะสำหรับมาตรฐาน SQL
- รุ่น Enterprise รูปแบบ - เดวิดเฮย์ หนังสือเกี่ยวกับรูปแบบที่ใช้ร่วมกันกับทุกองค์กร (น่าเสียดายที่ ER Diagrams ถูกนำเสนอใน UML แต่สามารถเอาชนะได้) มีตัวอย่างของโครงสร้างเครือข่ายหลายอย่าง