ขั้นตอนการพัฒนาระบบฐานข้อมูล

การออกแบบฐานข้อมูลโดยใช้โมเดลแบบE-R

 

ในการเขียน E-R Diagram จะต้องทำความเข้าใจเกี่ยวกับส่วนประกอบต่าง ๆ ของ E-R ดังต่อไปนี้

– Entity
entity แทนที่ สิ่ง ซึ่งอาจจะเป็นทั้งคน วัตถุ สิ่งของ หรือสิ่งซึ่งเป็นนามธรรมจับต้องไม่ได้ ใช้แทนที่สิ่งในโลกความเป็นจริงแต่ละ entity แทนที่ด้วยชื่อของ entity ในรูปสี่เหลี่ยมผืนผ้า

– Attribute
attributes ใช้แสดงถึงคุณสมบัติของ entity เช่น ชื่อ นามสกุล  เลขประจำตัว  ที่อยู่ ฯลฯ แทนที่ด้วยชื่อของ attribute ในรูปวงรี

e-r1

จากภาพข้างบนแสดงถึง entity ที่ชื่อ Customer ซึ่งจะแสดงชื่อ entity อยู่ในรูปสี่เหลี่ยมผืนผ้า
ส่วน attribute จะแสดงชื่อ attribute อยู่ในรูปวงรี ซึ่งเชื่อมโยงกับ entity ด้วยเส้นตรงที่ลากเชื่อมระหว่าง entity และ attribute

Key attribute
คือ attribute ที่ถูกกำหนดให้เป็น key ของ entity โดยแทนที่ด้วย attribute ที่ถูกขีดเส้นใต้ จากในภาพ account Id ถูกขีดเส้นใต้เพื่อแสดงว่า attribute นี้ถูกใช้เป็น key ของ entity Customer

Multi-valued attribute
คือ attribute ที่มีค่าบรรจุอยู่มากกว่าหนึ่งค่า โดยแทนที่ด้วยวงกลมรูปไข่ซ้อนกันสองวง จากในภาพ attribute ที่ชื่อ otherUsers เป็น multi-valued attribute หมายถึง Customer สามารถมีผู้ใช้คนอื่น ๆ ที่ใช้บัญชีของ Customer ได้ (ผู้ใช้คนอื่นอาจจะเป็นญาติกับ Customer เช่น ลูก, ภรรยา, น้อง)

Derived attribute
คือ attribute ที่ค่าของมันได้มาจากการคำนวณของ attribute อื่น โดยแทนที่ด้วยวงกลมรูปไข่ที่เป็นเส้นประ  จากในภาพ attribute ที่ชื่อ numberRentals หรือจำนวนที่เช่าซึ่งได้มาจากการรวมจำนวนสินค้าที่เช่าทั้งหมดเข้าด้วยกัน

Composite attribute
คือ attribute ที่สามารถแยกออกเป็น attribute ย่อย ๆ ได้หลาย attribute แทนที่โดยชื่อ attribute ใน วงกลมรูปไข่ที่มีเส้นตรงลากไปเชื่อมโยงกับ attribute หลัก จากในภาพ attribute ที่ชื่อ address สามารถแยกออกเป็น attribute ย่อยที่ชื่อ street, city, state, zipcode  ได้อีก

Relationship Types
ใช้แสดงความสัมพันธ์ระหว่าง entity โดยแทนที่ด้วยรูปสี่เหลี่ยมข้าวหลามตัด ดังในภาพข้างล่าง Store  Owns (เป็นเจ้าของ)  Video (ในกรณีที่อ่านจากซ้ายไปขวา) หรือ Video IsOwnedBy (ถูกเป็นเจ้าของโดย) Store (ในกรณีที่อ่านจากขวาไปซ้าย)  พึงสังเกตุว่าชื่อของ relationship types จะต้องเป็นคำกริยาเสมอ  และความสัมพันธ์สามารถมี attribute ของตัวเองได้ เช่นในภาพ ความสัมพันธ์ Owns มี attribute คือ purchase Date และ cost

e-r2

Cardinality Constraints
ใช้แสดงถึงข้อกำหนดของความสัมพันธ์ระหว่าง entity  แบ่งออกเป็นสองแบบคือ 

Cardinality ratio
ใช้แสดงถึงอัตราส่วนของความสัมพันธ์ แทนที่ด้วยตัวเลข 1, M และ N
1 :  1        แทนความสัมพันธ์แบบหนึ่งต่อหนึ่ง
1 :  N        แทนความสัมพันธ์แบบหนึ่งต่อหลาย
M : N        แทนความสัมพันธ์แบบหลายต่อหลาย

Participation
ใช้แสดงการมีส่วนร่วมในความสัมพันธ์ของสมาชิกใน entity แทนที่ด้วยเส้นตรงหรือเส้นคู่
total  (เส้นคู่)           ทุก ๆ สมาชิกที่อยู่ใน entity จะต้องอยู่ในความสัมพันธ์ทั้งหมด
partial  (เส้นเดี่ยว)      บางส่วนของสมาชิกที่อยู่ใน entity เท่านั้นที่อยู่ในความสัมพันธ์

จากภาพข้างล่าง Store มีความสัมพันธ์ Owns กับ Video  โดยหนึ่ง Store สามารถเป็นเจ้าของ Video ได้จำนวนหลาย ๆ Video   แต่ว่าแต่ละ Video สามารถถูกเป็นเจ้าของได้โดย Store เพียงหนึ่ง Store เท่านั้น และแต่ละ Store อาจจะมี Video อยู่ในร้านหรือไม่มีก็ได้ (เส้นเดี่ยว)  ในขณะที่ Video ทุก ๆ ม้วนจะต้องถูกเป็นเจ้าของโดยร้านค้าหนึ่งร้านเสมอ (เส้นคู่)

e-r3