ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
จุดประสงคก์ ารสอน
4.1 เขา้ ใจแบบจาลอง E-R
4.1.1 บอกแนวคิดของแบบจาลอง E-R
4.1.2 อธิบายสัญลักษณข์ อง E-R Diagram
4.2 เข้าใจประเภทของเอนทิตี
4.2.1 ยกตวั อยา่ งเอนทติ ปี กตไิ ด้
4.2.2 ยกตัวอยา่ งเอนทิตแี บบอ่อนได้
4.2.3 ยกตัวอย่างเอนทิตีเชงิ ความสัมพันธ์ได้
4.3 เข้าใจประเภทของแอตทริบิวต์
4.3.1 ยกตวั อยา่ งแอตทรบิ ิวตธ์ รรมดาได้
4.3.2 ยกตัวอยา่ งแอตทริบิวตเ์ ชงิ ประกอบได้
4.3.3 ยกตวั อย่างแอตทริบิวต์ตวั ช้เี ฉพาะได้
4.4.4 ยกตวั อยา่ งแอตทริบิวตค์ ่าเดียวได้
4.5.5 ยกตวั อย่างแอตทรบิ วิ ตห์ ลายคา่ ได้
4.6.6 ยกตัวอย่างแอตทริบิวตส์ บื เนื่องได้
4.4 เขา้ ใจประเภทความสมั พันธ์ระหวา่ งเอนทติ ี
4.4.1 อธบิ ายความสมั พนั ธแ์ บบหน่ึงตอ่ หนึ่งได้
4.4.2 อธบิ ายความสมั พันธแ์ บบหน่ึงตอ่ กลมุ่ ได้
4.4.3 อธิบายความสมั พันธแ์ บบหนง่ึ ตอ่ กลมุ่ ได้
4.5 เขา้ ใจระดบั ของความสัมพนั ธ์
4.5.1 บอกความสัมพันธแ์ บบยูนารีได้
4.5.2 บอกความสมั พันธ์แบบไบนารีได้
4.5.3 บอกความสัมพนั ธ์แบบเทอรน์ ารีได้
บทที่ 4 แบบจาลองความสัมพันธร์ ะหว่างข้อมลู (E-R Diagram) 101
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
จุดประสงค์การสอน
4.6 รู้ขอ้ บงั คับของการมสี ่วนร่วม
4.6.1 บอกความสัมพันธ์แบบมที างเลือกได้
4.6.2 บอกความสมั พันธ์แบบบงั คบั ได้
4.7 รู้ปัญหาเกีย่ วกบั แบบจาลอง E-R
4.7.1 บอกเกี่ยวกบั Fan Traps ได้
4.7.2 บอกเกีย่ วกบั Chasm Traps ได้
4.8 เขา้ ใจการออกแบบฐานข้อมูลดว้ ย E-R Diagram
4.8.1 แสดงวิธีการสร้าง E-R Diagram ได้
4.8.2 แสดงวธิ ีการจดั ทาพจนานกุ รมข้อมลู ได้
102 บทที่ 4 แบบจาลองความสัมพันธ์ระหว่างข้อมูล (E-R Diagram)
ระบบฐานขอ้ มูล (DATABASE SYSTEMS)
ในบทน้ีจะกล่าวถึงการออกแบบฐานข้อมูลเชิงแนวคิด (Conceptual Data Modeling) เป็น
ขนั้ ตอนของการกาหนดโครงรา่ งหลักของฐานข้อมูลตามแนวคิดในระดับภาพรวม เนื่องจากเป็นระดับ
แรกของการนาข้อมูลความต้องการของผู้ใช้มาออกแบบฐานข้อมูล โครงร่างของฐานข้อมลู ท่ีได้จึงเป็น
โครงร่างในระดับแนวคิด เรียกกว่า Conceptual Schema การนาเสนอโครงร่างของฐานข้อมูลใน
ระดับนี้นักออกแบบระบบฐานข้อมูลจะสร้างแบบจาลองข้อมูลข้ึนมาตามแนวทางท่ีเลือก โดยไม่
คานึงถึงรูปแบบของฐานข้อมูล โดยใช้ E-R Diagram ซ่ึงเป็นแผนภาพที่ใช้อธิบายความสัมพันธ์
ระหว่างข้อมูลประกอบด้วยเอนทิตี (Entity) แอตทริบิวต์ (Attribute) และความสัมพันธ์
(Relationship) โดยมรี ายละเอยี ดต่างดงั นี้
4.1 แบบจาลอง E-R
การจาลองขอ้ มลู เชงิ แนวคดิ จะแบ่งออกเป็น 2 ข้นั ตอนหลัก คือ
1. Presentation Layer E-R Model เป็นข้ันตอนการสร้างแผนภาพท่ีได้จากการวิเคราะห์
ความต้องการของระบบมาสรา้ งเปน็ E-R Diagram
2. Design-Specific E-R Model เป็นข้ันตอนการปรับแต่ง E-R Diagram ท่ีได้มาจาก
ขั้นตอนแรก ให้มคี วามละเอยี ดเพยี งพอต่อการนาไปออกแบบฐานข้อมูลมากข้ึน
4.1.1 แนวคดิ ของแบบจาลอง E-R
Entity-Relationship Model หรือ E-R Model เป็นแบบจาลองแสดงความสัมพันธ์
ระหว่างข้อมูล สิ่งท่ีได้จากแบบจาลองนี้คือแผนภาพที่เรียกว่า E-R Diagram ประกอบไปด้วยข้อมูล
สาคัญของระบบเรียกว่า Entity ซ่ึงเป็นกลุ่มของข้อมูลที่เก่ียวข้องกันและมีความสัมพันธ์ ดังตัวอย่าง
ในรปู ท่ี 4.1
รปู ที่ 4.1 แสดง E-R Diagram ระหว่างเอนทิตีลูกคา้ กับเอนทติ ีสนิ ค้า
จากรูปท่ี 4.1 ประกอบด้วยเอนทิตีสองเอนทิตี ได้แก่ ลูกค้าและสินค้า โดยที่ลูกค้า
มีความสัมพันธ์กับสินค้า คือ ลูกค้าหน่ึงคนสามารถซ้ือสินค้าได้หลายอย่าง และสินค้าแต่ละอย่าง
สามารถมีลูกค้าซื้อได้หลายคน จะเห็นว่า E-R Diagram สามารถนาเสนอข้อมูลของระบบได้
อย่างชัดเจน ทาให้ทราบวา่ ข้อมูลสินคา้ ประกอบด้วย รหัสสินคา้ ชือ่ สินค้า ราคาต่อหน่วย และจานวน
คงคลัง การนาเสนอข้อมูลด้วย E-R Diagram จึงช่วยให้ผู้ใช้ระบบท่ีไม่มีความเข้าใจรายละเอียด
ทางด้านเทคนิค และทีมงานพฒั นาระบบฐานข้อมูลมีความเข้าใจทถี่ ูกตอ้ งตรงกนั ได้
บทท่ี 4 แบบจาลองความสัมพันธ์ระหว่างข้อมลู (E-R Diagram) 103
ระบบฐานข้อมูล (DATABASE SYSTEMS)
4.1.2 สญั ลักษณ์ของ E-R Diagram
ในการนาเสนอ E-R Diagram ซึ่งมีอยู่หลากหลายรูปแบบขึ้นอยู่กับเครื่องมือ (Tool)
ทช่ี ่วยในการสร้างแผนภาพ หรือทเ่ี รยี กว่า CASE (Computer Aided Software Engineering) Tool
โดยสัญลักษณ์ท่ีนามาใช้เป็นมาตรฐานมีอยู่ 2 แบบ คือ Chen’s Model และ Crow’s Foot Model
สาหรบั ในบทเรียนนจ้ี ะเลอื กใช้แบบ Chen’s Model ซง่ึ มีรายละเอยี ด ดังตารางที่ 4.1
ตารางที่ 4.1 แสดงสญั ลักษณ์ของ E-R Diagram ตามแบบ Chen’s Model
สัญลกั ษณ์ ความหมาย
เอนทิตีปกติ (Entity)
เอนทิตีแบบอ่อน (Weak Entity)
ความสัมพนั ธ์ (Relationship)
ความสมั พันธ์กบั เอนทิตแี บบอ่อน
(Identifying Relationship)
เอนทติ ีประกอบ (Composite Entity)
เป็นเอนทิตที เ่ี กดิ จากการแปลงความสัมพนั ธ์
ระหวา่ งเอนทติ ีแบบ M:N เปน็ 1:M
แอตทริบิวต์สามัญ
(Simple Attribute)
แอตทริบิวต์ที่เป็นกญุ แจ
(Key Attribute)
แอตทริบิวตท์ ่ีมหี ลายคา่
(Multi-valued Attribute)
ดีไรฟ์แอตทริบิวต์ (Derived Attribute)
เก็บผลของการคานวณ หรือแปลงคา่ มาจาก
แอตทริบวิ ตเ์ ดิม
แอตทริบิวต์แบบร่วม (Composite Attribute)
หมายถึง แอตทรบิ ิวตย์ อ่ ย ๆ ด้านบนจะเป็น
สว่ นประกอบของแอตทรบิ วิ ตด์ า้ นล่าง
104 บทท่ี 4 แบบจาลองความสัมพันธร์ ะหว่างข้อมูล (E-R Diagram)
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
4.2 ประเภทของเอนทิตี (Entity)
เอนทิตี (Entity) หมายถึง สิ่งต่าง ๆ ที่ผู้ใช้ต้องการจัดเก็บในฐานข้อมูล อาจเป็นส่ิงที่เป็น
รูปธรรม คือ สิ่งที่จับต้องได้ เช่น พนักงาน สินค้า และลูกค้า หรือส่ิงที่เป็นนามธรรม คือ ไม่สามารถ
มองเห็นได้ด้วยตา ได้แก่ แนวคิดและเหตุการณ์ต่าง ๆ เช่น แผนกงาน การขาย และการเช่า เป็นต้น
เอนทติ แี บ่งออกเปน็ 3 ประเภทดว้ ยกัน
1.) เอนทิตีปกติ (Strong Entity)
2.) เอนทิตีแบบออ่ น (Weak Entity)
3.) เอนทติ ีเชิงความสัมพนั ธ์ (Associative Entity)
4.2.1 เอนทิตีปกติ (Strong Entity)
เอนทิตีปกติหรือเรียกอีกช่ือหนึ่งว่า Regular Entity เป็นเอนทิตีท่ีมีกุญแจหลักเป็นของ
ตวั เอง เป็นเอนทิตีท่ีไม่ขน้ึ กับเอนทิตีใด ประกอบด้วยสมาชิกทม่ี ีคุณสมบัติซ่ึงบ่งบอกถึงเอกลกั ษณ์ของ
แต่ละสมาชิกได้ สัญลักษณ์ที่ใช้คือรูปสี่เหล่ียมผืนผ้าแทนเอนทิตี และมีชื่อเอนทิตีที่เป็นคานามกากับ
อยูภ่ ายใน หากใชช้ อื่ เปน็ ภาษาองั กฤษจะนิยมใชต้ วั พิมพ์ใหญ่ทงั้ หมด และใชค้ านามเอกพจน์
รูปที่ 4.2 แสดงตัวอย่างเอนทิตีปกติ
จากรูปท่ี 4.2 แสดงสญั ลักษณ์ของเอนทติ ีพนกั งาน เอนทติ สี ินคา้ และเอนทิตีลูกค้า ซ่ึงเป็น
เอนทติ ปี กติ เพราะมีกุญแจหลกั เปน็ ของตนเอง
4.2.2 เอนทิตีแบบอ่อน (Weak Entity)
เอนทิตีแบบอ่อนเป็นเอนทิตีท่ีไม่มีกุญแจหลักเป็นของตัวเอง และไม่สามารถเกิดขึ้นได้
ตามลาพัง การกาหนดกุญแจหลักจะต้องใช้แอตทริบิวต์จากเอนทิตีอ่ืนร่วมกับกุญแจหลักของเอนทิตี
ปกติ สัญลกั ษณ์ทีใ่ ช้คือรปู ส่ีเหลี่ยมผืนผา้ แตจ่ ะเปน็ เสน้ คู่
รูปที่ 4.3 แสดงตวั อย่างเอนทติ ีแบบอ่อน
จากรูปท่ี 4.3 เอนทิตีพนักงานเป็นเอนทิตีปกติ ส่วนเอนทิตีใบขับขี่รถยนต์เป็นเอนทิตี
แบบอ่อน เพราะจะไม่สามารถเกิดขึ้นได้ หากไม่มีเอนทิตีพนักงาน อีกท้ังยังต้องใช้รหัสพนักงาน
จากตารางพนักงานมาเปน็ กุญแจหลัก
บทท่ี 4 แบบจาลองความสัมพนั ธ์ระหวา่ งข้อมูล (E-R Diagram) 105
ระบบฐานข้อมลู (DATABASE SYSTEMS)
4.2.3 เอนทิตีเชิงความสมั พันธ์ (Associative Entity)
เอนทิตีเชิงสัมพันธ์เป็นเอนทิตีที่เกิดจากความสัมพันธ์ระหว่างสองเอนทิตีขึ้นไป และมี
ความต้องการเก็บข้อมูลบางอย่างไว้บนความสัมพันธ์น้ัน สัญลักษณ์ท่ีใช้คือรูปสี่เหลี่ยมขนมเปียกปูน
ซ้อนอยใู่ นรูปส่เี หลยี่ มผืนผา้ ซึ่งแสดงใหเ้ ห็นวา่ เป็นเอนทิตีที่เกิดจากความสมั พนั ธ์
รปู ท่ี 4.4 แสดงตัวอย่างเอนทติ ีเชงิ ความสมั พนั ธ์
จากรูปท่ี 4.4 เอนทิตีการขายเป็นเอนทิตีที่เกิดจากความสัมพันธ์ระหว่างเอนทิตีลูกค้า
กับเอนทิตีสินค้าที่มีความสัมพันธ์กันแบบกลุ่มต่อกลุ่ม ซ่ึงจาเป็นต้องมีแอตทริบิวต์ในการแสดง
คุณลักษณะ ซ่ึงไม่ได้เป็นของเอนทิตีใดโดยเฉพาะ ดังนั้นแอตทริบิวต์ดังกล่าวจึงจาเป็นต้องเก็บไว้
ในความสมั พนั ธ์ และแปลงความสัมพนั ธใ์ ห้เปน็ เอนทติ เี ชิงสมั พนั ธ์ (Associative Entity)
4.3 ประเภทของแอตทรบิ ิวต์ (Attribute)
แอตทริบิวต์ (Attribute) คือ ข้อมูลท่ีใช้อธิบายรายละเอียดหรือคุณสมบัติของแต่ละเอนทิตี
ซึ่งเอนทิตีหนึ่งสามารถมีได้หลายแอตทริบิวต์ จะใช้สัญลักษณ์รูปวงรีแทนแอตทริบิวต์ โดยมีชื่อของ
แต่ละแอตทริบิวต์กากบั อยู่ภายในวงรี และมีเส้นเช่ือมโยงระหว่างเอนทิตี ซ่ึงแอตทริบิวตท์ ี่เป็นกุญแจหลัก
จะถกู ขีดเส้นใตก้ ากับไว้ เพือ่ แสดงความแตกตา่ งกับแอตทรบิ วิ ตอ์ น่ื ๆ
ลักษณะทว่ั ไปของแอตทรบิ ิวต์ มี 3 ประการ ดงั น้ี (ณัฐพงษ์ วารีประเสรฐิ , 2553, น. 32)
1.) Unique Value
เมื่อกาหนดค่าให้กับทุกแอตทริบิวต์ของทุกสมาชิกในเอนทิตีแล้ว จะทาให้สมาชิกมีค่า
ขอ้ มูลท่ีเป็นเอกลักษณแ์ ตกต่างกัน แตอ่ าจมีบางแอตตริบิวต์ท่ีมีค่าซา้ กับแอตทริบวิ ต์ของสมาชิกอ่นื ใน
เอนทิตีเดียวกันได้ เช่น แอตทริบิวต์วันเกิดท่ีใช้เก็บวันเกิดของพนักงานคนหน่ึง อาจซ้ากับวันเกิดของ
พนกั งานคนอ่ืนก็ได้
2.) Changeable Value
ค่าของแอตทริบิวต์สามารถเปลี่ยนแปลงได้ตลอดช่วงเวลาที่อยู่ในระบบ เช่น แอตทริบิวต์
เบอร์โทรศัพท์ ท่ีใช้จัดเก็บเบอร์โทรศัพท์ของพนักงาน เมื่อพนักงานมีการเปลี่ยนแปลงเบอร์โทรศัพท์
คา่ ขอ้ มลู ในแอตทริบวิ ต์น้ีกจ็ ะเปลยี่ นแปลงตามไปดว้ ย
3.) NULL Value
สาหรับางแอตทริบิวต์อาจไม่มีค่าเลยก็ได้ เช่น แอตทริบิวต์เลขท่ีใบขับขี่ ที่ใช้เก็บเลขที่
ใบอนุญาตขับขี่รถยนต์ของพนักงาน ซ่ึงพนักงานบางคนอาจไม่มีรถยนต์ส่วนตัวจึงไม่ได้เข้ารับ
การทดสอบเพื่อขอใบอนุญาตขบั ขรี่ ถยนต์ ดังนน้ั แอตทริบวิ ตน์ ้ีจงึ ไม่มีคา่ ใดๆ
106 บทที่ 4 แบบจาลองความสัมพันธ์ระหว่างข้อมูล (E-R Diagram)
ระบบฐานขอ้ มูล (DATABASE SYSTEMS)
แอตทรบิ ิวต์สามารถแบง่ ออกเปน็ 6 ประเภท ซง่ึ แตล่ ะประเภทมคี วามแตกตา่ งกนั ดงั น้ี
1.) แอตทรบิ วิ ตแ์ บบธรรมดา (Simple Attribute)
2.) แอตทรบิ ิวต์แบบรวม (Composite Attribute)
3.) แอตทริบวิ ตต์ ัวชีเ้ ฉพาะ (Identifier Attribute
4.) แอตทริบวิ ต์ค่าเดยี ว (Single Valued Attribute)
5.) แอตทริบวิ ตห์ ลายคา่ (Multi-Valued Attribute)
6.) แอตทรบิ วิ ต์สบื เนอื่ ง (Derived Attribute)
4.3.1 แอตทริบิวต์แบบธรรมดา (Simple Attribute)
แอตทริบิวต์แบบธรรมดา หรือเรียกอีกอย่างว่า Atomic Attribute หมายถึง แอตทริบิวต์
ท่ไี ม่สามารถแบ่งขอ้ มูลออกเปน็ ส่วนประกอบย่อย ๆ ไดอ้ ีก
รปู ที่ 4.5 แสดงตัวอย่างแอตทรบิ ิวต์แบบธรรมดา
จากรูปที่ 4.5 แอตทริบิวต์รหัสพนักงาน ช่ือพนักงาน นามสกุล วันเกิด และโทรศัพท์
เป็นแอตทริบิวต์แบบธรรมดา เนื่องจากค่าของข้อมูลในแอตทริบิวต์ไม่สามารถแยกย่อยได้อีก แต่ถ้า
เก็บข้อมูลช่ือพนักงานและนามสกุลรวมไว้ในแอตตริบิวต์เดียวกัน จะไม่ถือว่าเป็นแอต ทริบิวต์
แบบธรรมดา
ท้ังนี้ยังสามารถแบ่งลักษณะของแอตทริบิวต์ได้อีกแบบ คือแอตทริบิวต์ท่ีสามารถมีค่าหรือไม่มี
ค่าก็ได้ เรียกว่า Optional Attribute ตัวอย่างเช่น แอตทริบิวต์ประสบการณ์การทางาน พนักงาน
บางคนอาจเพิ่งเรยี นจบจงึ ยงั ไมม่ ีประสบการณ์การทางาน จงึ ทาให้ข้อมูลในสว่ นน้ียงั ไม่มี
ส่วน Mandatory Attribute เป็นแอตทริบิวต์ที่ต้องมีค่าเท่าน้ัน (NOT NULL) ตัวอย่างเช่น
รหัสพนักงาน ช่ือพนักงาน และนามสกุล ซ่ึงจาเป็นอย่างมากในการจัดเก็บลงในแอตทริบิวต์
เพ่ือใชอ้ ้างอิงบุคคล (ณฐั พงษ์ วารปี ระเสรฐิ , 2553, น. 32)
บทที่ 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมูล (E-R Diagram) 107
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
4.3.2 แอตทรบิ ิวต์แบบร่วม (Composite Attribute)
แอตทริบิวต์แบบร่วม หมายถึง แอตทริบิวต์ท่ีสามารถแบ่งข้อมูลออกเป็นแอตทริบิวต์
ย่อย ๆ ท่ีเป็นแอตทริบิวต์สามัญได้อีก ซ่ึงสัญลักษณ์ท่ีใช้แสดง Composite Attribute เป็นวงรี
เส้นขอบเสน้ เด่ยี ว แต่มีวงรีทแ่ี ยกอออกเปน็ แอตทรบิ วิ ตย์ ่อยมาเชือ่ มต่อด้วย
รปู ท่ี 4.6 แสดงตัวอยา่ งแอตทรบิ วิ ต์แบบรวม
จากรูปที่ 4.6 แอตทริบิวต์ชื่อสกุล สามารถแบ่งออกเป็น 2 แอตทริบิวต์ย่อย ได้แก่ ช่ือ และ
นามสกุล และแอตทริบิวต์ที่อยู่ สามารถแบ่งออกเป็น 5 แอตทริบิวต์ย่อย ได้แก่ บ้านเลขท่ี ตาบล
อาเภอ และจังหวัด ทั้งน้ีการแบ่งข้อมูลเป็นแอตทริบิวต์ย่อยข้ึนอยู่กับวัตถุประสงค์ของการนาข้อมูล
ไปใช้งาน เช่น หากต้องการรายงานที่กาหนดให้จัดเรียงลาดับข้อมูลตามช่ือหรือนามสกุล หรือต้องการ
ทราบข้อมูลของพนักงานโดยแยกตามจงั หวดั ในกรณนี ี้จะต้องแยกออกเป็นแอตทรบิ วิ ตย์ ่อย
4.3.3 แอตทรบิ วิ ตต์ ัวช้ีเฉพาะ (Identifier Attribute)
แอตทริบิวต์หรือกลุ่มของแอตทริบิวต์ในเอนทิตี ที่ทาหน้าที่ชี้เฉพาะถึงสมาชิกตัวใด
ตวั หน่ึงของเอนทิตไี ด้ ถ้าแอตทรบิ ิวต์นนั้ มคี า่ ข้อมูลไม่ซ้ากนั และค่าขอ้ มูลน้นั จะมคี ่าคงทต่ี ลอด หรือไม่
เปล่ียนแปลงบ่อย จะเรียกแอตทริบิวต์น้ีว่า ตัวช้ีเฉพาะ (identifier) จะใช้การขีดเส้นใต้ท่ีช่ือแอตทริบิวต์
ดงั รปู ท่ี 4.7
รูปท่ี 4.7 แสดงตวั อยา่ งแอตทรบิ ิวตต์ วั ชเี้ ฉพาะ
จากรูปที่ 4.7 เอนทิตีพนักงานประกอบด้วยแอตทริบิวต์รหัสพนักงาน ช่ือพนักงาน นามสกุล
ที่อยู่ วันเกิด แอตทริบิวต์ที่ควรถูกเลือกเป็นตัวชี้เฉพาะได้แก่ รหัสพนักงาน เนื่องจากแต่ละสมาชิก
จะไมม่ ีรหสั พนักงานทซ่ี า้ กนั ได้
108 บทที่ 4 แบบจาลองความสัมพนั ธร์ ะหว่างข้อมลู (E-R Diagram)
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
4.3.4 แอตทรบิ ิวต์คา่ เดยี ว (Single Valued Attribute)
แอตทริบิวต์ค่าเดียว หมายถึง แอตทริบิวต์ที่สามารถมีค่าข้อมลู ได้เพียงค่าเดียวในแต่ละ
แอตทริบิวต์เท่าน้ัน ซึ่งใน E-R Diagram สัญลักษณ์ที่ใช้แสดง คือ วงรีเส้นขอบเส้นเด่ียว มีช่ือ
แอตทริบิวต์กากับอยู่ภายในเช่นเดียวกับแอตตริบิวต์ธรรมดา และแอตทริบิวต์ที่ถูกกาหนดให้เป็น
กญุ แจหลักของเอนทิตจี ะขีดเส้นใตเ้ ส้นเดียวที่ชื่อของแอตทรบิ ิวตเ์ พ่ือบ่งบอกความเปน็ กุญแจหลกั
รูปที่ 4.8 แสดงตวั อยา่ งแอตทริบวิ ตค์ ่าเดยี ว
จากรูปท่ี 4.8 เอนทิตีพนักงาน มีแอตทริบิวต์ค่าเดียวคือ รหัสพนักงาน ช่ือพนักงาน นามสกุล
และวันเกดิ เพราะพนกั งานแต่ละคนสามารถมีข้อมูลดงั กล่าวได้เพียงคา่ เดยี วเทา่ นนั้
4.3.5 แอตทริบิวต์หลายคา่ (Multi-Valued Attribute)
แอตทริบิวต์หลายค่า หมายถึง แอตทริบิวต์ท่ีสามารถมีคา่ ข้อมูลได้มากกว่าหนึ่งค่าซึ่งใน
E-R Diagram จะใชส้ ัญลกั ษณร์ ปู วงรีที่มีเสน้ ขอบเป็นเส้นคู่ แทนแอตทริบวิ ตท์ มี่ คี า่ ข้อมลู ได้หลายคา่
รูปที่ 4.9 แสดงตัวอย่างแอตทรบิ ิวต์หลายคา่
จากรูปที่ 4.9 พนักงานแต่ละคนสามารถมีเบอร์โทรศัพท์ได้มากกว่า 1 เบอร์ หรือไม่มี
ขอ้ มูลเบอรโ์ ทรศพั ทท์ ต่ี ิดต่อเลยก็ได้ ดังนั้น แอตทรบิ ิวต์โทรศัพท์ จึงเป็นแอตทรบิ วิ ต์หลายค่า
บทท่ี 4 แบบจาลองความสัมพันธ์ระหว่างข้อมลู (E-R Diagram) 109
ระบบฐานขอ้ มูล (DATABASE SYSTEMS)
ท้งั น้ี แบบจาลองความสัมพันธ์ระหว่างข้อมูล (E-R Diagram) จะสามารถแสดงแอตทริบิวต์
ที่มีหลายค่าได้ (Multi-Valued Attribute) แต่ไม่สามารถนาไปใช้งานได้โดยตรงในระบบจัดการ
ฐานข้อมูลเชิงสัมพันธ์ ดังนั้นถ้ามีแอตทรบิ ิวต์ท่ีมีหลายค่ารวมอยู่ในแบบจาลอง ผู้ออกแบบฐานข้อมูล
ต้องแก้ปัญหาดังกล่าว ในที่นี้จะใช้แอตทริบิวต์โทรศัพท์ เป็นตัวอย่าง ซ่ึงพนักงานแต่ละคนอาจมี
หมายเลขโทรศัพทท์ สี่ ามารถติดต่อได้หลายเบอร์ โดยสามารถทาได้ 2 แนวทางดว้ ยกัน คือ
1.) เอนทติ ีหลัก ให้สร้างแอตทริบิวต์เพม่ิ เตมิ ข้ึนมาใหม่ ตามจานวนหมายเลขโทรศัพท์
ที่คาดว่าจะมี เช่น ถ้าต้องการเก็บ 2 หมายเลข ก็ทาการสร้างแอตทริบิวต์ขึ้นมาใหม่ 2 แอตทริบิวต์ ดังนี้
โทรศพั ท#์ 1 และ โทรศพั ท#์ 2 ดงั รูปที่ 4.10
รูปที่ 4.10 แสดงการแบ่งแอตทริบิวตห์ ลายคา่ ไปเปน็ แอตทรบิ ิวต์ใหม่
รหสั พนกั งาน ชอ่ื พนักงาน นามสกุล วนั เกิด โทรศัพท์#1 โทรศพั ท์#2
A01 ดวงแกว้ ดาวฤกษ์ 27/06/2556 086-3368321 086-336-4455
A02 ละม้าย คล้ายคลงึ 1/09/2556
A03 รจนา กล้าหาญ 12/12/2556 Null Null
P01 สง่า นา่ เกรงขาม 26/07/2555 089-412-4450 Null
P02 ยพุ นิ ทนิ กร 11/09/2555 088-234-7984 081-669-6696
089-412-4450 Null
รปู ท่ี 4.11 แสดงข้อมูลที่เกดิ จากการแบ่งแอตตริบวิ ต์หลายคา่ ไปเปน็ แอตทริบิวต์ใหม่
จากตัวอย่างข้อมูลในรูปที่ 4.11 แสดงให้เห็นว่าการแก้ปัญหาด้วยวิธีการดังกล่าว
ทาใหเ้ กิดปัญหาตามมาอีกหลายอยา่ งดงั ต่อไปนี้
1.1) ในตารางประกอบไปด้วยค่าว่างเป็นจานวนมาก ทาให้สิ้นเปลือง
ในการเตรียมพ้นื ทส่ี าหรบั จดั เก็บขอ้ มลู
1.2) การที่มีค่าว่างในตารางทาให้ตีความได้หลายอย่าง เช่น ไม่มีหมายเลข
โทรศพั ทเ์ ลย หรือวา่ ยังไมไ่ ด้บันทึกขอ้ มูลเขา้ ไป เปน็ ตน้
1.3) การกาหนดจานวนแอตทริบิวต์สูงสุดที่ควรมีในตารางนี้ทาได้ยาก เช่น
พนักงานบางคนอาจมีหมายเลขโทรศัพท์เพียงหมายเลขเดียว ในขณะท่ีบางคนอาจมีมากกว่า
สองหมายเลข เปน็ ต้น
110 บทท่ี 4 แบบจาลองความสัมพันธร์ ะหวา่ งข้อมูล (E-R Diagram)
ระบบฐานข้อมูล (DATABASE SYSTEMS)
2.) สร้างเอนทิตีขึ้นมาใหม่อีกหน่ึงเอนทิตี เพ่ือไว้เป็นที่เก็บข้อมูลของแอตทริบิวต์ที่มี
หลายค่า ดังรปู ท่ี 4.12 เอนทติ โี ทรศพั ท์ เป็นเอนทติ ีตัวใหม่ทส่ี ร้างขึน้ มา โดยมคี วามสมั พันธก์ บั เอนทิตี
พนักงานแบบ 1 : M ดังตัวอย่างข้อมูล รูปที่ 4.13 จะเห็นได้ว่า การสร้างเอนทิตีขึ้นมาใหม่นี้สามารถ
ใช้จัดเกบ็ หมายเลขโทรศัพทไ์ ด้ตามความเปน็ จรงิ ของแต่ละคน ทาใหแ้ กป้ ญั หาคา่ วา่ งไดเ้ ปน็ อยา่ งดี
รปู ที่ 4.12 แสดงการสรา้ งเอนทติ ีใหม่เพือ่ จัดเกบ็ แอตทรบิ ิวตแ์ บบหลายค่า
พนักงาน ชื่อพนกั งาน นามสกลุ วนั เกดิ โทรศัพท์ เครอ่ื งที่ เบอร์โทรศพั ท์
รหัสพนกั งาน ดวงแก้ว ดาวฤกษ์ 27/06/2556 รหัสพนักงาน 1 086-336-8321
A01 ละม้าย คลา้ ยคลงึ 1/09/2556 A01 2 086-336-4455
A02 รจนา กลา้ หาญ 12/12/2556 A01 1 089-412-4450
A03 สง่า น่าเกรงขาม 26/07/2555 A03 1 088-234-7984
P01 ยุพนิ ทินกร 11/09/2555 P01 2 088-234-7984
P02 P01 1 089-412-4450
P02
รูปที่ 4.13 แสดงข้อมูลทเ่ี กดิ จากการสร้างเอนทติ ีใหมเ่ พ่ือจดั เก็บแอตทริบวิ ต์แบบหลายคา่
จากตัวอย่างการจัดเก็บข้อมูลตามรูปท่ี 4.13 การสร้างแอตทริบิวต์ใหม่ขึ้นมา
เพื่อเก็บข้อมูลเบอร์โทรศัพท์สามารถช่วยแก้ปัญหาแอตทริบิวต์ท่ีมีค่าว่างได้ แต่ก็มีข้อจากัดอย่างอ่ืน
คือ เมื่อผู้ใช้งานต้องการค้นหาข้อมูลเบอร์โทรศัพท์จะต้องใช้เวลาในการประมวลผลนาน เนื่องจาก
ตอ้ งไปค้นหาข้อมูลจากหลายรีเลชันในการแสดงผลให้กับผู้ใช้งาน ดงั นั้นนักออกแบบระบบฐานข้อมูล
ควรคานึงถึงประสทิ ธภิ าพการทางานของระบบเป็นสาคญั ว่าจะเลือกใชว้ ธิ ีการจัดเก็บรปู แบบใด
บทท่ี 4 แบบจาลองความสัมพนั ธร์ ะหว่างข้อมลู (E-R Diagram) 111
ระบบฐานข้อมลู (DATABASE SYSTEMS)
4.3.6 แอตทรบิ ิวต์สบื เนือ่ ง (Derived Attribute)
หมายถึง แอตทริบิวต์ท่ีได้มาจากการคานวณ โดยทั่วไปไม่จาเป็นต้องจัดเก็บแอตทริบิวต์นี้
ไว้ในฐานข้อมูลจริง ซ่ึงใน E-R Diagram ใช้สัญลกั ษณ์รปู วงรีทมี่ ีเส้นขอบเปน็ เส้นประ แทนแอตทริบิวต์
สืบเน่อื ง (Derived Attribute)
รูปท่ี 4.14 แสดงตวั อยา่ งแอตทริบวิ ตส์ บื เนื่อง
ดังรูปท่ี 4.14 แอตทริบิวต์อายุ ซ่ึงสามารถคานวณได้จากการนาวันท่ีปัจจุบันมาหักลบ
ด้วยแอตทริบิวต์วันเกิด ก็จะได้แอตทริบิวต์อายุขึ้นมา ดังน้ัน แอตทริบิวต์อายุ จึงเป็น Derived
Attribute
4.4 ประเภทความสัมพันธ์ระหวา่ งเอนทิตี (Relationship)
ความสัมพันธ์ หมายถึง ความสัมพันธ์ระหว่างเอนทิตีต่าง ๆ ภายในฐานข้อมูล ใน E-R
Diagram จะใช้สัญลักษณ์รูปสี่เหลยี่ มข้าวหลามตัด มีชื่ออธิบายความสัมพันธ์ที่เป็นคากรยิ าอยู่ภายใน
และมีเสน้ เชื่อมโยงกับเอนทิตีทเ่ี กี่ยวขอ้ งทงั้ หมด โดยนิยมจัดเรียงเอนทิตีที่เก่ียวข้องและความสมั พันธ์
ในลักษณะที่สามารถอ่านได้จากซ้ายไปขวา หรือจากบนลงล่าง ตัวอย่างเช่น ความสัมพันธ์ระหว่าง
เอนทิตพี นกั งาน และเอนทิตแี ผนกงาน ดงั รูปที่ 4.15
รูปท่ี 4.15 แสดงความสมั พันธร์ ะหวา่ งเอนทิตีพนักงาน และ เอนทติ ีแผนกงาน
Structural Constraint ของรีเลชันจะเป็นการกาหนดเง่ือนไขหรือข้อบังคับบนรีเลชัน
Cardinality Constraint เป็นเงื่อนไขการจาแนกประเภทความสัมพันธ์ของเอนทติ ีตามจานวนสมาชิก
ของแต่ละเอนทิตีที่สัมพันธ์กัน โดยสามารถระบุจานวนสมาชิกของเอนทิตีท่ีสัมพันธ์กันไว้บน
E-R Diagram ได้ เรียกการระบุจานวนสมาชิกของเอนทิตีดังกล่าวว่า Cardinality Ratio หรือ
Mapping Cardinality
112 บทที่ 4 แบบจาลองความสัมพนั ธร์ ะหวา่ งข้อมลู (E-R Diagram)
ระบบฐานข้อมูล (DATABASE SYSTEMS)
ประเภทความสมั พันธ์ สามารถแบง่ ได้เป็น 3 ประเภท ดังนี้
1.) ความสมั พันธแ์ บบหนึ่งต่อหนึ่ง (One-to-One Relationship)
2.) ความสมั พันธ์แบบหนง่ึ ตอ่ กลุม่ (One-to-Many Relationship)
3.) ความสมั พันธ์แบบกลุ่มตอ่ กลุ่ม (Many-to-Many Relationship)
4.4.1 ความสัมพนั ธแ์ บบหนง่ึ ต่อหนึง่
เป็นความสัมพันธ์ที่แต่ละรายการของเอนทิตี X มีความสัมพันธ์กับข้อมูล Y เพียงหนึ่ง
รายการเท่าน้นั ความสัมพันธจ์ ะเขยี นแทนด้วยสญั ลกั ษณ์ 1 : 1 ดงั ตัวอย่างรปู ที่ 4.16
รูปท่ี 4.16 แสดงความสัมพันธร์ ะหว่างเอนทติ ีแบบหน่งึ ต่อหน่งึ
การกาหนดประเภทของความสัมพันธ์แบบหน่ึงต่อหนงึ่ จะระบดุ ้วยหมายเลข 1 บนเส้น
ทง้ั 2 ด้าน ของสัญลกั ษณ์แสดงความสัมพันธ์ ดงั ตัวอยา่ งรปู ที่ 4.17 พนกั งานหนึง่ คนสามารถมขี ้อมูล
ใบขับข่ีรถยนต์ได้เพียงใบเดียวเท่าน้ัน และในทางกลับกันใบขับขี่รถยนต์แต่ละใบเป็นของพนักงานได้
เพยี งหนง่ึ คนเชน่ กัน
รปู ท่ี 4.17 แสดงตวั อยา่ งความสมั พนั ธ์ระหวา่ งเอนทิตีแบบหน่ึงตอ่ หน่ึง
บทที่ 4 แบบจาลองความสัมพันธร์ ะหว่างข้อมลู (E-R Diagram) 113
ระบบฐานข้อมูล (DATABASE SYSTEMS)
4.4.2 ความสมั พนั ธแ์ บบหนึ่งตอ่ กลุม่
เป็นความสัมพันธ์ท่ีแต่ละรายการของเอนทิตี X มีความสัมพันธ์กับข้อมูล Y มากกว่า
หนึ่งรายการ โดยแต่ละรายการของเอนทิตี Y จะมีความสัมพันธ์กับเอนทิตี X ได้เพียงหนึ่งรายการ
เทา่ นนั้ ความสมั พนั ธ์จะเขยี นแทนดว้ ยสญั ลักษณ์ 1 : M ดงั ตวั อย่างรปู ที่ 4.18
รูปที่ 4.18 แสดงความสัมพันธ์แบบหน่งี ต่อกลุ่ม
การกาหนดประเภทของความสัมพันธ์แบบหนง่ึ ตอ่ กลุม่ จะระบุด้วยหมายเลข 1 บนเส้น
ด้านหน่ึง และระบุด้วยตัวอักษร M บนเส้นอีกด้านหน่ึงของสัญลักษณ์แสดงความสัมพันธ์ ดังตัวอย่าง
รูปท่ี 4.19 แผนกงานหนึ่งแผนกสามารถมีพนักงานได้หลายคน ในทางกลับกันพนักงานหน่ึงคน
สามารถอย่ไู ดเ้ พียงหน่งึ แผนกงานเทา่ นั้น
รูปที่ 4.19 แสดงตวั อยา่ งความสมั พันธ์แบบหนงี่ ต่อกลมุ่
114 บทท่ี 4 แบบจาลองความสัมพนั ธร์ ะหวา่ งข้อมูล (E-R Diagram)
ระบบฐานข้อมลู (DATABASE SYSTEMS)
4.4.3 ความสัมพันธ์แบบกลมุ่ ต่อกล่มุ
เป็นความสัมพันธ์ท่ีแต่ละรายการของเอนทิตี X มีความสัมพันธ์กับข้อมูล Y มากกว่า
หนึ่งรายการ ในขณะท่ีแต่ละรายการของเอนทิตี Y ก็มีความสัมพันธ์กับข้อมูล X ได้มากกว่าหนึ่ง
รายการเช่นกนั ความสัมพันธ์จะเขยี นแทนด้วยสญั ลกั ษณ์ M : N ดงั ตวั อย่างรปู ที่ 4.20
รูปที่ 4.20 แสดงความสมั พันธ์แบบกลมุ่ ตอ่ กลุ่ม
การกาหนดประเภทของความสมั พันธ์แบบกลุ่มต่อกลุ่ม จะระบุด้วยตัวอกั ษร M บนเส้น
ทั้ง 2 ด้าน ของสัญลักษณ์แสดงความสัมพันธ์ ดังตัวอย่างรูปที่ 4.21 สินค้าหน่ึงอย่างสามารถมีลูกค้า
ซื้อได้หลายคน และลูกค้าหนง่ึ คนสามารถซือ้ สินค้าไดห้ ลายอยา่ งเชน่ กัน
รูปท่ี 4.21 แสดงตวั อย่างความสัมพนั ธ์แบบกลมุ่ ต่อกลุ่ม
บทที่ 4 แบบจาลองความสัมพนั ธ์ระหวา่ งข้อมูล (E-R Diagram) 115
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
4.5 ระดับของความสัมพนั ธ์ (Degree of Relationship)
ระดบั ของความสัมพันธ์เป็นตัวแสดงถงึ จานวนเอนทิตีทเี่ กีย่ วข้องหรือมคี วามสัมพันธร์ ะหว่างกัน
ระดบั ของความสัมพนั ธแ์ บ่งออกได้เป็น 3 รปู แบบด้วยกนั คือ
1.) ความสมั พนั ธแ์ บบยนู ารี (Unary Relationship)
2.) ความสัมพันธแ์ บบไบนารี (Binary Relationship)
3.) ความสัมพนั ธ์แบบเทอรน์ ารี (Ternary Relationship)
4.5.1 ความสัมพันธแ์ บบยูนารี (Unary Relationship)
ความสัมพันธ์แบบยูนารี เป็นความสัมพันธ์ท่ีเกิดจากเอนทิตีเดียว หรือความสัมพันธ์
ในตัวเอง ความสัมพันธ์น้ียังสามารถเรียกได้อีกอย่างหนึ่งว่า ความสัมพันธ์แบบรีเคอร์ซีฟ (Recursive
Relationship) เช่น
1.) ความสัมพันธ์ระหว่างเอนทิตีบุคคลท่ีมีความสัมพันธก์ ับเอนทิตีตนเอง ตัวอย่างเช่น
การแต่งงานของบุคคลท่ีเป็นผู้ชายหรือผู้หญิง โดยผู้ชาย 1 คน จดทะเบียนสมรสกับผู้หญิงได้เพียง
1 คนเท่านั้น และผู้หญิง 1 คนก็สามารถจดทะเบียนสมรสกับผู้ชายได้เพียงคนเดียวเท่านั้น และ
เน่ืองจากทั้งผู้หญิงและผู้ชายต่างก็เป็นบุคคลเหมือนกัน จึงถือว่าอยู่ในเอนทิตีเดียวกันหรือโดเมน
เดียวกัน ดงั นั้นความสัมพนั ธ์ระหว่างเอนทิตีบคุ คลดว้ ยกนั เอง จึงเปน็ แบบ 1 : 1 ดงั รูปท่ี 4.22
รูปที่ 4.22 แสดงระดับของความสมั พันธ์แบบยนู ารี (Unary) แบบ 1 : M
2.) ความสัมพันธ์ระหวา่ งเอนทิตีพนักงานท่ีมีความสัมพันธ์กับเอนทิตีตนเอง เน่ืองจาก
หน่วยงานกาหนดว่า พนักงานท่ีเป็นผู้บริหารคนหน่ึง สามารถทาหน้าที่ควบคุมดูแลการทางานของ
พนักงานคนอ่ืน ๆ ได้หลายคน แต่พนักงานแต่ละคนจะต้องมีผู้บริหารควบคุมได้เพียงคนเดียวเท่านั้น
ดงั นน้ั ความสมั พันธ์ระหวา่ งเอนทติ ีพนักงานดว้ ยกันเอง จึงเป็นแบบ 1 : M ดงั รูปที่ 4.23
รปู ที่ 4.23 แสดงระดับของความสัมพันธ์แบบยูนารี (Unary) แบบ 1 : M
116 บทที่ 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมลู (E-R Diagram)
ระบบฐานขอ้ มูล (DATABASE SYSTEMS)
3.) ความสัมพันธ์ระหว่างเอนทิตีวชิ าท่ีมีความสัมพันธ์กับเอนทิตีตนเอง ซึ่งเป็นเงื่อนไข
ของรายวิชากาหนดไว้ว่า วิชาแต่ละวิชาสามารถมีเงื่อนไขของวิชา ซึ่งเป็นวิชาอ่ืนได้มากกว่าหนึ่งวิชา
ขึ้นไป และวิชาหน่ึงก็สามารถเป็นเงื่อนไขของวิชาอ่ืนได้มากกว่าหนึ่งวิชาเช่นกัน ดังน้ันความสัมพันธ์
ระหว่างเอนทติ วี ชิ าด้วยกนั เอง จงึ เปน็ แบบ M : N ดงั รูปท่ี 4.24
รูปที่ 4.24 แสดงระดับของความสัมพันธ์แบบยูนารี (Unary) แบบ M : N
4.5.2 ความสัมพันธ์แบบไบนารี (Binary Relationship)
ความสัมพันธ์แบบไบนารี เป็นความสัมพันธ์ระหว่าง 2 เอนทิตี หรือความสัมพันธ์แบบ
สองทาง คือ เอนทิตีหนงึ่ สมั พนั ธ์กบั อีกเอนทติ หี นึ่งท่ีต่างประเภทกัน
1.) พนักงานหน่ึงคน สามารถอยู่อาศัยบ้านพักของบริษัทได้คนละหนึ่งหลัง ในทาง
กลับกัน บ้านแตล่ ะหลงั มีพนักงานพักอาศยั ได้คนเดยี ว ซึง่ มีความสมั พันธก์ นั แบบ 1 : 1 ดงั รูปท่ี 4.25
รูปท่ี 4.25 แสดงระดบั ของความสมั พันธแ์ บบไบนารี (Binary) แบบ 1 : 1
2.) ประเภทสินค้าหน่ึงประเภท สามารถมีสินค้าได้หลายอย่าง และในทางกลับกัน
สินคา้ แต่ละอย่างสามารถเปน็ ไดเ้ พยี งประเภทเดยี ว ซ่งึ มคี วามสัมพนั ธ์กนั แบบ 1 : M ดงั รูปที่ 4.26
รปู ท่ี 4.26 แสดงระดบั ของความสมั พนั ธแ์ บบไบนารี (Binary) แบบ 1 : M
บทท่ี 4 แบบจาลองความสัมพันธร์ ะหวา่ งข้อมลู (E-R Diagram) 117
ระบบฐานข้อมูล (DATABASE SYSTEMS)
3.) ความสัมพันธ์ระหว่างเอนทิตีนักศึกษาและเอนทิตีวิชา ซึ่งกาหนดไว้ว่าในการ
ลงทะเบียนเรียนนั้น นักศึกษาแต่ละคนสามารถเรียนได้หลายวิชา ในทางกลับกันวิชาแต่ละวิชาก็
สามารถมนี ักศกึ ษาลงทะเบยี นเรียนไดห้ ลายคนเช่นกนั ซ่งึ มีความสัมพันธก์ นั แบบ M : N ดงั รูปท่ี 4.27
N
รปู ท่ี 4.27 แสดงระดบั ของความสัมพนั ธ์แบบไบนารี (Binary) แบบ M : N
4.5.3 ความสมั พนั ธ์แบบเทอร์นารี (Ternary Relationship)
ในบางระบบงานอาจจาเป็นต้องออกแบบความสัมพันธ์ที่เชื่อมระหว่าง 3 เอนทิตี
เนื่องจากการแปลความหมายของความสัมพันธ์น้ีจะต้องเอาเอนทิตีท้ังหมด มาอธิบายความสัมพันธ์
พร้อมกัน ซ่ึงไม่สามารถตัดบางเอนทิตีออกไปได้ เพราะจะทาให้ความหมายของความสัมพันธ์
เปล่ียนแปลงไป และการวิเคราะห์เพื่อจาแนกประเภทความสัมพันธ์ จะต้องข้ีนอยู่กับกฎเกณฑ์และ
เงื่อนไขของระบบงานท่ีกาลังทาการวิเคราะห์เป็นหลกั เพ่ือให้การจัดเก็บข้อมูลตรงตามความต้องการ
ในการใชง้ านจริง
ตวั อย่างเชน่ ในระบบการผลิต ประกอบดว้ ย ผู้ผลติ สินค้า ลกู คา้ และสินคา้ ดงั รูปท่ี 4.28
โดยมีความสัมพนั ธ์ ดังน้ี
ผผู้ ลติ แตล่ ะรายสามารถผลิตสินค้าไดม้ ากกว่า 1 ชนดิ ในทางกลบั กัน สนิ คา้ แตล่ ะชนดิ ถูก
ผลิตจากผลิตได้มากกว่า 1 ราย ดังนั้น ความสัมพันธ์ระหว่างเอนทิตีผู้ผลิต และเอนทิตีสินค้าจะเป็น
แบบ M : N
สินค้าแต่ละชนิด สามารถส่งให้กับลูกค้าได้มากกว่า 1 ราย และในทางกลับกันลูกค้า
แต่ละรายสามารถได้รับสินค้ามากกว่า 1 ชนิด ดังน้ัน ความสัมพันธ์ระหว่างเอนทิตีสินค้ากับเอนทิตี
ลกู ค้าจะเป็นแบบ M : N กันกนั แบบหนึ่งตอ่ กลมุ่
ผูผ้ ลติ แต่ละรายสามารถส่งสินค้าให้กบั ลูกค้าได้มากกว่า 1 คน และในทางกลบั กันลกู ค้า
แต่ละคนสามารถได้รับสินค้าจากผลิตได้หลายรายเช่นกัน ดังนั้น ความสัมพันธ์ระหว่างเอนทิตีผู้ผลิต
และเอนทติ ีลกู ค้าเปน็ แบบ M : N
N
รปู ที่ 4.28 แสดงระดับของความสัมพันธ์แบบเทอร์นารี (Ternary)
118 บทท่ี 4 แบบจาลองความสัมพันธ์ระหว่างข้อมลู (E-R Diagram)
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
4.6 ขอ้ บังคับของการมสี ่วนรว่ ม (Participation Constraints)
ข้อบังคับของการมีส่วนร่วม (Participation Constraints) นั้นมีความสัมพันธ์ 2 อย่าง ได้แก่
ความสมั พนั ธ์แบบมที างเลือก และความสมั พันธ์แบบบังคบั แสดงรายละเอยี ดได้ดงั นี้
4.6.1 ความสัมพันธ์แบบมีทางเลือก (Partial Participation) หรือความสัมพันธ์แบบ
ไม่บังคับ คือ ข้อมูลภายในเอนทิตีหนึ่งอาจจะมีความสัมพันธ์กับข้อมูลในอีกเอนทิตีหนึ่งหรือไม่มีก็ได้
ซึง่ จะใช้สัญลักษณ์แสดงความสัมพันธ์แบบเสน้ เดยี ว
4.6.2 ความสัมพันธ์แบบบังคับ (Total Participation) คือ ทุกข้อมูลภายในเอนทิตีหนึ่ง
จะตอ้ งมีความสัมพนั ธ์กับข้อมูลในอีกเอนทิตีหนึ่ง ซึง่ จะใชส้ ญั ลักษณแ์ สดงความสัมพนั ธ์แบบ 2 เส้นคู่กนั
รูปท่ี 4.29 แสดงข้อบังคับของการมสี ่วนรว่ ม (Participation Constraints)
จากตัวอย่างรูปที่ 4.29 แสดงการลงทะเบียนเรียนในปีการศึกษาหนึ่ง โดยมีเอนทิตีวิชาท่ี
เปดิ การสอน และเอนทิตีนกั ศึกษา ซ่ึงอธบิ ายได้ดังน้ี
นักศึกษา 1 คน จะลงทะเบียนเรียนวิชาใดหรือไม่ก็ได้ ซึ่งถ้าลงทะเบียนเรียนสามารถเรียนได้
มากกวา่ 1 วชิ า ซง่ึ เป็นความสัมพันธแ์ บบมีทางเลือก (Partial Participation)
ทุกรายวิชาท่ีเปิดสอนจะต้องมีนักศึกษาลงทะเบียนเรียนโดยไม่จากัดจานวนนักศึกษา ซึ่งเป็น
ความสัมพนั ธ์แบบบงั คบั (Total Participation)
4.7 ปัญหาเกี่ยวกบั แบบจาลอง E-R
บางครั้งการจาลองความสัมพันธ์ระหว่างข้อมูลด้วย E-R Model อาจมีข้อผิดพลาดที่เรียกว่า
Connection Trap ซ่ึงเป็นความผิดพลาดที่เกิดจากการเข้าใจความหมายของความสัมพันธ์
ทคี่ ลาดเคลือ่ น แบ่งไดเ้ ป็น 2 ลกั ษณะ คอื Fan Trap และ Chasm Trap
4.7.1 Fan Traps
เป็นปัญหาที่เกิดจากความสัมพันธ์ระหว่างเอนทิตีแบบ One-to-many ตั้งแต่สองเอนทิตี
ขึ้นไป ท่ีใช้เอนทิตีฝั่ง 1 ร่วมกันโดยที่เอนทิตีฝั่ง 1 อยู่ตรงกลางระหว่างหว่างเอนทิตีฝ่ัง M ซึ่งทาให้เกิด
ความไม่ชดั เจนในการแสดงข้อมลู ทาให้ไม่สามารถระบุความสัมพันธ์ระหว่างเอนทิตีฝ่ัง M ได้
เช่น บริษัทแห่งหนึ่งมีข้อหนดว่า แต่ละแผนกงานมีพนักงานได้หลายคน และสามารถ
รบั ผิดชอบงานไดห้ ลายงาน ซึ่งเมื่อจาลองออกด้วย E-R Model แล้ว จะแสดงดงั รปู ที่ 4.30
บทที่ 4 แบบจาลองความสัมพันธร์ ะหว่างข้อมลู (E-R Diagram) 119
ระบบฐานข้อมูล (DATABASE SYSTEMS)
(a)
(b)
รปู ท่ี 4.30 แสดงตัวอยา่ งกรณขี อ้ ผิดพลาดชนิด Fan Trap
จากรูปท่ี 4.30 (b) เป็นการจาลองความสัมพันธ์ระหว่างเอนทิตีในรูป (a) จะเห็นว่า
เส้นแสดงความสัมพันธ์จากเอนทิตีหน่ึงไปยังอีกเอนทิตีหน่ึง เป็นเส้นท่ีชัดเจนและระบุได้ว่าสมาชิกใด
จับคู่กับสมาชิกใดของอีกเอนทิตีได้ เช่น จากพนักงานไปยังแผนกงาน ท่ีระบุได้ว่าพนักงานรหัส S01
และ S02 ทางานอยู่ในแผนกงาน SAL ส่วนพนักงานรหัส A01 ทางานอยู่แผนกงาน ACC หรือ
ความสัมพันธ์จากเอนทิตีงานไปยังเอนทิตีแผนกงาน ที่ระบุได้ว่ารหัสโครงการ P01 และ P02 อยู่ใน
ความรับผิดชอบของแผนกงาน SAL ส่วน P03 อยู่ในความรับผดิ ชอบของแผนกงาน ACC เป็นตน้
แต่จากแบบจาลองในรูปท่ี 4.30 หากต้องนามาพิจารณาความสัมพันธ์ของพนักงาน
รหสั S01 รับผดิ ชอบโครงการใดบ้าง จะไมส่ ามารถทาได้ เนอ่ื งจากไม่มีเส้นแสดงความสมั พนั ธ์ระหว่าง
เอนทิตพี นักงานและโครงการโดยตรง แต่หากพิจารณาเส้นแสดงความสัมพันธ์จากพนักงานผ่านไปยัง
แผนกงาน จะเห็นได้ว่าพนักงานรหัส S01 อยู่ในแผนกงาน SAL จากนั้นพิจารณาเส้นแสดง
ความสัมพันธ์จากแผนกงานไปยังโครงการ จะพบว่าแผนกงาน SAL รับผิดชอบงาน P01 และ P02
ดังน้ันปัญหาที่เกิดข้ึนคือ ไม่สามารถระบุได้ว่าพนักงาน S01 รับผิดชอบงาน P01 หรือ P02 และหาก
พิจารณาจากแอตทริบิวต์ของเอนทิตีจะพบว่าพนักงานและโครงการต่างไม่มีแอตทริบิวต์ท่ีจะใช้เชื่อม
ความสมั พันธ์ระหว่างกนั
วิธีแก้ไขปัญหาชนิด Fan Trap คือ การปรับโครงสร้างความสัมพันธ์ระหว่างเอนทิตี
ทั้งหมดใหม่ ซ่ึงไม่มีกฎเกณฑ์ตายตัวข้ึนอยู่กับการจัดลาดับโครงสร้างให้ครอบคลุมข้อกาหนด
ของระบบงานทต่ี อ้ งการ โดยทัว่ ไปจะทาการปรบั เพอื่ ไมใ่ หม้ ีการใช้เอนทิตีฝ่ัง 1 ร่วมกัน ดงั รปู ที่ 4.31
120 บทท่ี 4 แบบจาลองความสัมพนั ธร์ ะหวา่ งข้อมลู (E-R Diagram)
ระบบฐานขอ้ มูล (DATABASE SYSTEMS)
(a)
(b)
รปู ท่ี 4.31 แสดงการแก้ไขกรณขี อ้ ผดิ พลาดชนิด Fan Trap
จากรูปที่ 4.31 จะเห็นว่ามีการนาเอนทิตีโครงการและพนักงานมาสร้างความสัมพันธ์
แบบ 1 : M โดยให้โครงการเป็นฝ่ัง 1 เพ่ือให้สามารถทราบได้ว่าพนักงานรหัส S01 รับผิดชอบ
โครงการใดบ้าง และเมื่อพิจารณาความสัมพันธ์ระหว่างเอนทิตีแผนกงานกับโครงการจะเห็นว่า
เป็นแบบ 1 : M โดยฝั่ง M คือโครงการ ดังนั้นจึงจัดให้โครงการเป็นเอนทิตีระหว่างกลางของแผนก
งานและพนกั งาน ทาใหไ้ ม่มกี ารใชเ้ อนทิตีฝ่งั 1 ร่วมกัน ก็จะแกไ้ ขปญั หาดังกลา่ วได้
4.7.2 Chasm Traps
ความผิดพลาดชนิดนี้ เกิดจากความสัมพันธ์แบบ Participant คือการท่ีสมาชิกของ
เอนทิตีหน่ึงมีส่วนร่วมในความสัมพันธ์กับสมาชิกในเอนทิตีอ่ืนเพียงบางส่วน ทาให้ไม่สามารถระบุถึง
สมาชิกที่ไมถ่ กู จบั คู่ความสัมพันธ์นัน้ ได้
(a)
(b)
รูปที่ 4.32 แสดงตัวอย่างกรณีขอ้ ผิดพลาดชนดิ Chasm Trap
บทท่ี 4 แบบจาลองความสัมพันธร์ ะหว่างข้อมูล (E-R Diagram) 121
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
จากรูปที่ 4.32 ความสมั พันธ์ระหว่างเอนทติ ีสาขา พนักงาน และทดี่ ิน ของบริษัทจดั สรร
ท่ีดินแห่งหน่ึง สาขาตั้งอยู่ในหลายจังหวัด แต่ละสาขามีพนักงานประจาอยู่หลายคน พนักงานบางคน
จะต้องทาหน้าท่ีดูแลที่ดินของบริษัทจานวนหนึ่งที่ให้เช่า หรือที่ดินบางแห่งบริษัทอาจจะยังไม่ได้
มอบหมายให้พนักงานคนใดดูแล หมายความว่ามีพนักงานเพียงบางคนเท่าน้ันท่ีจะต้องดูแลที่ดินท่ีมี
อยู่แปลงอาจจะยงั ไม่มีพนกั งานคนใด
จากรูปท่ี 4.32 จะเห็นว่าความสัมพนั ธ์ระหว่างเอนทิตีพนักงานกับเอนทิตีที่ดนิ เป็นแบบ
Partial Participant ทั้ง 2 เอนทิตี หมายความว่า มีพนักงานบางคนไม่ต้องดูแลที่ดินของบริษัทก็ได้
เช่น พนักงานรหัส S02 ไม่ได้รับมอบหมายให้ดูแลที่ดินแห่งใดของบริษัทเลย ส่วนที่ดิน P2 ก็ยังไม่ได้
มอบหมายให้พนักงานคนใดดูแล ทาให้เส้นแสดงความสัมพันธ์ระหว่างสมาชิกของเอนทิตีทั้งสอง
ดงั กล่าวหายไป ปญั หาคอื ทาใหไ้ ม่ทราบวา่ ทีด่ ินรหัส P2 อย่สู าขาไหน หรือสาขาใดเปน็ ผู้ดแู ล
วิธีการแก้ปัญหาดังกล่าว คือ ให้สร้างเส้นเชื่อมความสัมพันธ์ระหว่างเอนทิตีสาขากับ
ที่ดนิ เพม่ิ อีกหน่ึงเส้นทาง ดงั รปู ท่ี 4.33
รูปที่ 4.33 แสดงการแก้ไขกรณขี อ้ ผดิ พลาดชนดิ Chasm Trap
122 บทท่ี 4 แบบจาลองความสัมพนั ธร์ ะหว่างข้อมูล (E-R Diagram)
ระบบฐานขอ้ มูล (DATABASE SYSTEMS)
4.8 โครงสรา้ ง E-R Diagram ทดี่ ี
E-R Diagram ท่ีดี จะต้องมคี ุณสมบัตดิ งั นี้
4.8.1 อธิบายได้ชดั เจน (Expressiveness)
E-R Diagram จะตอ้ งสามารถอธิบายโครงสรา้ งของขอ้ มูลได้อย่างชดั เจนและครบถว้ น
4.8.2 เรยี บง่าย (Simplicity)
E-R Diagram จะต้องมีรูปแบบที่ง่ายต่อการทาความเข้าใจ ซ่ึงอาจขัดแย้งคุณสมบัติ
ในข้อ 1 เนื่องจาก E-R Diagram ที่มีคุณสมบัติตามข้อ 1 มักจะมีขนาดใหญ่ และมีความซับซ้อนมาก
จึงยากทจ่ี ะจดั รูปแบบใหเ้ รยี บง่าย
4.8.3 ไม่สามารถตีความเปน็ อยา่ งอ่นื ได้ (Minimality)
รายละเอียดแต่ละส่วนที่ปรากฏบน E-R Diagram จะต้องชัดเจนและไม่สามารถตีความ
เปน็ อยา่ งอ่ืนได้อีก เช่น เอนทติ ขี องระบบ
4.8.4 มแี บบแผน (Formality)
รายละเอียดของข้อมูลแต่ละส่วนที่ปรากฏใน E-R Diagram จะต้องไม่ซ้าซ้อน และมี
รูปแบบที่เปน็ แบบแผนหรอื มีมาตรฐาน
บทที่ 4 แบบจาลองความสัมพันธ์ระหวา่ งข้อมูล (E-R Diagram) 123
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
4.9 การออกแบบฐานข้อมลู ดว้ ย E-R Diagram
การออกแบบฐานข้อมูลด้วย E-R Diagram มีข้ันตอนในการออกแบบ 2 ขั้นตอนใหญ่ ๆ
คือ การสรา้ ง E-R Diagram และการจัดทาพจนานกุ รมข้อมลู มีรายละเอียด ดังน้ี
4.9.1 การสรา้ ง E-R Diagram
ขั้นตอนการสร้างแผนภาพท่ีได้จากการวิเคราะห์ความต้องการของระบบ โดยผลลัพธ์ท่ี
ได้คือ E-R Diagram ท่ีนักวิเคราะห์ระบบหรือนักออกแบบฐานข้อมูล จะนาไปใช้ในการติดต่อกับกลุ่ม
ผใู้ ช้ระบบ เพ่ือให้เข้าใจได้งา่ ย และมีความถูกต้องชัดเจนมากข้ึน หลังจากนั้นจะต้องทาการปรับแก้ไข
ให้มีความละเอียดเพียงพอและเหมาะสมต่อการนาไปออกแบบฐานข้อมูล หรือจนกว่าจะได้ผลลัพธ์ที่
ผู้ออกแบบและพัฒนาระบบฐานข้อมูล จะนาไปสร้างเป็นแบบจาลองข้อมูลในระดับตรรกะได้ ซ่ึงมี
ขั้นตอนดังนี้
1.) วิเคราะห์ความต้องการของผใู้ ช้และกฎเกณฑ์ทางธุรกจิ (Business Rule)
โดยการศึกษาความต้องการของผู้ใช้ (Requirement Specification) ซ่ึงถือว่า
เป็นส่ิงสาคัญที่ให้รายละเอียดต่าง ๆ ที่เกี่ยวข้องกับระบบงานหรือกฎเกณฑ์การดาเนินงานทางธุรกิจ
(Business Rule) ทั้งในสว่ นระบบงานเดิมและระบบงานใหมท่ จี่ ะพัฒนาข้ึน
2.) กาหนดเอนทิตีทีค่ วรมีในระบบฐานข้อมูล
สร้างเอนทิตีขึ้นจากความต้องการของผู้ใช้ โดยการกาหนดเอนทิตีนั้นจะต้อง
คานงึ ถึงทกุ ประเภทของเอนทติ ี คอื เอนทติ ปี กตแิ ละเอนทติ แี บบออ่ น
3.) กาหนดความสมั พนั ธร์ ะหว่างเอนทิตี
สร้างความสัมพันธ์ระหว่างเอนทิตี ว่าแต่ละเอนทิตีมีความสัมพันธ์อย่างไรบ้าง
เพอ่ื กาหนดประเภทของความสมั พันธ์ เชน่ หน่ึงตอ่ กลมุ่ หรือ กลุ่มตอ่ กลุม่
4.) กาหนดแอตทริบวิ ต์ใหก้ บั เอนทิตีและความสัมพันธ์
กาหนดแอตทริบิวต์ของเอนทิตีว่าควรมีรายละเอียดอะไรบ้าง พร้อมท้ังพิจารณา
วา่ แตล่ ะแอตทรบิ วิ ต์เป็นแบบใด เชน่ Composite Attribute หรอื Derived Attribute
5.) กาหนดกญุ แจหลกั ของแต่ละเอนทติ ี
กาหนดกุญแจหลักของแต่ละเอนทิตี ว่าจะใช้แอตทริบิวต์ใดเป็นกุญแจหลักของ
เอนทิตีนั้น ซึ่งจะต้องเป็นรายละเอียดของข้อมูลท่ีมีค่าเป็นเอกลักษณ์ หรือค่าเฉพาะไม่ซ้าซ้อนใน
Entity น้ัน
6.) สรา้ งแผนภาพ E-R ของระบบ
จากการวิเคราะห์ทั้งหมดข้างต้น สามารถสร้างเป็น E-R Diagram โดยนา
ส่วนประกอบทั้งหมดมาสร้างเป็น E-R Diagram และอาจมีการปรบั ปรุงเค้าร่างใหม่ เพื่อทบทวน E-R
Diagram ทง้ั นเี้ พ่ือให้ไดแ้ บบจาลองข้อมูลที่สมบรู ณ์
124 บทท่ี 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมลู (E-R Diagram)
ระบบฐานข้อมลู (DATABASE SYSTEMS)
4.9.2 จัดทาพจนานุกรมข้อมลู
ส่ิงสาคัญ อย่างหนึ่ งท่ีควรจัดท าควบคู่กับ E-R Diagram เพื่ อความครบ ถ้วน
ในการออกแบบฐานข้อมูล คือ พจนานุกรมข้อมลู (Data Dictionary) ซงึ่ ใช้ในการอธิบายรายละเอียด
ของแบบจาลอง E-R Diagram ให้เกิดความชัดเจนข้ึน และใช้สาหรับบันทึกกฎเกณฑ์และข้อบังคับ
ต่าง ๆ ของข้อมูล (Domain Constraint) ที่ไม่สามารถแสดงรายละเอียดไว้ใน E-R Diagram ได้
โดยมรี ายละเอยี ดในการจดั ทาพจนานกุ รมขอ้ มูลดังน้ี
1. เอนทิตี ให้ระบุชื่อเอนทิตที งั้ หมดท่มี อี ย่ใู นระบบฐานข้อมลู
2. แอตทริบิวต์ ใหร้ ะบุชื่อแอตทริบิวต์ของเอนทิตเี ป็นภาษาองั กฤษ เพ่อื ใช้ในการเขียน
โปรแกรมซง่ึ จะได้อ้างอิงชอ่ื แอตทริบวิ ต์ได้อยา่ งถูกต้อง
3. คาอธบิ าย ใชอ้ ธิบายความหมายของแอตทรบิ วิ ต์ เชน่ EmpID คือ รหสั พนักงาน
4. ชนิดของข้อมูล เพ่ือบอกชนิดและขนาดของข้อมูลในแอตทริบิวต์นั้น ๆ
เชน่ เป็นตวั อักษร หรอื ตวั เลข เปน็ ตน้
5. กฎเกณฑ์ข้อบังคับ ใช้ระบุค่าที่เป็นไปได้ในแอตทริบิวต์น้ัน ๆ ว่ามีค่าเป็นอะไร
ไดบ้ า้ ง หรือวา่ มรี ปู แบบเปน็ อยา่ งไร
รูปที่ 4.34 แสดงตวั อย่าง E-R Diagram เพื่อจดั ทาพจนานกุ รมข้อมูล
บทท่ี 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมูล (E-R Diagram) 125
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
ตารางท่ี 4.2 แสดงตวั อย่างพจนานุกรมข้อมลู (Data Dictionary)
เอนทิตี แอตทริบวิ ต์ คาอธบิ าย ชนิดของข้อมลู กฎเกณฑ์ข้อบงั คบั
DepID DepID รหัสแผนกงาน Text(4)
DepName ชอื่ แผนกงาน Text(30) กญุ แจหลัก, หา้ มเปน็ ค่าว่าง, หา้ มซ้า
Employee EmpNo รหัสพนักงาน Text(4)
EmpName ชื่อ Text(30) หา้ มเปน็ คา่ ว่าง
EmpLastName สกลุ Text(30)
Position ตาแหน่ง Text(20) กุญแจหลัก, หา้ มเปน็ คา่ วา่ ง, หา้ มซ้า
Sex เพศ Text(1) ห้ามเป็นคา่ วา่ ง
BirthDate วนั เกิด Date หา้ มเปน็ คา่ ว่าง
Salary เงนิ เดอื น Number ห้ามเป็นค่าวา่ ง,
เขตขอ้ มลู = พนกั งานบัญช,ี ผจู้ ดั การ,
เจ้าหน้าที,่ พนักงานขาย
คา่ โดยปริยาย = เจา้ หนา้ ท่ี
ห้ามเป็นค่าว่าง,
เขตข้อมูล = ชาย, หญิง
หา้ มเป็นคา่ วา่ ง,
เปน็ ข้อมลู วนั ท่ีมรี ปู แบบข้อมูลคอื dd/mm/yy
หา้ มเป็นค่าว่าง,
เป็นข้อมลู ตวั เลข >=15,000 บาท
จากตารางที่ 4.2 ได้กาหนดคอลัมน์ ได้แก่ เอนทิตี แอตทริบิวต์ คาอธิบาย ชนิดของ
ขอ้ มูล และกฎเกณฑ์ข้อบังคบั โดยมเี ง่ือนไขบังคบั ดังนี้
1. กุญแจหลกั (Primary Key) หมายถึง กาหนดให้แอตทริบิวตท์ าหน้าท่ีเป็นกุญแจหลัก
(Primary Key) หรอื กญุ แจนอก (Foreign Key) ของรีเลชนั
2. หา้ มซ้า (Unique) หมายถึง แอตทรบิ วิ ต์ท่ีมีเงื่อนไขบงั คบั ห้ามมขี ้อมลู ซา้ กัน
3. ห้ามค่าว่าง (Not Null) หมายถึง แอตทริบิวต์ท่ีห้ามเป็นค่าว่าง เช่น ตัวอย่าง
ดังตารางที่ 4.2 ได้ระบุให้ทุกแอตทรบิ ิวต์ห้ามเป็นค่าว่าง เนื่องจากข้อมลู ทุกแอตทริบวิ ต์มีความสาคัญ
ทั้งส้นิ
4. เขตข้อมูล (Domain) หมายถึง ค่าของแอตทริบิวต์ที่อนุญาตให้มีได้ เช่น ตัวอย่าง
ดังตารางที่ 4.2 ในเอนทิตี Employee แอตทริบิวต์ Position กาหนดเขตข้อมูล = พนักงานบัญชี
ผู้จัดการ เจ้าหน้าท่ี พนักงานขาย และแอตทริบิวต์ Sex กาหนดเขตข้อมูล = ชาย หญิง
ซ่ึงหมายความว่า พนักงานหน่ึงคนจะมีตาแหน่งและเพศได้เฉพาะเง่ือนไขบังคับตามเขตข้อมูลท่ีระบุ
เทา่ น้นั
5. ค่าโดยปริยาย (Default Value) หมายถึง ค่าของแอตทริบิวต์ท่ีกาหนดให้เป็น
ค่าเริ่มต้นหากไม่มีการกาหนดข้อมูลเป็นอย่างอื่น เช่น ตัวอย่างในตารางที่ 4.2 ในในเอนทิตี
Employee แอตทริบิวต์ Position กาหนดค่าโดยปริยาย = เจ้าหน้าที่ หมายถึง หากมีการเพิ่มข้อมูล
ของพนักงานคนใหม่ ค่าเริ่มต้นของตาแหน่งงานที่ปรากฎจะเป็น เจ้าหน้าท่ี แต่ท้ังนี้สามารถกาหนด
เป็นตาแหน่งอ่ืนหรือแกไ้ ขใหม่ภายหลงั ได้
6. เง่ือนไขบังคับตรวจสอบ (Check Constraint) หมายถึง เงื่อนไขบังคับท่ีกาหนด
ขน้ึ เอง เช่น ตัวอย่างดังตารางท่ี 4.2 แอตทริบิวต์ Salary เป็นข้อมูลตัวเลข >=15,000 บาท หมายถึง
เงินเดอื นพนกั งานต้องเป็นค่าตัวเลขตัง้ แต่ 15,000 บาทข้นึ ไป
126 บทท่ี 4 แบบจาลองความสัมพันธร์ ะหวา่ งข้อมูล (E-R Diagram)
ระบบฐานข้อมลู (DATABASE SYSTEMS)
ตวั อย่างการสร้าง E-R Diagram ของระบบการส่งั ซ้ือสนิ ค้า
สาหรบั การสรา้ ง E-R Diagram ตามขั้นตอนการออกแบบฐานขอ้ มลู แสดงรายละเอียดไดด้ งั น้ี
1.) วเิ คราะห์ความต้องการของผใู้ ชแ้ ละกฎเกณฑ์ทางธุรกิจ (Business Rule)
บริษัท ABC เป็นบริษัทจัดจาหน่ายสินค้าหลายประเภท เม่ือลูกค้าต้องการท่ีจะสั่งซื้อ
สินค้าจะต้องส่ังซื้อผ่านตัวแทนขายเท่านั้น โดยการสั่งซื้อคร้ังแรกจะต้องมีการแจ้งช่ือ ท่ีอยู่ของลูกค้า
ให้กับตัวแทนขาย เพื่อบันทึกข้อมูลประวัติลูกค้า และตัวแทนขายจะต้องแจ้งรหัสลูกค้าให้กับ
ลูกค้าทราบ เพื่อเพิ่มความสะดวกในการจัดทารายการต่าง ๆ โดยท่ีลูกค้าไม่จาเป็นต้องแจ้งช่ือ ท่ีอยู่
ทกุ คร้ังในการสง่ั ซอื้ สนิ ค้าครง้ั ตอ่ ไป โดยมีลักษณะการทางานของระบบบดังนี้
1.1) ตัวแทน คือ ผู้ที่ทาหน้าท่ีในการติดต่อดูแลลูกค้า ตัวแทน 1 คน สามารถดูแล
ลูกค้าหลายคนได้ แตล่ กู ค้าหนงึ่ คนสามารถซ้อื กบั ตวั แทนขายได้เพยี งคนเดยี ว
1.2) สนิ ค้า คือ สนิ ค้าท่ีมีไว้เพอื่ จาหนา่ ยแกล่ ูกค้า ซ่ึงสินค้าแต่ละชนิด จะต้องทราบว่า
จัดอยู่ในประเภทสินค้าใด และประเภทสินค้า 1 ประเภท ประกอบด้วยสินค้าหลายชนิดได้ สาหรับ
ราคาสนิ คา้ จะเกบ็ เฉพาะราคาปัจจุบนั เท่านัน้
1.3) การสั่งซ้อื สินคา้ คือ รายละเอียดที่ลูกคา้ ส่งั ซื้อสินค้า ในการสั่งซอื้ สินค้าแต่ละครั้ง
จะสั่งซื้อสนิ ค้าได้หลายชนิด รวมท้ังเก็บราคาสินค้าที่ขายในแต่ละคร้ังไว้ด้วย เพ่ือช่วยให้ทราบว่าการขาย
แต่ละคร้ังราคาสินค้าเป็นเท่าไร (เนื่องจากราคาสินค้าในข้อ 2 จะเก็บเฉพาะราคาสินค้าปัจจุบัน
เทา่ นนั้ ) นอกจากนี้ในใบส่ังซ้อื สนิ คา้ จะระบวุ ันทส่ี งั่ ซ้อื สินคา้ และวันทีต่ ้องการสินค้าไว้ด้วย
2.) กาหนดเอนทติ ีทคี่ วรมีในระบบฐานข้อมูล
จากการวิเคราะห์ข้อมูลที่ควรมีในระบบฐานข้อมูล สามารถกาหนดเอนทิตีท่ีจาเป็น
สาหรับระบบการส่ังซอ้ื สินค้า ได้ดงั นี้
รูปท่ี 4.35 แสดงตวั อย่างเอนทติ ีในระบบการสั่งซื้อสนิ คา้ ของบริษัท ABC
บทที่ 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมลู (E-R Diagram) 127
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
3.) กาหนดความสัมพันธ์ระหวา่ งเอนทติ ี
จากข้อกาหนดและสมมติฐานต่าง ๆ ที่ได้ทาการศึกษามา สามารถกาหนดความสัมพันธ์
ระหว่างเอนทติ ี ได้ดังนี้
3.1) ความสัมพันธ์ กลุ่มสินค้า ระหว่างเอนทิตีประเภทสินค้า กับเอนทิตีสินค้า
เป็นแบบ 1 : M ดงั รูปท่ี 4.36
รูปท่ี 4.36 แสดงความสมั พันธร์ ะหว่างเอนทติ ีประเภทสินคา้ กบั เอนทิตีสนิ ค้า
3.2) ความสัมพันธ์ ดูแลการขาย ระหว่างเอนทิตีตัวแทน กับเอนทิตีลูกค้าเป็นแบบ
1 : M ดงั รูปท่ี 4.37
รปู ที่ 4.37 แสดงความสัมพันธร์ ะหวา่ งเอนทติ ีตวั แทนกับเอนทติ ีลูกคา้
3.3) ความสัมพนั ธ์ สงั่ ซือ้ ระหว่างเอนทติ ีลกู คา้ กบั เอนทิตีใบสั่งซ้ือ เป็นแบบ 1 : M
ดงั รูปที่ 4.38
รูปท่ี 4.38 แสดงความสัมพันธ์ระหวา่ งเอนทติ ีลูกค้ากบั เอนทิตีใบสง่ั ซ้ือ
128 บทที่ 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมลู (E-R Diagram)
ระบบฐานขอ้ มูล (DATABASE SYSTEMS)
3.4) ความสมั พนั ธ์ สง่ั รายการ ระหว่างเอนทติ ีใบสงั่ ซื้อ กบั เอนทติ สี ินค้า เป็นแบบ
M : N ดงั รปู ที่ 4.39
N
รปู ที่ 4.39 แสดงความสมั พันธร์ ะหวา่ งเอนทติ ีใบส่ังซ้อื กบั เอนทติ ีสนิ คา้
เมื่อความสัมพันธ์เป็นแบบ M : N สามารถแปลงความสัมพันธ์นี้ให้เป็น เอนทิตี
เชิงความสัมพันธ์ (Associative Entity) โดยใช้สัญลักษณ์รูปส่ีเหลี่ยมขนมเปียกปูนซ้อนอยู่ในรูป
สีเ่ หล่ยี มผนื ผ้า จากนั้นเปลี่ยนประเภทความสมั พนั ธ์จาก M : N ใหเ้ ปน็ 1 : M ดงั รูปที่ 4.40
รปู ท่ี 4.40 แสดงการแปลงความสัมพนั ธแ์ บบ M : N เป็นเอนทติ ีเชงิ ความสมั พันธ์
4.) กาหนดแอตทริบิวต์ใหก้ ับเอนทิตีและความสัมพนั ธ์
จากการวิเคราะห์ข้อมูลที่ควรมีในระบบฐานข้อมลู สามารถกาหนดแอตทริบิวต์ในแต่ละ
เอนทติ แี ละความสัมพนั ธ์ ได้ดังนี้
4.1) ประเภทสนิ ค้า ประกอบด้วย รหัสประเภทสินคา้ ช่ือประเภทสินค้า รายละเอียด
ประเภทสนิ คา้
4.2) สินค้า ประกอบด้วย รหัสสินค้า ชื่อสินค้า รายละเอียดสินค้า ราคาต่อหน่วย
จานวนคงคลัง
4.3) ตวั แทน ประกอบดว้ ย รหสั ตวั แทน ช่อื ตัวแทน โทรศพั ท์
4.4) ลูกค้า ประกอบด้วย รหัสลูกค้า ชื่อลูกค้า ช่ือผู้ติดต่อ สถานที่ตั้ง จังหวัด
โทรศพั ท์
4.5) ใบสง่ั ซือ้ ประกอบดว้ ย เลขท่ใี บส่ังซอ้ื วนั ท่สี ัง่ ซอ้ื วันท่ตี อ้ งการสนิ คา้
4.6) รายการสง่ั ซอื้ ประกอบดว้ ย ปรมิ าณ ราคาตอ่ หน่วยท่ีขาย
บทท่ี 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมลู (E-R Diagram) 129
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
5.) กาหนดกญุ แจหลกั ของแตล่ ะเอนทติ ี
จากการวิเคราะห์ข้อมูลท่ีควรมีในระบบฐานข้อมูล สามารถกาหนดแอตทริบิวต์ท่ีเป็น
กุญแจหลัก ใหแ้ ตล่ ะเอนทติ ี ได้ดังน้ี
5.1) ประเภทสนิ ค้า ใช้แอตทรบิ ิวต์ รหัสประเภทสนิ ค้า
5.2) สินคา้ ใช้แอตทริบิวต์ รหัสสินค้า
5.3) ตัวแทน ใช้แอตทรบิ ิวต์ รหสั ตัวแทน
5.4) ลูกคา้ ใช้แอตทรบิ ิวต์ รหัสลูกค้า
5.5) ใบสั่งซ้ือ ใช้แอตทรบิ วิ ต์ เลขทีใ่ บส่ังซ้ือ
6.) สรา้ ง E-R Diagram ของระบบ
รูปท่ี 4.41 แสดง E-R Diagram ระบบการสั่งซื้อสินค้าของบรษิ ัท ABC
130 บทที่ 4 แบบจาลองความสัมพันธร์ ะหวา่ งข้อมูล (E-R Diagram)
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
2. จัดทาพจนานกุ รมขอ้ มูล
จากการวิเคราะห์ข้อมูลที่ควรมีในระบบฐานข้อมูล สามารถสร้างพจนานุกรมข้อมูล (Data
Dictionary) ระบบการสง่ั ซอ้ื สนิ คา้ ของบริษทั ABC ไดด้ ังตารางที่ 4.3 แสดงรายละเอียดดังน้ี
ตารางท่ี 4.3 แสดงพจนานกุ รมข้อมูล (Data Dictionary) ระบบการสั่งซ้ือสินคา้ ของบริษทั ABC
เอนทติ ี แอตทรบิ ิวต์ คาอธบิ าย ชนิดของขอ้ มลู กฎเกณฑ์ขอ้ บังคบั
Seller SellerNo รหสั ตัวแทน Text(3) กุญแจหลัก
SellerName ชอ่ื ตัวแทน Text(30)
Customer SellerTel โทรศัพท์ Text(10) หา้ มคา่ วา่ ง
Customer_No รหัสลูกคา้ Text(3) หา้ มค่าวา่ ง
CustomerName ชอ่ื ลูกคา้ Text(30) กุญแจหลัก
ห้ามคา่ ว่าง
CustomerContact ชอื่ ผตู้ ดิ ต่อ Text(30) ชือ่ ลูกคา้ คือ ช่อื ร้านค้า
CustomerAddress สถานที่ตัง้ Text(50) ชื่อผตู้ ิดต่อ คอื ชอ่ื เจ้าของรา้ น
หา้ มคา่ วา่ ง
TypeProduct CustomerProvince จงั หวดั Text(30) ประกอบดว้ ย บา้ นเลขที่
Product CustomerTel โทรศัพท์ Text(10) ถนน อาเภอ
Order TypeNo รหสั ประเภทสินคา้ Text(2)
TypeName ชอ่ื ประเภทสินค้า Text(30) ห้ามค่าวา่ ง
TypeDetail รายละเอยี ด Text(30) ห้ามค่าว่าง
ประเภทสนิ คา้ กุญแจหลกั
ProductNo รหสั สนิ คา้ หา้ มค่าว่าง
ProductName ชอ่ื สินคา้
ProductDetail รายละเอยี ดสนิ ค้า Text(4) กญุ แจหลกั
UnitPrice ราคาตอ่ หน่วย Text(30) หา้ มค่าวา่ ง
Onhand จานวนคงคลงั Text(30)
OrderNo เลขทีใ่ บส่งั ซ้ือ Number เป็นข้อมลู ตัวเลข
OrderDate วนั ที่ส่งั ซือ้ Number เปน็ ขอ้ มูลตวั เลข
Text(8) กญุ แจหลัก
OrderDetail ReceiveDate วนั ที่ต้องการสนิ ค้า Date หา้ มค่าว่าง
เป็นขอ้ มลู วนั ท่ี
Quantity ปริมาณ Date ท่มี ีรปู แบบ dd/mm/yy
UnitPriceSale ราคาต่อหนว่ ยขาย เปน็ ข้อมลู วนั ท่ี
Number ที่มีรปู แบบ dd/mm/yy
Number ห้ามคา่ วา่ ง
ห้ามค่าวา่ ง
บทที่ 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมูล (E-R Diagram) 131
ระบบฐานข้อมูล (DATABASE SYSTEMS)
สรปุ ทา้ ยบท
การออกแบบฐานข้อมูลเชิงแนวคิด (Conceptual Data Modeling) เป็นข้ันตอนของ
การกาหนดโครงร่างหลักของฐานข้อมูลตามแนวคิดในระดับภาพรวม แบ่งเป็น 2 ขั้นตอนหลัก คือ
Presentation Layer E-R Model เป็นขนั้ ตอนการสรา้ งแผนภาพที่ไดจ้ ากการวเิ คราะห์ความต้องการ
ของระบบมาสร้างเป็น E-R Diagram และ Design-Specific E-R Model เป็นข้ันตอนการปรับแต่ง
E-R Diagram ที่ได้มาจากข้ันตอนแรก ให้มีความละเอียดเพียงพอต่อการนาไปออกแบบฐานข้อมูล
มากข้นึ
E-R Diagram เป็นแบบจาลองแสดงความสัมพันธ์ระหว่างข้อมูล ประกอบด้วย เอนทิตี
(Entity) แอตทริบวิ ต์ (Attribute) และความสมั พนั ธ์ (Relationship)
เอนทิตี หมายถึง ส่ิงต่าง ๆ ท่ีผู้ใชต้ ้องการจัดเก็บในฐานข้อมลู แบ่งออกเป็น 3 ประเภทด้วยกัน
ได้แก่ เอนทิตีปกติ (Strong Entity) เอนทิตีแบบอ่อน (Weak Entity) และเอนทิตีเชิงความสัมพันธ์
(Associative Entity)
แอตทริบิวต์ คือ ขอ้ มูลท่ีใช้อธิบายรายละเอียดหรือคุณสมบตั ิของแต่ละเอนทิตี สามารถแบ่งได้
ดั งน้ี Simple Attribute, Composite Attribute, Identifier Attribute, Single Valued Attribute,
Multi-Valued Attribute และ Derived Attribute
ซ่งึ ความสัมพันธ์ระหว่างเอนทิตีแบ่งได้เป็น 3 ประเภท ความสัมพันธ์แบบหน่ึงต่อหน่ึง (1 : 1)
ความสัมพันธแ์ บบหนึ่งต่อกลมุ่ (1 : M) และความสมั พันธแ์ บบกลุม่ ตอ่ กลมุ่ (M : N)
สาหรบั ระดับของความสมั พันธ์จะเป็นตัวแสดงถึงจานวนเอนทิตที ่ีเกย่ี วข้องหรือมีความสัมพันธ์
ระหว่างกัน แบ่งออกได้เป็น 3 รูปแบบ คือ ความสัมพันธ์แบบยูนารี (Unary Relationship)
ความสัมพันธ์แบบไบนารี (Binary Relationship) และความสัมพันธ์แบบเทอร์นารี (Ternary
Relationship)
ในส่วนข้อบังคับของการมีส่วนร่วม (Participation Constraints) มีความสัมพันธ์ 2 อย่าง
ได้แก่ ความสัมพันธ์แบบมีทางเลือก (Partial Participation) และความสัมพันธ์แบบบังคับ (Total
Participation) ข้อผิดพลาดที่เกิดข้ึนของการจาลองความสัมพันธ์ระหว่างข้อมูลด้วย E-R Model
เรียกวา่ Connection Trap ซ่ึงเปน็ ความผิดพลาดที่เกดิ จากการเข้าใจความหมายของความสัมพันธ์ท่ี
คลาดเคล่อื น แบง่ ได้เปน็ 2 ลักษณะ คือ Fan Trap และ Chasm Trap
สิ่งสาคัญอย่างหน่ึงที่จัดทาควบคู่กับ E-R Diagram เพื่อความครบถ้วนในการออกแบบ
ฐานข้อมูล คอื พจนานุกรมข้อมูล (Data Dictionary) ซึง่ ใช้ในการอธิบายรายละเอียดของแบบจาลอง
E-R Diagram ให้เกิดความชัดเจนขึ้น และใช้สาหรับบันทึกกฎเกณฑ์และข้อบังคับต่าง ๆ ของข้อมูล
ท่ีไมส่ ามารถแสดงรายละเอยี ดไวใ้ น E-R Diagram
132 บทท่ี 4 แบบจาลองความสัมพันธร์ ะหวา่ งข้อมลู (E-R Diagram)
ระบบฐานข้อมูล (DATABASE SYSTEMS)
แบบประเมนิ ผลการเรียนรู้
บทท่ี 4 แบบจาลองความสัมพนั ธ์ระหว่างข้อมลู (E-R Diagram)
จงตอบคาถามตอ่ ไปนี้
1. จงอธิบายแนวคิดของ E-R Model
2. จงอธบิ ายพรอ้ มแสดงสญั ลักษณข์ อง E-R Diagram
3. จงอธบิ ายลักษณะของเอนทิตปี กติ (Strong Entity) และยกตัวอย่าง
4. จงอธิบายลักษณะเอนทิตีแบบอ่อน (Weak Entity) และยกตวั อยา่ ง
5. จงอธบิ ายลักษณะเอนทติ เี ชงิ ความสัมพนั ธ์ (Associative Entity) และยกตัวอยา่ ง
6. จงอธบิ ายลกั ษณะของแอตทรบิ วิ ตธ์ รรมดา (Simple Attribute) และยกตัวอยา่ ง
7. จงอธิบายลักษณะของแอตทรบิ วิ ต์แบบรว่ ม (Composite Attribute) และยกตวั อยา่ ง
8. จงอธบิ ายลักษณะของแอตทริบิวตต์ ัวชเี้ ฉพาะ (Identifier Attribute) และยกตัวอย่าง
9. จงอธิบายลกั ษณะของแอตทรบิ วิ ตค์ ่าเดยี ว (Single Valued Attribute) และยกตัวอยา่ ง
10. จงอธบิ ายลักษณะของแอตทรบิ วิ ตห์ ลายค่า (Multi-Valued Attribute) และยกตวั อยา่ ง
11. จงอธิบายลกั ษณะของแอตทริบวิ ต์สืบเนอื่ ง (Derived Attribute) และยกตวั อยา่ ง
12. จงอธิบายความสมั พนั ธ์แบบหนง่ึ ต่อหนง่ึ (1:1) พร้อมท้งั ยกตัวอยา่ ง
13. จงอธิบายความสัมพันธแ์ บบหนง่ึ ต่อกลมุ่ (1:M) พรอ้ มทัง้ ยกตวั อยา่ ง
14. จงอธิบายความสัมพันธ์แบบกลมุ่ ต่อกลุ่ม (M: N) พรอ้ มท้ังยกตัวอยา่ ง
15. ความสมั พันธ์แบบยูนารี (Unary) เปน็ ความสัมพันธ์แบบใด พร้อมยกตัวอย่าง
16. ความสัมพนั ธ์แบบไบนารี (Binary) เปน็ ความสมั พันธแ์ บบใด พรอ้ มยกตวั อย่าง
17. ความสัมพันธแ์ บบเทอร์นารี (Ternary) เปน็ ความสัมพันธแ์ บบใด พร้อมยกตวั อยา่ ง
18. ความสมั พนั ธ์แบบบังคับตามขอ้ บงั คับของการมสี ่วนรว่ ม เป็นความสัมพันธแ์ บบใด
19. ปัญหาท่เี กยี่ วกบั แบบจาลอง E-R ประเภท Fan Traps เป็นปญั หาทีเ่ กิดจากความสัมพันธ์ใด
20. ปญั หาที่เก่ยี วกับแบบจาลอง E-R ประเภท Chasm Traps เป็นปญั หาท่ีเกิดจากความสัมพันธ์ใด
21. โครงสร้าง E-R Diagram ท่ีดี ควรมลี ักษณะอยา่ งไร
22. จงอธบิ ายถงึ ข้นั ตอนในการสร้าง E-R Diagram
23. ในการจัดทา E-R Diagram มีสิง่ สาคญั อยา่ งหนึ่งทคี่ วรทาควบคู่กัน ได้แกอ่ ะไร
และมีรายละเอียดในการจัดทาอยา่ งไร
บทท่ี 4 แบบจาลองความสัมพันธ์ระหวา่ งข้อมลู (E-R Diagram) 133
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
ใบงาน
บทที่ 4 แบบจาลองความสมั พนั ธร์ ะหว่างข้อมูล (E-R Diagram)
จงปฏบิ ัตติ ามคาส่ังต่อไปน้ี
1. จาก E-R Diagram ต่อไปนี้ จงตอบคาถาม
ให้วิเคราะห์ความสัมพันธ์ระหว่างเอนทิตีนักศึกษาและวิชา และปรับแก้ไข E-R Diagram
ข้างตน้ ตามกฎเกณฑแ์ ละเง่ือนไข (Business Rule) ดังน้ี
1.) การลงทะเบียนเรียนของนักศกึ ษาบางรายวิชา จะต้องตรวจสอบเงอื่ นไขวิชาว่า รายวิชาน้ัน
มวี ชิ าทต่ี ้องเรียนมากอ่ นหรอื ไม่
2.) ถ้าระบบต้องการเก็บข้อมูลประวัติการลงทะเบียนเรียนของนักศึกษาแต่ละคนไว้ด้วย
เพื่อให้สามารถตรวจสอบได้ว่าในแต่ละภาคการศึกษาของปีการศึกษาหนึ่ง นักศึกษา
แต่ละคนมกี ารลงทะเบยี นเรียนวชิ าใดบา้ ง
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
134 บทท่ี 4 แบบจาลองความสัมพันธ์ระหวา่ งข้อมลู (E-R Diagram)
ระบบฐานข้อมูล (DATABASE SYSTEMS)
ใบงาน
บทท่ี 4 แบบจาลองความสมั พนั ธร์ ะหว่างข้อมูล (E-R Diagram)
จงปฏิบัตติ ามคาส่ังตอ่ ไปน้ี
2. จากลักษณะหนา้ ที่การทางานตอ่ ไปนี้ จงตอบคาถาม
1.) บริษัทมีสวัสดิการให้กับพนักงาน โดยพนักงานท่ีเดินทางมาทางานด้วยรถยนต์ส่วนตัว
บริษัทจะมีที่จอดรถไว้บริการ ซ่ึงพนักงานแต่ละคนจะได้สิทธ์ิสาหรับจอดรถคนละหน่ึงที่
และที่จอดรถนนั้ จะถูกจดั สรรให้แก่พนกั งานเพียงคนเดียว
2.) ศูนย์วิทยบริการของมหาวิทยาลัยมีหนังสือไว้ให้นักศึกษาได้เรียนรู้หลายประเภท เช่น
แบบเรียนและตาราวิชาการ หนังสือความรทู้ ่ัวไป และปริญญานิพนธ์ ซ่ึงแต่ละประเภท
จะมีหนงั สือมากมายหลายเรื่อง
3.) คลินิกทันตกรรมมีทันตแพทย์ท่ีทาการรักษาคนไข้หลายคน ซ่ึงคนไข้แต่ละคนสามารถ
เลอื กรักษากบั ทนั ตแพทย์คนใดก็ได้
4.) ห้างสรรพสินค้าต้องการเก็บประวัติการขายสินค้าของพนักงานแต่ละคนว่า สามารถทา
ยอดขายสินค้าได้เป็นจานวนเท่าใดในแต่ละเดือน เพ่ือจะนาข้อมูลการขายของพนักงาน
ไปคดิ โบนัสตอนส้ินปี
5.) มหาวิทยาลัยกาหนดให้อาจารย์แต่ละคนสามารถตีพิมพ์ผลงานทางวิชาการได้มากกว่า
หน่งึ เร่อื ง และผลงานวชิ าการแต่ละเร่ืองสามารถมผี ู้ร่วมทาไดม้ ากกวา่ หนึ่งคน
หมายเหตุ : รายละเอียดแต่ละข้อไม่มีความสัมพันธ์กัน
ให้สร้าง E-R Diagram เพ่ือแสดงให้เห็นความสัมพันธ์ระหว่างเอนทิตี โดยให้กาหนดแอตทริบิวต์
เพิ่มเตมิ ได้ตามความเหมาะสม
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
บทที่ 4 แบบจาลองความสัมพนั ธร์ ะหวา่ งข้อมลู (E-R Diagram) 135
ระบบฐานข้อมลู (DATABASE SYSTEMS)
ใบงาน
บทที่ 4 แบบจาลองความสมั พนั ธ์ระหว่างขอ้ มลู (E-R Diagram)
จงปฏบิ ตั ติ ามคาสัง่ ต่อไปน้ี
3. จากลักษณะหน้าทกี่ ารทางานของคลนิ กิ รกั ษาสตั ว์ จงตอบคาถาม
รายละเอียดของข้อมูลท่ีต้องการจัดเก็บมีดงั น้ี
1.) สตั วแพทย์ ไดแ้ ก่ ชอื่ , ทอ่ี ยู่ และหมายเลขโทรศัพท์
2.) เจา้ ของสัตวเ์ ลี้ยง ได้แก่ ช่อื และท่อี ยู่
3.) สตั วเ์ ลีย้ ง ได้แก่ ชอื่ , ประเภทสัตวเ์ ลี้ยง , วนั เกดิ และอายุ
กฎเกณฑท์ างธุรกจิ ของคลินกิ (Business rule) มดี งั นี้
1.) คลินิคมีสัตวแพทย์ที่ทาการตรวจรักษาสัตวเ์ ลี้ยงหลายคน ขณะที่การตรวจรักษาแต่ละคร้ัง
สัตว์เลย้ี งจะได้รับการตรวจรกั ษาจากสตั วแพทยค์ นใดก็ได้
2.) สัตวเ์ ล้ยี งทุกตัวทม่ี ารับการรกั ษาจะตอ้ งมเี จา้ ของสัตว์เล้ียง
3.) คลินิกทาการตรวจรกั ษาสัตวเ์ ล้ยี งหลายประเภท
4.) การตรวจรักษาแต่ละครั้ง สตั วเ์ ล้ยี งแต่ละตัวจะไดร้ ับการตรวจรักษาจากสตั วแพทย์เพยี ง
คนเดียวเท่านั้น ข้อมูลท่ีต้องถูกบันทึกในการตรวจรักษาสัตว์เล้ียงแต่ละครั้งคือ วันท่ี
ตรวจรกั ษา และผลการตรวจรักษา
ใหส้ รา้ ง E-R Diagram เพ่ือแสดงให้เหน็ ความสมั พันธร์ ะหว่างขอ้ มูลของระบบ
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
136 บทที่ 4 แบบจาลองความสัมพันธร์ ะหวา่ งข้อมูล (E-R Diagram)
ระบบฐานขอ้ มูล (DATABASE SYSTEMS)
ใบงาน
บทที่ 4 แบบจาลองความสัมพันธร์ ะหว่างข้อมลู (E-R Diagram)
จงปฏิบตั ติ ามคาสงั่ ต่อไปน้ี
4. จาก E-R Diagram ต่อไปน้ี จงตอบคาถาม
ใหเ้ ขยี นกฎเกณฑ์ทางธุรกิจ (Business Rule) เพ่ืออธิบายความสัมพันธ์ระหว่างเอนทิตี
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
………….……………………………...........……………………………………………………………………………………………
บทท่ี 4 แบบจาลองความสัมพนั ธร์ ะหว่างข้อมลู (E-R Diagram) 137
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
ใบงาน
บทท่ี 4 แบบจาลองความสัมพนั ธร์ ะหว่างข้อมูล (E-R Diagram)
จงปฏิบัติตามคาส่ังต่อไปนี้
5. จากรเี ลชันตอ่ ไปนี้ จงตอบคาถาม
พนกั งาน ชือ่ พนกั งาน วนั เกิด คู่สมรส
รหัสพนักงาน กตัญญู รูค้ ุณ 12/3/2548 103
สะอาด บริสทุ ธิ์ 23/1/2546 105
101 ประกายดาว ทอสรี ุ้ง 18/1/2544 101
102 กลา้ แกรง่ แหลมคม 10/4/2545 -
103 พอใจ ยินดี 16/6/2549 102
104 ปัญญา เฉียบแหลม 19/9/2541 -
105
106
สมาชิกในครอบครวั ลาดับท่ี ชือ่ สมาชิก
รหัสพนักงาน 1 เพลนิ ตา ร้คู ณุ
101 2 พรบิ พราว รคู้ ุณ
101 3 พรมิ้ พราย รู้คณุ
101 1 ภูผา บริสุทธิ์
102 2 ขุนเขา บรสิ ุทธิ์
102
กฎเกณฑ์ทางธรุ กจิ ของบรษิ ทั (Business rule) มดี งั น้ี
บริษัทแห่งหนึ่งมีสวัสดิการเรื่องการรักษาพยาบาลให้กับพนักงานและสมาชิกในครอบครัว
โดยท่ีพนักงานแต่ละคนอาจจะมีหรือไม่มีสมาชิกในครอบครัวก็ได้ แต่สมาชิกในครอบครัวของ
พนกั งานจะมไี ดก้ ็ตอ่ เมอ่ื มพี นักงานคนใดคนหน่ึงเป็นพนกั งานของบรษิ ัทนเ้ี ทา่ นั้น
ใหส้ รา้ ง E-R Diagram เพอ่ื แสดงให้เหน็ ความสัมพันธร์ ะหว่างข้อมลู ทัง้ 2 รีเลชัน
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
138 บทท่ี 4 แบบจาลองความสัมพนั ธร์ ะหว่างข้อมูล (E-R Diagram)
ระบบฐานขอ้ มลู (DATABASE SYSTEMS)
ใบงาน
บทท่ี 4 แบบจาลองความสัมพันธ์ระหว่างขอ้ มูล (E-R Diagram)
จงปฏิบัติตามคาสงั่ ต่อไปนี้
6. จากโครงร่างฐานขอ้ มลู เชงิ สมั พนั ธ์ตอ่ ไปนี้ จงตอบคาถาม
CousreType (CousreTypeID, CourseType)
Course (CourseID, CourseName, CourseDescript, CourseTypeID)
Instructor (InstID, lnstName, lnstType, lnstPhone, lnstMail)
Training (TrainingID, ProjectMan, CourseID, TrainingDate, TrainingTime,
FinishDate, InstID, Material, TrainLocate, TrainDescript)
CostDetal (CostID, TrainingID, CostName, Cost, CostDescript)
Employee (EmpID, EmpName, EmpPosition, EmpDivision, EmpPhone)
TrainingDetail (TrainingID, EmpID, RegDate, TrainDescript)
ลกั ษณะหนา้ ท่กี ารทางานของระบบจดั เกบ็ ข้อมลู ฝึกอบรมของพนกั งานมีดงั น้ี
บริษัทต้องการจัดเก็บข้อมูลเก่ียวกับการฝึกอบรมของพนักงานในหน่วยงาน เพ่ือให้
ทราบว่าพนักงานแต่ละคนได้ผ่านการฝึกอบรมหลักสูตรใดบ้าง และแต่ละหลักสูตรใครเป็น
วิทยากร รวมถึงข้อมูลอ่ืน ๆ ท่ีสามารถนามาวิเคราะห์เพ่ือจัดฝึกอบรมในคร้ังถัดไปได้
รายละเอียดของขอ้ มลู ทต่ี อ้ งการจัดเกบ็ มีดงั นี้
CoursType เกบ็ ข้อมลู ประเภทของหลกั สูตร
Course เกบ็ ข้อมลู หลกั สูตรที่เปิดอบรม
Instructor เกบ็ ข้อมลู วิทยากร
Training เก็บข้อมูลการฝึกอบรม
CostDetail เกบ็ ข้อมลู รายละเอยี ดค่าใชจ้ ่าย
Employee เก็บข้อมูลพนักงานที่เข้าฝึกอบรม
TrainingDetail เกบ็ รายละเอยี ดการฝกึ อบรมของพนักงาน
ใหส้ รา้ ง E-R Diagram เพ่อื แสดงใหเ้ หน็ ความสัมพันธร์ ะหวา่ งขอ้ มูลของระบบ
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
………….………………………...........…………………………………………………………………………………………………
บทที่ 4 แบบจาลองความสัมพันธร์ ะหวา่ งข้อมลู (E-R Diagram) 139