ER Model - แนวคิดพื้นฐาน

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

เอนทิตี

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

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

คุณลักษณะ

เอนทิตีถูกแสดงโดยคุณสมบัติของมันที่เรียกว่า attributes. แอตทริบิวต์ทั้งหมดมีค่า ตัวอย่างเช่นเอนทิตีนักเรียนอาจมีชื่อชั้นและอายุเป็นแอตทริบิวต์

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

ประเภทของคุณสมบัติ

  • Simple attribute- แอตทริบิวต์อย่างง่ายคือค่าอะตอมซึ่งไม่สามารถแบ่งออกได้อีก ตัวอย่างเช่นหมายเลขโทรศัพท์ของนักเรียนคือค่าอะตอม 10 หลัก

  • Composite attribute- แอตทริบิวต์คอมโพสิตประกอบด้วยแอตทริบิวต์ง่าย ๆ มากกว่าหนึ่งรายการ ตัวอย่างเช่นชื่อเต็มของนักเรียนอาจมี first_name และ last_name

  • Derived attribute- แอตทริบิวต์ที่ได้รับคือแอตทริบิวต์ที่ไม่มีอยู่ในฐานข้อมูลทางกายภาพ แต่ค่าของมันได้มาจากแอตทริบิวต์อื่น ๆ ที่มีอยู่ในฐานข้อมูล ตัวอย่างเช่น average_salary ในแผนกไม่ควรถูกบันทึกลงในฐานข้อมูลโดยตรง แต่จะได้รับมาแทน อีกตัวอย่างหนึ่งอายุอาจได้มาจาก data_of_birth

  • Single-value attribute- แอตทริบิวต์ค่าเดียวประกอบด้วยค่าเดียว ตัวอย่างเช่น - Social_Security_Number

  • Multi-value attribute- แอตทริบิวต์หลายค่าอาจมีมากกว่าหนึ่งค่า ตัวอย่างเช่นบุคคลสามารถมีหมายเลขโทรศัพท์ email_address ฯลฯ ได้มากกว่าหนึ่งหมายเลข

ประเภทแอตทริบิวต์เหล่านี้สามารถรวมกันได้เช่น -

  • แอตทริบิวต์มูลค่าเดียวที่เรียบง่าย
  • คุณลักษณะหลายมูลค่าที่เรียบง่าย
  • แอตทริบิวต์มูลค่าเดียวแบบผสม
  • แอตทริบิวต์หลายค่าแบบผสม

ชุดเอนทิตีและคีย์

คีย์คือแอตทริบิวต์หรือชุดของแอตทริบิวต์ที่ระบุเอนทิตีแบบไม่ซ้ำกันระหว่างชุดเอนทิตี

ตัวอย่างเช่นจำนวน roll_number ของนักเรียนทำให้สามารถระบุตัวตนได้ในหมู่นักเรียน

  • Super Key - ชุดของแอตทริบิวต์ (หนึ่งรายการขึ้นไป) ที่รวมระบุเอนทิตีในชุดเอนทิตี

  • Candidate Key- ซูเปอร์คีย์ขั้นต่ำเรียกว่าคีย์ตัวเลือก ชุดเอนทิตีอาจมีคีย์ผู้สมัครมากกว่าหนึ่งคีย์

  • Primary Key - คีย์หลักเป็นคีย์ตัวเลือกหนึ่งที่ผู้ออกแบบฐานข้อมูลเลือกเพื่อระบุชุดเอนทิตีโดยไม่ซ้ำกัน

ความสัมพันธ์

การเชื่อมโยงระหว่างเอนทิตีเรียกว่าความสัมพันธ์ ตัวอย่างเช่นพนักงานworks_at แผนกนักเรียน enrollsในหลักสูตร ในที่นี้ Works_at และ Enrolls เรียกว่าความสัมพันธ์

ชุดความสัมพันธ์

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

ระดับความสัมพันธ์

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

  • ไบนารี = องศา 2
  • Ternary = ระดับ 3
  • n-ary = องศา

การทำแผนที่พระคาร์ดินัล

Cardinality กำหนดจำนวนเอนทิตีในชุดเอนทิตีหนึ่งซึ่งสามารถเชื่อมโยงกับจำนวนเอนทิตีของชุดอื่นผ่านชุดความสัมพันธ์

  • One-to-one - เอนทิตีหนึ่งรายการจากชุดเอนทิตี A สามารถเชื่อมโยงกับเอนทิตีของเอนทิตีชุด B ได้มากที่สุดหนึ่งรายการและในทางกลับกัน

  • One-to-many - เอนทิตีหนึ่งจากเอนทิตีชุด A สามารถเชื่อมโยงกับเอนทิตีของเอนทิตีชุด B ได้มากกว่าหนึ่งเอนทิตีอย่างไรก็ตามเอนทิตีจากเอนทิตีเซ็ต B สามารถเชื่อมโยงกับเอนทิตีได้มากที่สุดหนึ่งเอนทิตี

  • Many-to-one - มากกว่าหนึ่งเอนทิตีจากชุดเอนทิตี A สามารถเชื่อมโยงกับเอนทิตีของเอนทิตีชุด B ได้มากที่สุดหนึ่งรายการอย่างไรก็ตามเอนทิตีจากเอนทิตีชุด B สามารถเชื่อมโยงกับเอนทิตีมากกว่าหนึ่งเอนทิตีจากเอนทิตีเซต A

  • Many-to-many - หนึ่งเอนทิตีจาก A สามารถเชื่อมโยงกับมากกว่าหนึ่งเอนทิตีจาก B และในทางกลับกัน