Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การลดขนาดของ ER Diagram


คำชี้แจงปัญหา

แผนภาพ ER เป็นภาพแสดงตารางและความสัมพันธ์ระหว่างกัน แผนภาพ ER เราสามารถลดจำนวนฐานข้อมูลได้

หนึ่งต่อหนึ่งคาร์ดินาลลิตี้

ให้เราพิจารณาแผนภาพด้านล่างด้วยการนับหนึ่งต่อหนึ่ง -

การลดขนาดของ ER Diagram

ด้านบนไดอะแกรม ER แสดงถึง 3 หน่วยงาน -

  • นิติบุคคลพนักงานมี 2 คุณลักษณะคือ emp_name emp_id คือคีย์หลัก
  • นิติบุคคลของบริษัทมี 2 คุณลักษณะคือ cmp_name cmp_id เป็นคีย์หลัก
  • คีย์หลักของเอนทิตีงานสามารถเป็น emp_id หรือ cmp_id
  • เราไม่สามารถรวม 3 ตารางเป็นตารางเดียวได้ ไม่ว่าจะรวมงานเข้าเป็นพนักงานหรือบริษัท ต้องมีอย่างน้อย 2 ตารางในสถานการณ์หนึ่งต่อหนึ่งคาร์ดินาลลิตี้

หนึ่งถึงหลายคาร์ดินาลลิตี้

ให้เราพิจารณาไดอะแกรมด้านล่างด้วยการนับหนึ่งถึงหลาย -

การลดขนาดของ ER Diagram

ในแผนภาพ ER พนักงานสามารถทำงานให้กับบริษัทเดียวได้ แต่บริษัทสามารถมีพนักงานดังกล่าวได้หลายคน ด้านบนไดอะแกรม ER แสดงถึง 3 หน่วยงาน -

  • นิติบุคคลพนักงานมี 2 คุณลักษณะคือ − emp_id และ emp_name emp_id คือคีย์หลัก
  • นิติบุคคลของบริษัทมี 2 คุณลักษณะคือ − emp_id และ cmp_name cmp_id เป็นคีย์หลัก
  • เราไม่สามารถทำให้ cmp_id เป็นคีย์หลักได้ เนื่องจากพนักงานหลายคนสามารถทำงานให้กับ cmp_id เดียวกันได้ อย่างไรก็ตาม เราสามารถรวม Employee และ Work table เข้าด้วยกันได้ ดังนั้น จึงจำเป็นต้องมีตารางอย่างน้อย 2 ตารางในหนึ่งถึงหลายสถานการณ์

หลายถึงหลายคาร์ดินาลลิตี้

ให้เราพิจารณาไดอะแกรมด้านล่างด้วยการนับหนึ่งถึงหลาย -

การลดขนาดของ ER Diagram

ในแผนภาพ ER นี้ พนักงานสามารถทำงานในบริษัทต่างๆ ได้หลายบริษัท บริษัทสามารถมีพนักงานดังกล่าวได้หลายคน ด้านบนไดอะแกรม ER แสดงถึง 3 หน่วยงาน -

  • นิติบุคคลพนักงานมี 2 คุณลักษณะคือ − emp_id และ emp_name emp_id คือคีย์หลัก
  • นิติบุคคลของบริษัทมี 2 คุณลักษณะคือ − emp_id และ cmp_name cmp_id เป็นคีย์หลัก
  • ไม่เหมือนกับตัวอย่างก่อนหน้านี้ ไม่สามารถรวมตารางงานกับพนักงานหรือบริษัทได้ หากเราพยายามรวมมันเข้าด้วยกัน มันจะสร้างข้อมูลที่ซ้ำซ้อน ดังนั้นจำเป็นต้องมีตารางอย่างน้อย 2 ตารางในสถานการณ์การนับจำนวนหลายรายการ