การสร้างแบบจำลอง ER คืออะไร? เรียนรู้ด้วยตัวอย่าง

การสร้างแบบจำลอง ER คืออะไร?

แบบจำลองความสัมพันธ์เอนทิตี (ER Modeling) เป็นแนวทางการออกแบบฐานข้อมูลแบบกราฟิก เป็นแบบจำลองข้อมูลระดับสูงที่กำหนดองค์ประกอบข้อมูลและความสัมพันธ์สำหรับระบบซอฟต์แวร์ที่ระบุ แบบจำลอง ER ถูกใช้เพื่อแสดงวัตถุในโลกแห่งความเป็นจริง

An เอกลักษณ์ คือสิ่งของหรือวัตถุในโลกแห่งความเป็นจริงที่สามารถแยกแยะได้จากสภาพแวดล้อมรอบข้าง ตัวอย่างเช่น พนักงานแต่ละคนในองค์กรเป็นหน่วยงานที่แยกจากกัน ต่อไปนี้คือลักษณะสำคัญบางประการของหน่วยงาน

  • เอนทิตีมีชุดของคุณสมบัติ
  • คุณสมบัติเอนทิตีสามารถมีค่าได้

ลองพิจารณาตัวอย่างแรกของเราอีกครั้ง พนักงานขององค์กรเป็นนิติบุคคล ถ้า “ปีเตอร์” เป็นโปรแกรมเมอร์ (อัน ลูกจ้าง) ที่ Microsoftเขาสามารถมีได้ แอตทริบิวต์ (คุณสมบัติ) เช่น ชื่อ อายุ น้ำหนัก ส่วนสูง ฯลฯ เห็นได้ชัดว่าสิ่งเหล่านั้นมีคุณค่าที่เกี่ยวข้องกับเขา

แต่ละแอตทริบิวต์สามารถมีได้ ความคุ้มค่า- ในกรณีส่วนใหญ่แอตทริบิวต์เดียวจะมีค่าเดียว แต่ก็เป็นไปได้สำหรับคุณลักษณะที่มี หลายค่า นอกจากนี้ ตัวอย่างเช่น อายุของปีเตอร์มีค่าเดียว แต่คุณสมบัติ “หมายเลขโทรศัพท์” ของเขาสามารถมีค่าได้หลายค่า

นิติบุคคลก็มีได้ สัมพันธ์ ซึ่งกันและกัน ลองพิจารณาตัวอย่างที่ง่ายที่สุด สมมุติว่าแต่ละคน. Microsoft โปรแกรมเมอร์ได้รับคอมพิวเตอร์ เป็นที่ชัดเจนว่า คอมพิวเตอร์ของปีเตอร์ ยังเป็นเอนทิตีอีกด้วย ปีเตอร์ใช้คอมพิวเตอร์เครื่องนั้น และปีเตอร์ใช้คอมพิวเตอร์เครื่องเดียวกัน กล่าวอีกนัยหนึ่ง มีความสัมพันธ์ร่วมกันระหว่างปีเตอร์กับคอมพิวเตอร์ของเขา

In การสร้างแบบจำลองความสัมพันธ์เอนทิตี เราจำลองเอนทิตี คุณลักษณะ และความสัมพันธ์ระหว่างเอนทิตี

แบบจำลองความสัมพันธ์เอนทิตีขั้นสูง (EER)

โมเดลความสัมพันธ์เอนทิตีขั้นสูง (EER) เป็นโมเดลข้อมูลระดับสูงที่ให้ส่วนขยายจากต้นฉบับ ความสัมพันธ์ของนิติบุคคลแบบจำลอง (ER) แบบจำลอง EER รองรับการออกแบบที่มีรายละเอียดมากขึ้น การสร้างแบบจำลอง EER เกิดขึ้นเป็นโซลูชันสำหรับการสร้างแบบจำลองฐานข้อมูลที่ซับซ้อนสูง

EER ใช้สัญกรณ์ UML UML เป็นตัวย่อของ ภาษาการสร้างแบบจำลองแบบรวม- มันเป็นภาษาการสร้างแบบจำลองวัตถุประสงค์ทั่วไปที่ใช้เมื่อออกแบบระบบเชิงวัตถุ เอนทิตีจะแสดงเป็นไดอะแกรมคลาส ความสัมพันธ์จะแสดงเป็นความสัมพันธ์ระหว่างเอนทิตี แผนภาพที่แสดงด้านล่างแสดงแผนภาพ ER โดยใช้ สัญกรณ์ UML.


ความสัมพันธ์เอนทิตีที่ปรับปรุงแล้ว (EER)

เหตุใดจึงต้องใช้แบบจำลอง ER

ตอนนี้คุณอาจคิดว่าเหตุใดจึงใช้การสร้างแบบจำลอง ER ในเมื่อเราสามารถทำได้ง่ายๆ สร้างฐานข้อมูล และวัตถุทั้งหมดที่ไม่มีการสร้างแบบจำลอง ER? หนึ่งในความท้าทายที่ต้องเผชิญเมื่อออกแบบฐานข้อมูลคือข้อเท็จจริงที่ว่านักออกแบบ นักพัฒนา และผู้ใช้ปลายทางมักจะดูข้อมูลและการใช้งานแตกต่างออกไป หากไม่มีการตรวจสอบสถานการณ์นี้ เราก็สามารถสร้างระบบฐานข้อมูลที่ไม่ตรงตามความต้องการของผู้ใช้ได้

เครื่องมือสื่อสารที่ผู้มีส่วนได้ส่วนเสียทั้งหมดเข้าใจ (ทั้งผู้ใช้ด้านเทคนิคและผู้ใช้ที่ไม่ใช่ด้านเทคนิค) มีความสำคัญอย่างยิ่งในการผลิตระบบฐานข้อมูลที่ตรงตามความต้องการของผู้ใช้ แบบจำลอง ER เป็นตัวอย่างของเครื่องมือดังกล่าว

ไดอะแกรม ER ยังเพิ่มประสิทธิภาพการทำงานของผู้ใช้ เนื่องจากสามารถแปลเป็นตารางเชิงสัมพันธ์ได้อย่างง่ายดาย

กรณีศึกษา: แผนภาพ ER สำหรับไลบรารีวิดีโอ "MyFlix"

ตอนนี้มาทำงานกับระบบฐานข้อมูล MyFlix Video Library เพื่อช่วยให้เข้าใจแนวคิดของไดอะแกรม ER กัน เราจะใช้ฐานข้อมูลนี้สำหรับการลงมือปฏิบัติทั้งหมดในช่วงที่เหลือของบทช่วยสอนนี้

MyFlix เป็นองค์กรธุรกิจที่ให้เช่าภาพยนตร์แก่สมาชิก MyFlix ได้จัดเก็บบันทึกด้วยตนเอง ขณะนี้ฝ่ายบริหารต้องการย้ายไปที่ DBMS

มาดูขั้นตอนในการพัฒนาแผนภาพ EER สำหรับฐานข้อมูลนี้กัน

  1. ระบุเอนทิตีและกำหนดความสัมพันธ์ที่มีอยู่ระหว่างกัน
  2. แต่ละเอนทิตี คุณลักษณะ และความสัมพันธ์ควรมีชื่อที่เหมาะสมซึ่งบุคคลที่ไม่ใช่ด้านเทคนิคสามารถเข้าใจได้ง่ายเช่นกัน
  3. ความสัมพันธ์ไม่ควรเชื่อมโยงถึงกันโดยตรง ความสัมพันธ์ควรเชื่อมโยงเอนทิตี
  4. แต่ละแอตทริบิวต์ในเอนทิตีที่กำหนดควรมีชื่อไม่ซ้ำกัน

เอนทิตีในไลบรารี “MyFlix”

หน่วยงานที่จะรวมอยู่ในของเรา แผนภาพเอ้อ มี;

  • สมาชิก – เอนทิตีนี้จะเก็บข้อมูลสมาชิก
  • Movies – หน่วยงานนี้จะเก็บข้อมูลเกี่ยวกับภาพยนตร์
  • หมวดหมู่ – เอนทิตีนี้จะเก็บข้อมูลที่จัดภาพยนตร์ไว้ในหมวดหมู่ต่างๆ เช่น “ละคร” “แอ็คชั่น” และ “มหากาพย์” เป็นต้น
  • เช่าภาพยนตร์ – นิติบุคคลนี้จะเก็บข้อมูลเกี่ยวกับภาพยนตร์ที่เช่าให้กับสมาชิก
  • การชำระเงิน – นิติบุคคลนี้จะเก็บข้อมูลเกี่ยวกับการชำระเงินที่ทำโดยสมาชิก

การกำหนดความสัมพันธ์ระหว่างเอนทิตี

สมาชิกและภาพยนตร์

สิ่งต่อไปนี้ถือเป็นจริงเกี่ยวกับปฏิสัมพันธ์ระหว่างสองหน่วยงาน

  • สมาชิกสามารถเช่าภาพยนตร์ได้มากกว่าหนึ่งเรื่องในช่วงเวลาที่กำหนด
  • สมาชิกสามารถเช่าภาพยนตร์ได้มากกว่าหนึ่งคนในช่วงเวลาที่กำหนด

จากสถานการณ์ข้างต้น เราจะเห็นได้ว่าธรรมชาติของความสัมพันธ์เป็นแบบกลุ่มต่อกลุ่ม ฐานข้อมูลเชิงสัมพันธ์ไม่สนับสนุนความสัมพันธ์แบบกลุ่มต่อกลุ่ม เราจำเป็นต้องแนะนำเอนทิตีทางแยก- นี่คือบทบาทที่เอนทิตี MovieRentals เล่น มีความสัมพันธ์แบบหนึ่งต่อกลุ่มกับตารางสมาชิกและความสัมพันธ์แบบหนึ่งต่อกลุ่มกับตารางภาพยนตร์

เอนทิตีภาพยนตร์และหมวดหมู่

สิ่งต่อไปนี้ถือเป็นจริงเกี่ยวกับภาพยนตร์และหมวดหมู่

  • ภาพยนตร์สามารถอยู่ในหมวดหมู่เดียวเท่านั้น แต่หมวดหมู่สามารถมีภาพยนตร์ได้มากกว่าหนึ่งเรื่อง

เราสามารถสรุปได้ว่าธรรมชาติของความสัมพันธ์ระหว่างหมวดหมู่และตารางภาพยนตร์เป็นแบบหนึ่งต่อกลุ่ม

สมาชิกและหน่วยงานการชำระเงิน

สิ่งต่อไปนี้ถือเป็นจริงเกี่ยวกับสมาชิกและการชำระเงิน

  • สมาชิกสามารถมีได้เพียงบัญชีเดียว แต่สามารถชำระเงินได้หลายรายการ

เราสามารถสรุปได้ว่าธรรมชาติของความสัมพันธ์ระหว่างสมาชิกและหน่วยงานการชำระเงินเป็นแบบหนึ่งต่อกลุ่ม

ตอนนี้เรามาสร้างโมเดล EER โดยใช้ MySQL ม้านั่งทำงานของช่างเครื่อง

ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร MySQL โต๊ะทำงาน คลิก – ปุ่ม “+”

การกำหนดความสัมพันธ์ระหว่างเอนทิตี

Double คลิกที่ปุ่มเพิ่มไดอะแกรมเพื่อเปิดพื้นที่ทำงานสำหรับไดอะแกรม ER

การกำหนดความสัมพันธ์ระหว่างเอนทิตี

หน้าต่างต่อไปนี้จะปรากฏขึ้น

การกำหนดความสัมพันธ์ระหว่างเอนทิตี

มาดูวัตถุสองชิ้นที่เราจะใช้งานกัน

  • การกำหนดความสัมพันธ์ระหว่างเอนทิตีวัตถุตารางช่วยให้เราสามารถสร้างเอนทิตีและกำหนดคุณลักษณะที่เกี่ยวข้องกับเอนทิตีนั้นได้
  • การกำหนดความสัมพันธ์ระหว่างเอนทิตีปุ่มความสัมพันธ์ของสถานที่ช่วยให้เราสามารถกำหนดความสัมพันธ์ระหว่างเอนทิตีได้

เหตุการณ์ สมาชิก' เอนทิตี้จะมีคุณลักษณะต่อไปนี้

  • หมายเลขสมาชิก
  • ชื่อเต็ม
  • เพศ
  • วันเดือนปีเกิด
  • ที่อยู่ทางกายภาพ
  • รหัสไปรษณีย์

ตอนนี้เรามาสร้างตารางสมาชิกกันดีกว่า

1.ลากวัตถุตารางจากแผงเครื่องมือ

2.วางลงในพื้นที่ทำงาน เอนทิตีชื่อตารางที่ 1 ปรากฏขึ้น

3.Double คลิกที่มัน หน้าต่างคุณสมบัติที่แสดงด้านล่างจะปรากฏขึ้น

การกำหนดความสัมพันธ์ระหว่างเอนทิตี

ต่อไป ,

  1. เปลี่ยนตารางที่ 1 เป็นสมาชิก
  2. แก้ไขค่าเริ่มต้น idtable1 เป็น member_number
  3. คลิกที่บรรทัดถัดไปเพื่อเพิ่มฟิลด์ถัดไป
  4. ทำเช่นเดียวกันกับแอตทริบิวต์ทั้งหมดที่ระบุในเอนทิตีของสมาชิก

หน้าต่างคุณสมบัติของคุณควรมีลักษณะเช่นนี้

การกำหนดความสัมพันธ์ระหว่างเอนทิตี

ทำซ้ำขั้นตอนข้างต้นสำหรับเอนทิตีที่ระบุทั้งหมด

ตอนนี้พื้นที่ทำงานไดอะแกรมของคุณควรมีลักษณะเหมือนกับที่แสดงด้านล่าง

การกำหนดความสัมพันธ์ระหว่างเอนทิตี

มาสร้างความสัมพันธ์ระหว่างสมาชิกและการเช่าภาพยนตร์

  1. เลือกความสัมพันธ์ของสถานที่โดยใช้คอลัมน์ที่มีอยู่ด้วย
  2. คลิกที่ member_number ในตารางสมาชิก
  3. คลิกที่ Reference_number ในตาราง MovieRentals

การกำหนดความสัมพันธ์ระหว่างเอนทิตี

ทำซ้ำขั้นตอนข้างต้นสำหรับความสัมพันธ์อื่นๆ ไดอะแกรม ER ของคุณควรมีลักษณะเช่นนี้ –

สรุป

  • ER แบบเต็มคือแผนผังเอนทิตีและความสัมพันธ์ พวกเขามีบทบาทสำคัญในการ การออกแบบฐานข้อมูล กระบวนการ. พวกเขาทำหน้าที่เป็นเครื่องมือสื่อสารที่ไม่ใช่ด้านเทคนิคสำหรับบุคคลที่มีความรู้ด้านเทคนิคและไม่ใช่ด้านเทคนิค
  • เอนทิตีเป็นตัวแทนของสิ่งต่าง ๆ ในโลกแห่งความเป็นจริง พวกเขาสามารถเป็นแนวความคิดเป็นใบสั่งขายหรือทางกายภาพเช่นลูกค้า
  • เอนทิตีทั้งหมดจะต้องได้รับชื่อที่ไม่ซ้ำ
  • โมเดล ER ยังช่วยให้ผู้ออกแบบฐานข้อมูลสามารถระบุและกำหนดความสัมพันธ์ที่มีอยู่ระหว่างเอนทิตีได้

แบบจำลอง ER ทั้งหมดแนบมาด้านล่าง คุณสามารถนำเข้ามันมาได้เลย MySQL ม้านั่งทำงานของช่างเครื่อง

คลิกที่นี่เพื่อดาวน์โหลดแบบจำลอง ER