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 และในทางกลับกัน