ความส มพ นธ แบบกล มต อกล ม many-to-many relationships

110

หนว่ ยท่ี 7 แบบจําลองความสมั พนั ธร์ ะหวา่ งข้อมูล

หนว่ ยที่

แบบจาํ ลองความสมั พันธ์ระหวา่ งขอ้ มูล

ZZZ สาระการเรยี นรู้

1. องค์ประกอบของแบบจาํ ลองความสมั พนั ธร์ ะหวา่ งข้อมูล (Entity Relationship Model)

2. ความสัมพนั ธร์ ะหวา่ งเอนทิต้ี 3. การออกแบบฐานข้อมูลโดยใชแ้ บบจําลองความสัมพนั ธร์ ะหวา่ งข้อมลู 4. การแปลง E-R Diagram ใหเ้ ปน็ โครงสร้างตาราง (Relational Schema) 5 พจนานกุ รมข้อมลู (Data dictionary)

ZZZ จุดประสงคก์ ารเรียนรู้

จุดประสงคท์ วั่ ไป 1. เพ่อื ใหน้ ักศึกษาไดร้ ู้และเขา้ ใจเกยี่ วกบั องค์ประกอบของแบบจาํ ลองความสมั พนั ธ์ ระหว่างข้อมลู (Entity Relationship Model) ไดถ้ ูกตอ้ ง 2. เพ่อื ให้นักศึกษาไดร้ แู้ ละเขา้ ใจเกยี่ วกบั ความสมั พันธ์ระหว่างเอนทิตีไ้ ดถ้ ูกต้อง 3. เพ่ือใหน้ กั ศึกษาไดร้ ู้และเข้าใจเก่ยี วกบั การออกแบบฐานขอ้ มลู โดยใช้แบบจําลอง ความสัมพันธร์ ะหว่างขอ้ มลู ไดถ้ ูกต้อง 4. เพื่อให้นกั ศกึ ษาไดร้ ้แู ละเข้าใจเกีย่ วกับการแปลง E-R Diagram ให้เป็นโครงสรา้ ง ตาราง (Relational Schema) ได้ถกู ต้อง 5. เพื่อใหน้ กั ศกึ ษาได้รู้และเข้าใจเกยี่ วกับพจนานุกรมข้อมูล (Data dictionary) ไดถ้ กู ต้อง

จุดประสงคเ์ ชงิ พฤติกรรม 1. นักศกึ ษาสามารถบอกองค์ประกอบของแบบจําลองความสัมพนั ธ์ระหว่างข้อมลู ได้ 2. นักศกึ ษาสามารถบอกประเภทของความสมั พนั ธ์ระหว่างเอนทิตไี้ ด้ 3. นักศกึ ษาสามารถอธบิ ายข้ันตอนการออกแบบฐานข้อมลู โดยใช้แบบจําลอง ความสมั พนั ธ์ระหวา่ งข้อมูลได้

3204-2005 ระบบฐานขอ้ มลู

111

หน่วยที่ 7 แบบจําลองความสัมพนั ธร์ ะหวา่ งข้อมลู

4. นักศกึ ษาสามารถอธิบายขน้ั ตอนการแปลง E-R Diagram ให้เปน็ โครงสรา้ งตารางได้ 5. นกั ศกึ ษาสามารถอธบิ ายขน้ั ตอนการจดั ทาํ พจนานกุ รมขอ้ มลู (Data dictionary) ได้

ZZZ กจิ กรรมการเรยี นการสอน

.

1. ครใู ห้นกั ศึกษาทาํ แบบทดสอบกอ่ นเรยี น 2. ครอู ธบิ ายองค์ประกอบของแบบจําลองความสัมพันธร์ ะหว่างขอ้ มลู

(Entity Relationship Model) 3. ครูอธิบายความสมั พนั ธร์ ะหวา่ งเอนทติ ้ี 4. ครูอธิบายการออกแบบฐานข้อมูลโดยใชแ้ บบจาํ ลองความสมั พนั ธร์ ะหวา่ งขอ้ มลู 5. ครอู ธิบายการแปลง E-R Diagram ใหเ้ ป็นโครงสร้างตาราง (Relational Schema) 6. ครูอธิบายการจดั ทําพจนานุกรมขอ้ มูล (Data dictionary) 7. ครใู ห้นกั ศกึ ษาสอบถามและครตู อบข้อซักถาม 8. ครูใหน้ ักศึกษาทําแบบฝกึ หัดทา้ ยหน่วยและแบบทดสอบหลงั เรยี น 9. ครใู ห้นักศกึ ษาร่วมกนั ตรวจแบบฝกึ หดั ท้ายหน่วยและแบบทดสอบกอ่ นเรยี น

และหลงั เรียน 10. ครเู ปรียบเทยี บคะแนนแบบทดสอบก่อนเรยี นและหลังเรยี นเพอื่ ใชเ้ ปน็ ข้อมลู ในการ

ปรับปรุงการเรียนการสอนในคร้งั ต่อไป

ZZZ สื่อการเรียนการสอน

1. แผนการจดั การเรยี นรู้ 2. ตวั อย่างระบบงานจริงการออกแบบฐานขอ้ มูลโดยใชแ้ บบจําลองความสมั พนั ธ์

ระหวา่ งขอ้ มลู 3. สื่อ Power Point 4. แหลง่ อินเทอร์เนต็ สาํ หรับศึกษาเพ่ิมเตมิ http://www.payom.bctsakon.com

ZZZ การประเมนิ ผล

1. ประเมนิ ผลจากแบบทดสอบหลังเรยี น 2. ประเมนิ ผลจากการปฏิบตั ติ ามตัวอยา่ ง 3. ประเมนิ ผลจากความต้งั ใจ และความสนใจในการเรยี น

3204-2005 ระบบฐานขอ้ มลู

112

หนว่ ยท่ี 7 แบบจําลองความสัมพันธ์ระหว่างข้อมูล

แบบจําลองความสมั พนั ธ์ระหว่างขอ้ มูล

การออกแบบฐานข้อมูลเป็นขั้นตอนท่ีมีความสําคัญท่ีสุดในการพัฒนาระบบฐานข้อมูล ปัจจุบัน นิยมใช้แบบจําลองความสัมพันธ์ระหว่างข้อมูล E-R (Entity Relationship Model) ซึ่งเป็นเคร่ืองมือ ในการออกแบบฐานขอ้ มลู นําเสนอโดย Peter Chen ในปี ค.ศ.1976 โดยมีวัตถุประสงค์เพ่ือนําเสนอ โครงสร้างของฐานข้อมูลในระดับแนวความคิดในลักษณะของแผนภาพ (Diagram) ที่มีโครงสร้างท่ี ง่ายต่อการทําความเข้าใจ ทําให้สามารถมองเห็นภาพรวมของเอนทิต้ีท้ังหมดในระบบ รวมถึง ความสัมพันธ์ระหว่างเอนทิตี้ด้วย เพ่ือนําเสนอต่อผู้ใช้งาน และเพื่อให้มั่นใจว่าข้อมูลในระบบงานใหม่ มีความถูกต้อง และครบถ้วน ตรงตามความต้องการของผ้ใู ชร้ ะบบอย่างแท้จรงิ

ในหน่วยที่ 7 นี้จะกล่าวถึงแนวคิดเก่ียวกับองค์ประกอบของแบบจําลองความสัมพันธ์ ระหว่างข้อมูล (Entity Relationship Model) ความสัมพันธ์ระหว่างเอนทิตี้ การออกแบบฐานข้อมูล โดยใช้แบบจําลองความสัมพันธ์ระหว่างข้อมูล การแปลง E-R Diagram ให้เป็นโครงสร้างตาราง และ พจนานกุ รมขอ้ มลู (Data Dictionary) ซ่งึ มรี ายละเอยี ดดงั นี้

1. องค์ประกอบของแบบจาํ ลองความสมั พันธ์ระหวา่ งข้อมูล

(Entity Relationship Model) E–R Model เป็นการออกแบบในระดับแนวคิด (Conceptual Design) ในลักษณะจากบนลง ล่าง (Top-Down Strategy) โดยผลจากการออกแบบฐานข้อมูล จะได้เค้าร่างในระดับแนวคิดที่ ประกอบดว้ ย 1.1 เอนทิตี้ 1.2 แอททริบวิ ต์ 1.3 ความสัมพันธ์

1.1 เอนทิตี้ (Entity)

เอนทิตี้ (Entity) ใช้อ้างอิงถึง บุคคล สิ่งของ หรือ สถานท่ี ได้แก่ สิ่งต่างๆ ท่ีไม่สามารถ ระบุได้ในความเป็นจริง ซึ่งอาจเป็นส่ิงท่ีจับต้องได้ หรืออยู่ในรูปนามธรรมที่ไม่สามารถจับต้องได้ เช่น เอนทิตี้เชิงแนวความคิด (Concept) และเอนทิต้ีเชิงเหตุการณ์ (Event) จึงขอจําแนกเอนทิต้ีออกเป็น 3 กลมุ่ ดงั น้ี

  1. เอนทติ ้เี ชิงรูปธรรม ประกอบดว้ ย (1) เอนทิตท้ี ่ีเปน็ บุคคล เชน่ “นักศกึ ษา” “พนกั งาน” “ลูกค้า” เป็นตน้ (2) เอนทติ ีท้ ่ีเปน็ สถานท่ี เช่น “โรงเรยี น” “รา้ นคา้ ” “บริษทั ” เปน็ ต้น (3) เอนทิตีท้ เี่ ป็นวัตถุ เช่น “สนิ คา้ ” “รถยนต”์ “วีดโี อ” เปน็ ต้น

3204-2005 ระบบฐานขอ้ มูล

113

หนว่ ยที่ 7 แบบจาํ ลองความสมั พนั ธร์ ะหว่างขอ้ มลู

  1. เอนทิต้เี ชิงแนวความคิด เช่น “แผนก” “วชิ า” “คณะ” เปน็ ตน้
  2. เอนทิตเ้ี ชิงเหตุการณ์ เชน่ “การสงั่ ซอ้ื ” “การยมื ” “การคนื ” “การลงทะเบยี น”

เป็นต้น

1.2 แอททรบิ ิวต์ (Attribute) แอททริบวิ ต์ (Attribute) คอื ขอ้ มูลท่ใี ชอ้ ธบิ ายคุณสมบัตหิ รอื คณุ ลกั ษณะของเอนทติ ้ี

ซึ่งเอนทติ ีห้ นึง่ อาจประกอบไปด้วยแอททรบิ วิ ตไ์ ดม้ ากกว่า 1 แอททริบวิ ต์ เช่น เอนทติ ี้ “พนกั งาน” ประกอบดว้ ยแอททรบิ วิ ต์ รหัสประจาํ ตัว ชื่อพนกั งาน ตําแหนง่ เงินเดอื น เอนทิตี้ “ลูกคา้ ” ประกอบดว้ ยแอททรบิ วิ ต์ รหัสลกู คา้ ชอ่ื ลูกค้า ที่อยู่ เบอร์โทรศัพท์ เอนทิตี้ “สนิ คา้ ” ประกอบดว้ ยแอททริบวิ ต์ รหสั สนิ คา้ ชอ่ื สนิ คา้ ราคาตอ่ หน่วย

การแสดงเอนทิต้ี และแอททริบิวต์ในแผนภาพแบบจาํ ลอง E-R ใชส้ ญั ลกั ษณด์ ังนี้

เครือ่ งหมาย ความหมาย

เอนทิต้ีแบบปกติ (Regular Entity)

เอนทติ ้ีแบบอ่อน (Weak Entity)

ความสัมพันธ์ (Relationship)

ความสมั พันธร์ ะหว่างเอนทติ ้ีหนง่ึ กับเอนทิตี้ออ่ นแอ (Weak Entity)

เปน็ Composite Entity หรอื Gerund ท่จี ะแปลง ความสัมพันธข์ องเอนทิต้แี บบ M : N ใหเ้ ปน็ 1 : N

แอททรบิ ิวตแ์ บบปกติ (Simple Attribute หรอื Atomic Attribute)

แอททริบวิ ตท์ ท่ี าํ หนา้ ที่เป็นคยี ห์ ลกั (Key Attribute)

แอททรบิ ิวต์แบบมีหลายค่า (Multivalued Attribute)

3204-2005 ระบบฐานขอ้ มลู

114

หนว่ ยท่ี 7 แบบจําลองความสมั พันธร์ ะหว่างข้อมลู

เคร่อื งหมาย ความหมาย แอททริบิวตท์ แ่ี ปลค่ามา (Derived Attribute)

แอททริบิวต์ผสม (Composite Attribute)

11 ความสมั พันธข์ องข้อมลู ระหวา่ งเอนทติ ้ี E1 กับ E2 แบบ 1 : 1 แบบ Partial Participation E1 R E2 ความสมั พนั ธ์ของข้อมูลระหว่างเอนทติ ้ี E1 กบั E2 แบบ 1 : N แบบ Total Participation 1N ความสมั พนั ธข์ องขอ้ มูลระหวา่ งเอนทติ ้ี E1 กบั E2 แบบ M : N โดย E1 เปน็ Total Participation และ E1 R E2 E2 เป็น Partial Participation

MN

E1 R E2

เอนทติ ้ี ใช้สัญลักษณ์รปู ส่เี หลยี่ มผืนผา้ แทนเอนทติ ้ี และมีชอื่ เอนทติ ้ีเป็นคํานามกํากับอยู่ ในรปู ส่ีเหล่ยี มผนื ผ้า

แอททริบิวต์ ใชส้ ัญลกั ษณ์รปู วงรีแทนแอททรบิ วิ ต์ และมชี อ่ื แอททริบิวตท์ ี่เปน็ คํานาม กาํ กับอยใู่ นวงรี แสดงดงั รูปที่ 7.1

ช่อื นักศึกษา ระดับช้นั รหัสนกั ศกึ ษา แผนกวิชา

นักศกึ ษา

รปู ท่ี 7.1 แสดงเอนทิตี้และแอททรบิ วิ ตข์ องเอนทติ ้ี “นกั ศกึ ษา”

ประเภทของแอททริบวิ ต์ สามารถจาํ แนกประเภทของแอททรบิ ิวต์เปน็ 4 ประเภท ดังนี้

  1. แอททริบิวต์แบบธรรมดา (Simple of Atomic Attribute) หมายถึง แอททริบิวต์ท่ี ไมส่ ามารถแบง่ เป็นสว่ นประกอบย่อยๆ ไดอ้ กี เชน่ รหัสนักศึกษา และเพศ เปน็ ตน้
  2. แอททริบิวต์แบบผสม (Composite Attribute) หมายถึง แอททริบิวต์ที่สามารถ แบง่ ออกเป็นแอททรบิ วิ ต์ยอ่ ยๆ ทเ่ี ปน็ แอททรบิ ิวตแ์ บบธรรมดาได้

ทีอ่ ยู่ : อาจแบ่งเป็น 5 แอททริบวิ ตย์ อ่ ย ได้แก่ บา้ นเลขท่ี ตําบล อาํ เภอ จงั หวัด และรหัสไปรษณยี ์ แสดงดังรูปท่ี 7.2

3204-2005 ระบบฐานขอ้ มลู

115

หนว่ ยที่ 7 แบบจําลองความสัมพันธร์ ะหวา่ งขอ้ มูล

สกลุ ระดับชนั้ บ้านเลขที่ ชื่อ แผนกวิชา ตาํ บล รหัสนักศกึ ษา อาํ เภอ

นกั ศกึ ษา ท่ีอยู่

จังหวดั รหสั ไปรษณีย์

รปู ที่ 7.2 แสดงตวั อย่างแอททรบิ วิ ต์ท่ีอยทู่ ี่สามารถแบ่งออกเปน็ แอททรบิ ิวตย์ อ่ ยๆ

  1. แอททริบิวต์ท่ีมีค่าข้อมูลเพียงค่าเดียว (Single-Valued Attribute) หมายถึง แอททริบิวต์ที่มีค่าข้อมูล (Value) เพียงค่าเดียวเท่านั้น เช่น เอนทิต้ี “นักศึกษา” ประกอบด้วย แอททริบิวต์ รหัสนักศึกษา ชื่อนักศึกษา แผนกวิชา ระดับช้ัน ซ่ึงแต่ละแอททริบิวต์มีค่าข้อมูลเพียงค่า เดยี ว
  1. แอททริบิวต์ทม่ี ีค่าขอ้ มลู หลายค่า (Multi-Valued Attribute) หมายถึง แอททริบิวต์ ที่มีค่าข้อมูล (Valued) ได้มากกว่าหน่ึงค่า เช่น แอททริบิวต์ หมายเลขโทรศัพท์ เป็นสมาชิกของ เอนทิต้ี “นักศึกษา” ซึ่งนักศึกษาหน่ึงคนสามารถมีหมายเลขโทรศัพท์ได้มากกว่าหนึ่งหมายเลข แอททริบิวต์ท่ีมีค่าข้อมูลหลายค่าใช้สัญลักษณ์รูปวงรีเส้นคู่แทนแอททริบิวต์ และมีช่ือแอททริบิวต์ที่ เปน็ คํานามกํากบั อยู่ในวงรี แสดงดงั รูปที่ 7.3

ชื่อนกั ศกึ ษา

รหัสนักศกึ ษา หมายเลขโทรศัพท์

นักศึกษา

รปู ที่ 7.3 แสดงตัวอย่างหมายเลขโทรศพั ทท์ ีเ่ ปน็ แอททรบิ วิ ต์ทมี่ ีค่าขอ้ มูลไดห้ ลายคา่

แอททรบิ วิ ตท์ ี่เป็นตัวชีเ้ ฉพาะ (Identifier) ทาํ หนา้ ทช่ี ้ีเฉพาะถงึ สมาชิกของเอนทิต้ีได้มีคุณสมบัติ คือ เป็นแอททริบิวต์ที่มีค่าข้อมูลไม่ซํ้ากัน และค่าข้อมูลมีค่าคงท่ีตลอด เรียกแอททริบิวต์นี้ว่า ตัวชี้ เฉพาะ (Identifier)

3204-2005 ระบบฐานขอ้ มลู

116

หนว่ ยที่ 7 แบบจาํ ลองความสมั พนั ธร์ ะหวา่ งข้อมูล

ตวั อย่าง เอนทิต้ี “นกั ศกึ ษา” ประกอบดว้ ยแอททรบิ วิ ต์ รหัสนักศึกษา ชื่อนักศึกษา แผนกวิชา ระดับชั้น แอททริบิวต์ท่ีควรเลือกเป็นตัวช้ีเฉพาะ ได้แก่ รหัสนักศึกษา เนื่องจากแต่ละสมาชิกของ เอนทิตี้มีรหัสนักศึกษาไม่ซ้ํากัน และเป็นค่าคงท่ีไม่มีการเปล่ียนแปลงในแผนภาพ E-R จะทําการขีด เส้นใต้แอททรบิ วิ ต์ทที่ ําหนา้ ทีเ่ ปน็ ตัวชเ้ี ฉพาะ แสดงดังรปู ท่ี 7.4

ชอื่ นกั ศกึ ษา แผนกวิชา รหสั นักศึกษา ระดับชัน้

นกั ศกึ ษา

รปู ที่ 7.4 แสดงแอททริบวิ ต์รหสั พนักงานท่ที าํ หนา้ ท่เี ป็นตวั ชีเ้ ฉพาะ

1.3 ความสมั พนั ธ์ ฐานข้อมูลหน่ึงๆ อาจประกอบด้วยหลายเอนทิต้ี ซึ่งข้อมูลของแอททริบิวต์เหล่านี้

มีความสัมพันธ์กันในการสร้างแบบจําลองความสัมพันธ์ระหว่างข้อมูล จะต้องระบุว่าเอนทิตี้ต่างๆ มีความสัมพันธ์กันอย่างไรบ้าง เพ่ือประโยชน์ในการกําหนดโครงสร้างการเช่ือมโยงข้อมูล และลด ความซํ้าซ้อนของข้อมูล การเช่ือมโยงความสัมพันธ์ (Relationships) ระหว่างเอนทิต้ีหน่ึงกับอีก เอนทิต้หี น่งึ เชน่

เอนทิตี้ “นกั ศกึ ษา” ประกอบด้วยแอททริบิวต์ รหสั นกั ศกึ ษา ช่อื นกั ศึกษา รหัสแผนกวิชา

เอนทิตี้ “แผนกวชิ า” ประกอบด้วยแอททรบิ วิ ต์ รหสั แผนกวิชา ชือ่ แผนกวชิ า

ความสัมพันธ์ “สังกัด” ในแผนภาพแบบจําลอง E-R ใช้สัญลักษณ์รูปส่ีเหลี่ยมข้าวหลาม ตัด แทนความสัมพันธ์ระหว่างเอนทิต้ี และมีชื่อความสัมพันธ์กํากับอยู่ภายใน โดยช่ือของ ความสมั พนั ธ์จะเปน็ “คํากรยิ า” ซ่งึ แสดงถงึ การกระทาํ ระหวา่ งเอนทติ ีห้ นง่ึ ทีม่ ีต่ออีกเอนทิต้หี นง่ึ แสดงดังรปู ที่ 7.5

นกั ศกึ ษา N สงั กดั 1 แผนกวชิ า

รูปที่ 7.5 แสดงความสมั พันธ์ระหวา่ งเอนทิตี้นักศกึ ษาและเอนทติ ้ีแผนกวิชา

3204-2005 ระบบฐานขอ้ มูล

117

หน่วยท่ี 7 แบบจําลองความสมั พันธร์ ะหวา่ งขอ้ มลู

2. ความสัมพันธร์ ะหวา่ งเอนทิตี้

2.1 ประเภทของความสัมพนั ธร์ ะหวา่ งเอนทติ ้ี ความสัมพันธ์ระหว่างเอนทิต้ีเป็นความสัมพันธ์ระหว่างสมาชิกของเอนทิตี้ สามารถแบ่ง

ประเภทของความสมั พนั ธ์ระหวา่ งเอนทติ ี้ได้เป็น 3 ประเภท ดงั นี้

  1. ความสัมพนั ธแ์ บบหน่งึ ต่อหนึ่ง (one to one)
  2. ความสมั พนั ธแ์ บบหน่งึ ต่อกลมุ่ (one to many)
  3. ความสมั พันธแ์ บบกลมุ่ ตอ่ กลมุ่ (many to many)
  1. ความสัมพันธแ์ บบหน่งึ ต่อหนงึ่ (one to one) ความสัมพันธ์แบบหน่ึงต่อหนึ่งเป็นความสัมพันธ์ระหว่างสมาชิกหน่ึงรายการของ

เอนทติ ี้หนงึ่ กับสมาชิกเพยี งหนง่ึ รายการของอกี เอนทิต้หี น่งึ มีเอนทิตี้ 2 เอนทิตี้ คือ “อาจารย์” และ “คณะวิชา” สัมพันธ์กันด้วยความสัมพันธ์

ช่ือ “บริหาร” แบบ 1 : 1 หมายถึง อาจารย์ 1 คน จะสามารถเป็นหัวหน้าแผนกวิชาได้ 1 แผนกวิชา และในขณะเดียวกัน แผนกวิชาแต่ละแผนกวิชา ก็มีอาจารย์ท่ีทําหน้าที่เป็นหัวหน้าแผนกวิชาได้เพียง 1 คนเทา่ นนั้ สามารถแสดงความสัมพนั ธ์ แสดงดงั รูปท่ี 7.6

ชอ่ื นามสกลุ รหัสแผนกวชิ า ชื่อแผนกวชิ า รหัสอาจารย์ 1 บรหิ าร 1 แผนกวชิ า

อาจารย์

อาจารย์ ช่ือ นามสกลุ แผนกวิชา ช่อื แผนกวิชา รหสั อาจารย์ สมใจ สอนดี รหสั แผนกวชิ า คอมพวิ เตอร์ สมปอง อดทน การบัญชี 55101 สมหมาย อมิ่ บุญ 101 การตลาด 55102 102 55103 103

รูปที่ 7.6 แสดงความสมั พันธร์ ะหวา่ งเอนทิต้ีแบบหนึ่งต่อหนงึ่ (1:1)

  1. ความสัมพันธแ์ บบหนง่ึ ต่อกลมุ่ (one to many) ความสัมพันธ์แบบหนึ่งต่อกลุ่ม เป็นความสัมพันธ์ท่ีสมาชิกหนึ่งรายการของเอนทิต้ี

หนงึ่ มคี วามสมั พนั ธก์ ับสมาชิกหลายรายการในอีกเอนทติ หี้ นง่ึ มีเอนทิต้ี 2 เอนทิต้ี คือ “อาจารย์” และ “นักศึกษา” สัมพันธ์กันด้วยความสัมพันธ์

ช่ือ “เป็นท่ีปรึกษา” แบบ 1 : N หมายถึง อาจารย์ 1 คน จะสามารถมีนักศึกษาที่ปรึกษาได้มากกว่า

3204-2005 ระบบฐานขอ้ มูล

118

หนว่ ยท่ี 7 แบบจาํ ลองความสัมพันธร์ ะหวา่ งขอ้ มูล

1 คน และในขณะเดียวกัน นักศึกษาแต่ละคนต้องมีอาจารย์ท่ีปรึกษาคนใดคนหน่ึงเท่านั้น สามารถ แสดงความสัมพนั ธ์ แสดงดงั รูปท่ี 7.7

รหสั อาจารย์ ชื่อ นามสกุล รหัสนักศกึ ษา ชอื่ อาจารย์ นามสกุล 1 เปน็ ท่ปี รึกษา N นกั ศึกษา

อาจารย์ นักศึกษา ช่ือ นามสกลุ รหัสอาจารย์ ชือ่ นามสกลุ รหสั นักศกึ ษา สมหญิง เรยี นดี สดุ สวย รวยมาก 55101 สมใจ สอนดี 553001 ศักดช์ิ ัย ใจดี 55102 สมปอง อดทน 553002 พศิน สุดหลอ่ 55103 สมหมาย อ่ิมบุญ 553003 55104 สมฤดี นามดี 553004

รูปที่ 7.7 แสดงความสมั พันธ์ระหวา่ งเอนทิตแ้ี บบหนึง่ ตอ่ กลมุ่ (1:N)

  1. ความสมั พนั ธแ์ บบกลมุ่ ต่อกลุ่ม (many to many) ความสัมพันธ์แบบกลุ่มต่อกลุ่ม คือ ความสัมพันธ์ท่ีสมาชิกหลายรายการในเอนทิต้ี

หนึง่ มีความสัมพันธก์ บั สมาชิกหลายรายการในเอนทติ ห้ี นึง่ มีเอนทิตี้ 2 เอนทิต้ี คือ “นักศึกษา” และ “วิชาเรียน” สัมพันธ์กันด้วยความสัมพันธ์

ชื่อ “ลงทะเบียน” แบบ M : N กล่าวคือ นักศึกษา 1 คน จะสามารถลงทะเบียนเรียนในวิชาเรียนได้ มากกว่า 1 วิชา ในขณะเดียวกัน วิชาเรียนแต่ละวิชาก็สามารถมีนักศึกษาลงทะเบียนเรียนได้มากกว่า 1 คน เช่นกัน สามารถแสดงความสัมพนั ธ์ แสดงดงั รูปที่ 7.8

3204-2005 ระบบฐานขอ้ มลู

119

หน่วยที่ 7 แบบจาํ ลองความสมั พนั ธร์ ะหวา่ งข้อมลู

ช่ือ นามสกลุ รหัสวิชา ช่อื วิชา รหัสนักศึกษา หนว่ ยกิต M ลงทะเบยี น N นักศึกษา วิชาเรียน

นักศกึ ษา วชิ าเรยี น

รหัสนกั ศึกษา ช่อื นามสกลุ รหัสวิชา ชอ่ื วิชา หน่วยกติ 553001 สมหญงิ เรยี นดี 3205 วทิ ยาศาสตร์ 2 553002 สดุ สวย รวยมาก 3206 ภาษาไทย 2 553003 ศกั ด์ชิ ยั ใจดี 3207 องั กฤษ 3 553004 พศนิ สดุ หลอ่ 3208 คณติ ศาสตร์ 2

รปู ที่ 7.8 แสดงความสมั พนั ธ์ระหวา่ งเอนทิตี้แบบ Many-to-Many Relationship

3. การออกแบบฐานข้อมูลโดยใชแ้ บบจําลองความสมั พนั ธร์ ะหว่างข้อมลู

การออกแบบฐานข้อมูลโดยใช้แบบจําลองความสัมพันธ์ระหว่างข้อมูล (E-R Model) มีขั้นตอน ท่ีเกี่ยวข้องหลายขั้นตอน และต้องใช้ความรอบคอบในการออกแบบเพื่อให้ได้ E-R Diagram ที่ถูกต้อง เหมาะสมกับระบบงาน ในขั้นตอนการออกแบบฐานข้อมูลน้ี จะใช้ตัวอย่างฐานข้อมูลลงทะเบียน แสดงดงั ตารางท่ี 7.1

ขน้ั ตอนท่ี 1 กําหนดเอนทติ ้ี ขนั้ ตอนท่ี 2 กาํ หนดแอททรบิ ิวตข์ องแต่ละเอนทติ ้ี ข้ันตอนท่ี 3 กาํ หนดความสมั พนั ธ์ระหวา่ งเอนทติ ้ี (Relationships) ข้ันตอนท่ี 4 เขยี นเปน็ แบบจาํ ลองแผนภาพ Entity Relationship Diagram (ERD)

ตารางท่ี 7.1 แสดงตวั อย่างฐานข้อมูลลงทะเบยี น

รายวิชา ช่อื วิชา หนว่ ยกติ นกั ศึกษา ช่อื นกั ศึกษา รหัสวชิ า 2 รหัสนักศกึ ษา 3 100001 คอมพวิ เตอร์เบอ้ื งตน้ 3 54101001 นางสาววารุณี สนใจเรยี น 3 100002 หลักการเขยี นโปรแกรม 54101002 นายสรพงศ์ ตง้ั ใจเรียน

100003 ระบบฐานข้อมูล 54601001 นางสาวสดุ สวย เรยี นดี

100004 ระบบปฏบิ ัตกิ าร 54604001 นายสดุ หลอ่ ขยันเรียน

3204-2005 ระบบฐานขอ้ มลู

120

หนว่ ยที่ 7 แบบจําลองความสัมพนั ธ์ระหวา่ งขอ้ มลู

การลงทะเบยี น

รหัสนกั ศกึ ษา รหัสวิชา เกรด 54101001 100001 3 54101001 100002 1 54101002 100001 2 54101002 100002 2 54601001 100001 1 54601001 100002 1

จากตารางที่ 7.1 แสดงตัวอย่างฐานข้อมลู ลงทะเบียนเรียนของนกั ศกึ ษา สามารถนํามาสร้าง แบบจําลองข้อมลู ด้วย E-R Model โดยมีข้นั ตอนในการพัฒนาดงั นี้

ขนั้ ตอนท่ี 1 กาํ หนดเอนทิตี้ กําหนดเอนทิต้ีที่มีในระบบงาน โดยดูจากลักษณะหน้าที่ของระบบงาน ว่ามีรายละเอียดในการ ทํางานอย่างไร ในการกําหนดเอนทิต้ีจะต้องพิจารณาด้วยว่าเป็นเอนทิต้ีประเภทใด เช่น เป็นเอนทิต้ี แบบปกติ (Regular Entity) หรือว่าเป็นเอนทิตี้แบบอ่อน (Weak Entity) เช่น ฐานข้อมูลลงทะเบียน ประกอบด้วยเอนทิตรี้ ายวชิ า นกั ศกึ ษา และลงทะเบยี น แสดงดงั รปู ที่ 7.9

รายวิชา นักศึกษา

ลงทะเบยี น

รูปที่ 7.9 แสดงการกาํ หนดเอนทิต้ขี องฐานขอ้ มูลลงทะเบียน

ขน้ั ตอนท่ี 2 กําหนดแอททริบวิ ตข์ องแต่ละเอนทติ ้ี กําหนดแอททรบิ ิวต์ตา่ งๆ ของแตล่ ะเอนทิตี้ รวมท้งั พจิ ารณาแอททริบวิ ตท์ ี่จะทาํ หนา้ ทเ่ี ปน็ คยี ์ หลักของเอนทติ ้ีดว้ ย แสดงดงั รูปที่ 7.10 เอนทติ ้ี รายวิชา ประกอบด้วย รหสั วชิ า ชือ่ วชิ า หน่วยกติ เอนทติ ้ี นักศึกษา ประกอบดว้ ย รหสั นกั ศกึ ษา ชอื่ นกั ศกึ ษา เอนทิต้ี ลงทะเบียน ประกอบดว้ ย รหัสนกั ศึกษา รหัสวิชา เกรด

กําหนดคียห์ ลัก (Primary Key) เป็นการกาํ หนดคยี ข์ องแต่ละเอนทติ ี้วา่ ในแตล่ ะเอนทติ ใ้ี ช้ แอททริบิวตใ์ ดเปน็ คีย์หลกั โดยการขดี เส้นใตช้ ่อื แอททริบวิ ต์ท่ีเปน็ คยี ์หลัก เช่น

3204-2005 ระบบฐานขอ้ มูล

121

หน่วยท่ี 7 แบบจาํ ลองความสัมพนั ธ์ระหวา่ งข้อมลู

เอนทิต้ี รายวิชา มรี หัสวชิ า เป็นคยี ห์ ลัก เอนทติ ้ี นักศึกษา มีรหสั นกั ศึกษา เปน็ คียห์ ลกั เอนทติ ้ี ลงทะเบยี น มรี หสั นักศึกษา รหัสวิชา เปน็ คีย์หลัก

ชื่อวิชา ชื่อนกั ศกึ ษา นักศึกษา รหัสวชิ า หนว่ ยกิต รหสั นักศึกษา แผนกวิชา

รายวิชา

รหัสนักศกึ ษา ลงทะเบยี น เกรด รหัสวชิ า

รปู ท่ี 7.10 แสดงการกําหนดแอททริบิวตข์ องแต่ละเอนทติ ี้

ขัน้ ตอนที่ 3 กําหนดความสมั พันธร์ ะหวา่ งเอนทติ ้ี (Relationships) กาํ หนดความสัมพันธ์ระหว่างเอนทติ ี้วา่ มีความสัมพันธแ์ บบใดบ้าง ความสัมพนั ธ์แบบหนงึ่ ต่อ หนึง่ แบบหนง่ึ ตอ่ กล่มุ หรือแบบกลุ่มตอ่ กลมุ่ เชน่ เอนทิตร้ี ายวชิ า มีความสมั พนั ธก์ บั เอนทิตี้ลงทะเบียน แบบหนง่ึ ตอ่ กลุ่ม (1 : N) หมายความว่า รายวชิ า 1 รายวชิ า มกี ารลงทะเบยี นหลายครั้ง แสดงดงั รูปท่ี 7.11

รหสั นักศกึ ษา เกรด รหัสวชิ า ชื่อวิชา

ลงทะเบยี น N มกี ารลงทะเบียน 1 รายวชิ า

หนว่ ยกติ

รปู ท่ี 7.11 แสดงความสัมพนั ธเ์ อนทติ ้รี ายวิชากับเอนทติ ี้ลงทะเบียน แบบหนง่ึ ต่อกลมุ่ (1 : N) 3204-2005 ระบบฐานขอ้ มูล

122

หนว่ ยท่ี 7 แบบจาํ ลองความสมั พันธร์ ะหว่างข้อมูล

เอนทิต้นี กั ศึกษา มีความสมั พนั ธก์ บั เอนทติ ลี้ งทะเบียน แบบหนึง่ ตอ่ กล่มุ (1 : N) หมายความว่า นกั ศึกษา 1 คน ทาํ การลงทะเบยี นเรยี นหลายครัง้ แสดงดังรปู ท่ี 7.12

รหสั วิชา เกรด รหสั นักศึกษา ช่ือนักศึกษา

ลงทะเบยี น N ทําการลงทะเบยี น 1 นักศึกษา

แผนกวิชา

รปู ที่ 7.12 แสดงความสมั พนั ธเ์ อนทิตน้ี กั ศึกษากับเอนทติ ้ลี งทะเบียน แบบหนง่ึ ต่อกลุม่ (1 : N)

ขั้นตอนท่ี 4 เขยี นเปน็ แบบจําลองแผนภาพ Entity Relationship Diagram (ERD) นํารายละเอียดการออกแบบตั้งแต่ข้อที่ 1-3 มาวาดประกอบกันเป็น E-R Diagram กําหนด ความสัมพันธ์ระหว่างเอนทติ ้ี ทบทวนการออกแบบว่าถกู ตอ้ งหรือไม่ แสดงดังรปู ที่ 7.13

ชอ่ื วชิ า ชอ่ื นักศกึ ษา

รหัสวิชา หน่วยกิต รหสั นกั ศึกษา แผนกวิชา

รายวิชา นักศึกษา

1 1

มีการลงทะเบยี น ทําการลงทะเบียน

N ลงทะเบยี น N

เกรด

รปู ที่ 7.13 แสดงแบบจาํ ลองแผนภาพ Entity Relationship Diagram (ERD)

3204-2005 ระบบฐานขอ้ มูล

123

หนว่ ยท่ี 7 แบบจาํ ลองความสมั พันธ์ระหว่างข้อมูล

4. การแปลง E-R Diagram ให้เปน็ โครงสรา้ งตาราง (Relational Schema)

การเปลีย่ น E-R Diagram ให้เปน็ โครงสรา้ งตารางเชิงสมั พันธแ์ บง่ ออกเปน็ 3 กรณี ดังนี้ กรณที ่ี 1 แปลงเอนทติ ้ปี กติ (Regular Entity) กรณีท่ี 2 แปลงเอนทิต้ีแบบออ่ นแอ (Weak Entity) กรณีที่ 3 แปลงความสัมพนั ธ์ (Relationship)

กรณที ่ี 1 แปลงเอนทติ ี้ปกติ (Regular Entity) ใหเ้ ป็นโครงสรา้ งตาราง แสดงดังรูปท่ี 7.14 รูปที่ 7.15 และรูปที่ 716

รหสั นักศกึ ษา นักศึกษา รหัสนักศึกษา ชอ่ื นามสกุล ท่อี ยู่ ชอื่ นักศึกษา หรอื นามสกุล นักศกึ ษา (รหสั นักศึกษา, ชื่อ, นามสกลุ , ทอ่ี ย)ู่ ทีอ่ ยู่

รูปที่ 7.14 แสดงการแปลงเอนทติ ี้ “นกั ศกึ ษา” ใหเ้ ปน็ โครงสร้างตาราง

รหสั นกั ศึกษา นามสกลุ ถนน อําเภอ ชอ่ื เลขท่ี จงั หวัด นกั ศกึ ษา ทอ่ี ยู่

นักศึกษา รหัสนักศกึ ษา ชอ่ื นามสกลุ เลขที่ ถนน อําเภอ จงั หวัด

หรือ นักศกึ ษา (รหสั นักศึกษา, ชอื่ , นามสกุล, เลขท,ี่ ถนน, อําเภอ, จงั หวัด)

รูปท่ี 7.15 แสดงการแปลงเอนทิต้ี “นกั ศึกษา” ที่มี Composite Attribute ให้เป็นโครงสรา้ งตาราง

3204-2005 ระบบฐานขอ้ มลู

124

หนว่ ยท่ี 7 แบบจําลองความสัมพันธ์ระหว่างขอ้ มลู

เอนทิตที้ ่ีประกอบด้วย Multivalued Attribute ถ้าในเอนทิต้ีประกอบดว้ ย Multivalued Attribute ในการแปลง จะไดร้ ีเลชนั่ 2 รเี ลชั่น คือ รีเลช่ันแรกเป็นรีเลช่ันท่ีเกิดจากการแปลงเอนทิต้ีปกติและแอททริบิวต์ของเอนทิต้ี ยกเว้น แอททริบิวต์ที่เป็น Multivalue Attribute ส่วนรีเลชั่นที่ 2 ประกอบด้วย 2 แอททริบิวต์ คือ คีย์หลัก ของเอนทิต้ีและแอททริบิวต์ท่ีเป็น Multivalued Attribute ซึ่งท้ัง 2 แอททริบิวต์น้ีจะทําหน้าท่ีเป็น คยี ห์ ลกั ของรเี ลช่ันใหม่ สว่ นคียน์ อก (foreign key) ของรีเลช่นั ใหม่คอื แอททริบิวต์ท่ีเป็นคีย์หลักของ เอนทติ ี้ที่ยกมาดว้ ย จะเชอื่ มโยงไปยงั รีเลช่นั แรก แสดงดงั รปู ท่ี 7.16

ช่อื นามสกลุ ท่ีอยู่ รหสั นักศกึ ษา นกั ศกึ ษา โทรศพั ท์

นกั ศึกษา ที่อยู่ รหัสนกั ศึกษา ชอ่ื นามสกุล

โทรศพั ทน์ กั ศกึ ษา รหสั นกั ศึกษา โทรศัพท์

หรอื

นกั ศกึ ษา (รหสั นกั ศึกษา, ช่อื , นามสกุล, ทอี่ ยู่) โทรศัพทน์ ักศกึ ษา (รหัสนักศกึ ษา, โทรศัพท์)

รูปที่ 7.16 แสดงการแปลง เอนทิตี้ “นักศกึ ษา” ทีม่ ี Multivalued Attribute ให้เป็นโครงสรา้ งตาราง

3204-2005 ระบบฐานขอ้ มลู

125

หน่วยที่ 7 แบบจําลองความสัมพนั ธ์ระหว่างขอ้ มูล

กรณีท่ี 2 แปลงเอนทติ แ้ี บบออ่ นแอ (Weak Entity) แสดงดงั รปู ท่ี 7.17

รหสั นักศกึ ษา ชือ่ -นามสกุล ครง้ั ที่ คะแนน

นักศึกษา 1 มี N ผลการทดสอบ

นกั ศกึ ษา รหัสนักศึกษา ชือ่ -นามสกุล

ผลการทดสอบ คะแนน รหัสนักศึกษา คร้งั ที่

หรอื

นกั ศกึ ษา (รหัสนักศกึ ษา, ชอ่ื -นามสกลุ ) ผลการทดสอบ (รหัสนักศึกษา, คร้งั ท,ี่ คะแนน)

รูปท่ี 7.17 แสดงการแปลง เอนทิต้ี “ผลการทดสอบ” ให้เปน็ โครงสรา้ งตาราง

กรณีท่ี 3 แปลงความสัมพันธ์ (Relationship) ใหเ้ ปน็ Relational Schema

  1. การแปลงความสัมพันธแ์ บบ 1 : 1 ในการแปลงความสัมพันธ์แบบ 1:1 ไม่จาํ เปน็ ต้องสรา้ งรีเลชนั่ ขน้ึ ใหม่ สามารถ

แปลงโดยใช้วธิ ีการดงั นี้ ถ้าเป็นความสัมพันธ์แบบ Total participation หรือ Partial participation ท้ัง

สองฝ่ัง ให้นําเอาคีย์หลักของรีเลช่ันฝ่ังใดฝ่ังหนึ่งมาไว้ในรีเลชั่นอีกฝ่ัง เพ่ือทําหน้าท่ีเป็นคีย์นอกในการ เชื่อมโยงรีเลช่ัน ถ้ามีแอททริบิวต์เกิดข้ึนบนความสัมพันธ์ให้นําแอททริบิวต์น้ันไปไว้ในรีเลชั่นฝั่งท่ีมี คีย์นอก แสดงดังรปู ที่ 7.18

3204-2005 ระบบฐานขอ้ มูล

126

หน่วยท่ี 7 แบบจาํ ลองความสัมพนั ธร์ ะหว่างข้อมูล

รหสั อาจารย์ ชอ่ื -นามสกลุ วนั ทร่ี บั ตําแหนง่ รหสั แผนกวิชา ช่อื แผนกวชิ า บรหิ าร อาจารย์ 1 1 แผนกวชิ า

อาจารย์ รหสั อาจารย์ ช่ือ-นามสกุล

แผนกวิชา รหสั แผนกวิชา ชือ่ แผนกวชิ า รหัสอาจารย์ วันทร่ี บั ตาํ แหน่ง

รูปที่ 7.18 แสดงการแปลง ความสมั พันธ์ “บริหาร” แบบ 1 : 1 ให้เป็นโครงสรา้ งตาราง

  1. การแปลงความสมั พันธแ์ บบ 1 : N ในการแปลงความสัมพนั ธ์แบบ 1 : N ไมจ่ ําเป็นตอ้ งสร้างรเี ลช่ันขึ้นใหม่ สามารถ

แปลงโดยใชว้ ิธีการดังน้ี ถ้าเปน็ ความสัมพันธ์ทม่ี ีดกี รีแบบ Binary Relationship ใหน้ าํ คียห์ ลักฝ่งั

ความสัมพนั ธ์ 1 ไปไว้ทฝ่ี ่งั ความสมั พนั ธ์ N ทําหนา้ ท่ีเป็นคยี ์นอกของรเี ลชั่น ถา้ มแี อททริบิวตบ์ น ความสมั พนั ธใ์ หน้ าํ มาไว้ฝ่งั ทีม่ คี ยี ์นอก แสดงดงั รปู ที่ 7.19

รหสั แผนกวิชา ชอื่ แผนกวิชา รหสั นกั ศึกษา ชอื่ -สกุล

แผนกวิชา 1 สงั กดั N นักศึกษา

แผนกวชิ า รหัสแผนกวชิ า ชือ่ แผนกวชิ า

นักศึกษา รหัสนกั ศกึ ษา ชอ่ื -นามสกุล รหสั แผนกวิชา

รปู ท่ี 7.19 แสดงการแปลง ความสัมพนั ธ์ “สังกดั ” แบบ 1 : N ให้เป็นโครงสรา้ งตาราง

3204-2005 ระบบฐานขอ้ มูล

127

หนว่ ยที่ 7 แบบจาํ ลองความสัมพันธร์ ะหว่างขอ้ มูล

  1. การแปลงความสมั พันธแ์ บบ M : N ต้องสรา้ งรีเลชน่ั เพ่ิมขี้นอกี 1 รีเลชั่น สามารถแปลงโดยใชว้ ิธีการดังนี้ ถ้าเป็นความสัมพันธ์แบบ Binary Relationship สร้างรีเลช่ันใหม่ โดยเอาคีย์

หลักของทั้ง 2 รีเลชั่น มารวมกันเป็นคีย์หลักของรีเลชั่นใหม่ท่ีสร้างขึ้น ถ้าความสัมพันธ์มีแอททริบิวต์ เกิดข้นึ บนความสมั พันธใ หน้ าํ แอททรบิ ิวตน์ น้ั มาใสไ่ ว้ในรีเลชัน่ ใหม่ท่สี รา้ งข้ึนดว้ ย แสดงดงั รูปที่ 7.20

รหัสนักศึกษา ช่อื -นามสกุล เกรด รหสั วชิ า ชื่อวชิ า นกั ศึกษา M ลงทะเบียน N วชิ า

หนว่ ยกติ

นักศึกษา วิชา รหสั นกั ศกึ า ชอื่ -นามสกุล รหสั วิชา ชอ่ื วชิ า หนว่ ยกติ

ลงทะเบยี น เกรด รหัสนักศึกษา รหัสวิชา

รปู ท่ี 7.20 การแปลง ความสมั พันธ์ “ลงทะเบยี น” แบบ M : N ให้เปน็ โครงสร้างตาราง

5. พจนานุกรมขอ้ มูล (Data Dictionary)

การอธิบายรายละเอียดโครงสร้างของตารางเชิงสัมพันธ์ให้อยู่ในรูปแบบพจนานุกรมข้อมูล (Data Dictionary) จากตัวอย่างโครงสร้างของตารางแผนกวิชา วิชา นักศึกษา ลงทะเบียน ซ่ึงแต่ละ ตารางประกอบด้วยรายละเอยี ดดงั นี้

แผนกวิชา (รหสั แผนกวิชา, ช่ือแผนกวชิ า) วิชา (รหสั วชิ า, ช่อื วชิ า, จํานวนหน่วยกิต) นักศกึ ษา (รหสั นักศึกษา, ชอ่ื , นามสกุล, ระดบั ช้นั , ทอี่ ย,ู่ รหัสแผนกวิชา) ลงทะเบยี น (รหัสนักศึกษา , ภาคเรยี น, ปีการศึกษา, รหัสวชิ า, เกรด)

จากโครงสร้างของตารางแผนกวชิ า วชิ า นักศึกษา ลงทะเบียน ไดอ้ ธิบายรายละเอยี ดใหอ้ ยูใ่ น รูปแบบพจนานุกรมขอ้ มลู แสดงดงั ตารางที่ 7.2

3204-2005 ระบบฐานขอ้ มลู

128

หนว่ ยท่ี 7 แบบจําลองความสัมพันธ์ระหว่างข้อมลู

ตารางที่ 7.2 แสดงพจนานุกรมข้อมลู (Data dictionary) ของตารางแผนกวชิ า ตารางวิชา ตารางนกั ศึกษา และตารางลงทะเบียน

Table Name Attribute Description Data Size/ Null Key Reference Name Type Format

Department Depno รหัสแผนกวิชา CHAR 6 N PK

แผนกวิชา Depname ชื่อแผนกวชิ า VARCHAR 60 N

Depno รหัสแผนกวิชา CHAR 6 N FK Department

Subject Subno รหสั วชิ า CHAR 8 N PK

วชิ า Subname ชอ่ื วิชา VARCHAR 60 N

Subunit จาํ นวนหนว่ ยกิต Number 1 N

Student Stuno รหัสนักศกึ ษา CHAR 10 N PK

นักศกึ ษา Stufname ชื่อ VARCHAR 30 N

Stulname นามสกุล VARCHAR 30 N

Stulevel ระดับชั้น VARCHAR 20 N

Stuaddress ทอ่ี ยู่ VARCHAR 100 N

Depno รหสั แผนกวิชา CHAR 6 N FK Department

Register Reno รหสั นกั ศกึ ษา CHAR 10 N PK Student

ลงทะเบยี น Reterm ภาคเรยี น VARCHAR 1 N PK

Reyear ปีการศกึ ษา VARCHAR 4 N PK

Stuno รหสั วิชา CHAR 8 N PK Subject

Grade เกรด Number 1,1 N

จากตารางที่ 7.2 เป็นการอธิบายโครงสรา้ งของตาราง ซง่ึ ประกอบไปดว้ ย ช่อื ตาราง (Table Name) ชือ่ ฟิลด์ (Attribute Name) รายละเอยี ด (Description) ชนิดขอ้ มลู (Data Type) ขนาด จดั เก็บและรูปแบบ (Size/Format) คา่ วา่ ง (Null) ประเภทคีย์ (Key) การเช่อื มโยงข้อมลู ในตาราง (Reference)

3204-2005 ระบบฐานขอ้ มลู

129

หน่วยที่ 7 แบบจาํ ลองความสัมพนั ธร์ ะหว่างข้อมลู

ZZZ สรปุ

โมเดลแบบ E-R เป็นแนวคิดที่ใช้เป็นเครื่องมือในการนําเสนอ เพ่ือแสดงให้เห็นถึงเอนทิตี้ต่างๆ แอททริบิวต์ของแต่ละเอนทิต้ี และความสัมพันธ์ระหว่างเอนทิต้ี เป็นการออกแบบข้อมูลในระดับ แนวคิด (Conceptual Data Modeling) โดยแสดงถึงรายละเอียดและความสัมพันธ์ของข้อมูลต่างๆ ในระบบในลักษณะท่ีเป็นภาพรวม ซ่ึงเป็นประโยชน์ในด้านการรวบรวมและวิเคราะห์ข้อมูลว่ามี รายละเอียดและความสัมพันธ์อย่างไร ซ่ึงมีข้ันตอนการออกแบบฐานข้อมูลโดยใช้แบบจําลอง E-R มี ขั้นตอนดังนี้ คือ ศึกษาถึงลักษณะหน้าท่ีงานของระบบ แล้วนํามากําหนดเอนทิตี้ที่ควรจะมีอยู่ใน ฐานขอ้ มูล กําหนดประเภทของความสัมพันธ์ระหว่างเอนทิต้ีว่ามีความสัมพันธ์กันอย่างไรบ้าง กําหนด คุณลักษณะของเอนทิต้ีว่าควรจะมีรายละเอียดอะไรบ้าง กําหนดคีย์ของแต่ละเอนทิต้ีว่าจะใช้ แอททริบิวต์ใดเป็นคีย์หลักของเอนทิต้ีน้ันๆ ซ่ึงจะต้องเป็นรายละเอียดของข้อมูลท่ีมีค่าเป็นเอกลักษณ์ หรือค่าเฉพาะไม่ซํ้าซ้อนในเอนทิต้ีนั้นๆ กําหนดความสัมพันธ์ระหว่างเอนทิตี้ ออกแบบฐานข้อมูลโดย ใช้แบบจําลอง E-R โดยใช้สัญลักษณ์เป็นการอธิบายความสัมพันธ์ระหว่างข้อมูล ซึ่งเขียนเป็น แบบจําลองแผนภาพ Entity Relationship Diagram (ERD) จากนั้นก็แปลง (ERD) ให้อยู่ในรูปแบบ โครงสร้างตาราง (Relational Schema) ขั้นตอนสุดท้าย คือ อธิบายรายละเอียดโครงสร้างของ ฐานข้อมูลในรูปแบบพจนานุกรมข้อมูล (Data Dictionary)

3204-2005 ระบบฐานขอ้ มูล

130

หนว่ ยท่ี 7 แบบจําลองความสมั พนั ธ์ระหวา่ งขอ้ มลู

แบบฝึกหัดทา้ ยหนว่ ยที่ 7

คาํ สงั่ ใหน้ กั ศกึ ษาตอบคําถามตอ่ ไปนี้ (ให้เขียนคําตอบลงในสมุด)

1. จงบอกองค์ประกอบของแบบจาํ ลอง E-R ………………………………………………………………………………………………………………………………………

2. จงบอกความหมายขององคป์ ระกอบของแบบจําลอง E-R ………………………………………………………………………………………………………………………………………

3. จงบอกประเภทของความสัมพันธ์ พรอ้ มกบั ยกตัวอย่างประกอบ ………………………………………………………………………………………………………………………………………

4. จงบอกขัน้ ตอนการออกแบบฐานขอ้ มลู โดยใชแ้ บบจาํ ลอง E-R พรอ้ มอธิบาย ………………………………………………………………………………………………………………………………………

5. จงออกแบบฐานข้อมูลตามโครงสรา้ งตารางท่ีกําหนดมาใหใ้ นข้อที่ 5.1-5.2 พร้อมแสดง รายละเอียดเป็นขั้นตอน ดงั นี้

  1. ขน้ั ตอนการออกแบบด้วยแบบจาํ ลอง E-R
  2. ขน้ั ตอนการแปลง ERD
  3. ขั้นตอนการอธิบายรายละเอียดพจนานุกรมข้อมลู

5.1 ขอ้ มูลเกี่ยวกบั พนักงานของบรษิ ทั แห่งหนึง่ ดงั รายละเอยี ดตอ่ ไปนี้

  1. ขอ้ มลู ทเ่ี ก่ยี วกบั พนักงาน (Employee) ประกอบดว้ ย รหัสพนกั งาน (Emno) ชื่อพนักงาน (fastname) สกลุ พนักงาน (lastname) ท่ีอยู่ (Address) ตาํ แหน่งงาน (Position) เงนิ เดอื น (Salary) และรหสั แผนกงาน (Depno)
  2. ขอ้ มูลทเี่ กีย่ วแผนกงาน (Department) ประกอบด้วย รหสั แผนกงาน (Depno) และชือ่ แผนกงาน (Depname)

5.2 ขอ้ มลู การลงทะเบยี นเรยี นของนักศกึ ษาวทิ ยาลยั แห่งหน่งึ ดงั รายละเอยี ดตอ่ ไปนี้

  1. ข้อมลู เกี่ยวกบั นกั ศึกษา (Student) ประกอบดว้ ยข้อมลู รหสั นักศกึ ษา (Stuno) ชอื่ (fname) สกุล (lname) ทอี่ ยู่ (Address) หมายเลขโทรศพั ท์ (Telno)
  2. ข้อมลู เกีย่ วกบั รายวชิ า (Subject) ประกอบดว้ ยข้อมลู รหสั วชิ า (Subno) ช่ือวิชา (Subname) จํานวนหนว่ ยกิต (Subunit)
  3. ข้อมลู เกี่ยวกบั แผนกวิชา (Depart) ประกอบดว้ ยขอ้ มูล รหัสแผนกวชิ า (Deno) ชื่อแผนกวชิ า (Dename)
  4. ขอ้ มลู เกีย่ วกบั อาจารย์ (Teacher) ประกอบดว้ ยขอ้ มูล รหสั อาจารย์ (Teano) ชื่ออาจารย์ (Teaname) รหสั แผนกวชิ า (Deno) รหสั วชิ า (Subno)

3204-2005 ระบบฐานขอ้ มูล

Connectivity of Relationship มีกี่ประเภท

ความสัมพันธ์ระหว่างเอนทิตี แบ่งออกได้เป็น 3 ประเภท คือ.

1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-one Relationships) ... .

2. ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-many Relationships) ... .

3. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships).

ความสัมพันธ์ (Relationships) หมายถึงอะไร อธิบาย

สัมพันธภาพ (Relationship) หมายถึง กระบวนการนำสัมพันธภาพที่บุคคลตั้งแต่ 2 คนขึ้นไป ทำความรู้จักกัน ติดต่อสัมพันธ์สร้างความคุ้นเคยสนิทสนมกัน บุคคลที่สัมพันธ์ภาพกันจะได้รับผลกระทบจากกันและกัน

ความสัมพันธ์ของข้อมูล มีอะไรบ้าง

ความสัมพันธ์ (Relationships) ของระบบฐานข้อมูล.

ความสัมพันธ์แบบ หนึ่งต่อหนึ่ง ( One to one Relationships) ... .

ความสัมพันธ์แบบ หนึ่งต่อกลุ่ม ( One to many Relationships) ... .

ความสัมพันธ์แบบ กลุ่มต่อกลุ่ม ( Many to Many Relationships).

รูปแบบของระบบฐานข้อมูลมีกี่ประเภท อะไรบ้าง

ในการพัฒนาเป็นฐานข้อมูลหลายรูปแบบโดยทั่วไป แบ่งเป็น 3 รูปแบบ ได้แก่  ฐานข้อมูลแบบลาดับชั้น (Hierarchical Database)  ฐานข้อมูลแบบเครือข่าย (Network Database)  ฐานข้อมูลเชิงสัมพันธ์(Relational Database) ฐานข้อมูลเชิงสัมพันธ์(Relational Database)  สัมพันธ์เป็นฐานข้อมูลที่ได้รับความนิยมมากที่สุดในปัจุบัน