บทที่ 6
- 2. โมเดลจำลองควำมสัมพันธ์ระหว่ำงข้อมูล (Entity-Relationship Model : E-R Model) เป็น
อีกแนวคิดที่ใช้เครื่องมืออย่ำงหนึ่งในกำรออกแบบฐำนข้อมูล ซึ่งได้รับควำมนิยมเช่นเดียวกับโมเดลเชิง
สัมพันธ์ ในหน่วยนี้จะกล่ำวถึงแนวคิดและขั้นตอนในกำรเขียนโมเดลแบบ E-R
แนวคิดเกี่ยวกับโมเดลแบบ E-R
กำรสร้ำงโมเดลแบบ E-R จะมีแนวคิดที่เกี่ยวข้อง ได้แก่ เรื่องของเอนทิตี คุณลักษณะ
ควำมสัมพันธ์ระหว่ำงเอนทิตี รวมทั้งสัญลักษณ์ในโมเดลแบบ E-R
- 3. 1. เอนทิตี
ในกำรสร้ำงโมเดลแบบ E-R จะต้องกำหนดว่ำในระบบที่ออกนั้นๆ จะประกอบด้วยเอนทิตี
อะไรบ้ำง เช่น ในระบบฐำนข้อมูลงำนทะเบียนนักศึกษำจะประกอบด้วยเอนทิตีนักศึกษำเอนทิตีกำร
ลงทะเบียน เอนทิตีวิชำ และเอนทิตีอำจำรย์เป็นต้น
2. คุณลักษณะของเอนทิตี
เป็นกำรกำหนดแอททริบิวต์ต่ำงๆ ในแต่ละเอนทิตีนั่นเอง นอกจำกนี้ยังอำจประกอบด้วย
รำยละเอียด เช่น แอททริบิวต์ใดเป็นคีย์หรือเป็นข้อมูลที่แปลค่ำมำ เป็นต้น
3. ควำมสัมพันธ์ระหว่ำงเอนทิตี
เป็นกำรระบุว่ำเอนทิตีต่ำงๆ มีควำมสัมพันธ์กันอย่ำงไร ลักษณะควำมสัมพันธ์อำจเป็นแบบหนึ่ง
ต่อหนึ่ง หนึ่งต่อกลุ่ม หรือแบบกลุ่มต่อกลุ่ม โดยคำนึงถึงกำรที่ข้อมูลทุกข้อมูลหรือเพียงบำงข้อมูลของ
เอนทิตีหนึ่ง มีควำมสัมพันธ์กับข้อมูลของเอนทิตีหนึ่ง ซึ่งพอจะกล่ำวให้ละเอียดลงไปได้ดังนี้
- 4. 3.1 แบบ Total Participation เป็นลักษณะที่ข้อมูลทุกข้อมูลของเอนทิตีหนึ่งมีควำมสัมพธ์กับ
ข้อมูลของอีกเอนทิตีหนึ่ง ตัวอย่ำงเช่น ถ้ำกำหนดว่ำอำจำรย์แต่ละคนจะสังกัดคณะวิชำใด คณะวิชำหนึ่ง
เท่ำนั้น จะสำมำรถแสดงดัง รูปที่ 6.1
อำจำรย์ควำมสัมพันธ์ “ทำงำน” คณะวิชำ
จำกตัวอย่ำงข้ำงต้น จะเห็นได้ว่ำ ถ้ำไม่มีเอนทิตีอำจำรย์ ก็ย่อมจะไม่มีเอนทิตีคณะวิชำ ใน
ลักษณะเช่นนี้เรำเรียกเอนทิตีคณะวิชำว่ำเป็น เอนทิตีชนิดอ่อนแอ (Weak Entity)
เอนทิตีอ่อนแอ จะมีควำมสัมพันธ์กับอีกเอนทิตีหนึ่งที่มีควำมหมำยกับตัวมัน (Owner Entity)
และเรำเรียกควำมสัมพันธ์ระหว่ำงเอนทิตีอ่อนแอกับเอทิตีที่มีควำมหมำยกับตัวมันว่ำเป็นควำมสัมพันธ์
ชนิด Identifying Relationship
- 5. 3.2 แบบ Partial Participation เป็นลักษณะที่ข้อมูลของเอนทิตีหนึ่ง มีควำมสัมพันธ์กับข้อมูลของ
อีกเอนทิตีหนึ่ง ตัวอย่ำง กำหนดว่ำจะมีอำจำรย์เพียงบำงคนเท่ำนั้นที่เป็นคณบดี จะสำมำรถแสดงดังรูปที 6.2
อำจำรย์ ควำมสัมพันธ์ “เป็นคณบดี” คณะวิชำ
จำกตัวอย่ำงข้ำงต้น จะเห็นได้ว่ำ ข้อมูลอำจำรย์เพียงบำงคนเท่ำนั้นจะไปสัมพันธ์
กับข้อมูลของคณะวิชำว่ำใครเป็นคณบดีในขณะนั้น
- 11. ขั้นตอนที่ 4 กำหนดคีย์
กำหนดคีย์ของแต่ละเอนทิตีว่ำ จะใช้แอททริบิวต์ใดเป็นคีย์หลัก (Primary Key)ของเอนทิตี
นั้นๆ พิจำรณำจำกขั้นตอนที่ 3 จะได้ว่ำ
1. เอนทิตีอำจำรย์มีรหัสอำจำรย์เป็นคีย์หลัก
2. เอนทิตีแผนกวิชำ มีรหัสแผนกเป็นคีย์หลัก
3. เอนทิตีรำยวิชำ มีรหัสวิชำเป็นคีย์หลัก
- 12. ขั้นตอนที่ 5 นำข้อมูลจำกขั้นตอนที่ 1ถึง ขั้นตอนที่ 4 มำวำดโมเดลแบบ E-R
นำรำยละเอียดในขั้นตอนที่ 1 ถึง 4 มำพิจำรณำทบทวนแล้วเขียนเป็น E-R Model โดยใชสัญลักษณ์
ตัวอย่ำงเช่น
- 14. 2. กำหนดคีย์ต่ำงๆ ได้แก่ กำรกำหนดคีย์หลัก (Primary Key) ของแต่ละรีเลชั่นรวมทั้งคีย์นอก
(Foreign Key) และข้อกำหนดต่ำงๆที่จะใช้อ้ำงอิงถึงคีย์หลักในอีกรีเลชั่นหนึ่ง ในกำรกำหนดรำยละเอียด
ของคีย์หลักและคีย์นอก ท ำโดยใช้ภำษำ SQLในกำรสร้ำงรีเลชั่น
ตัวอย่ำง ฐำนข้อมูลของวิทยำลัย จำกกำรออกแบบฐำนข้อมูลโดยใช้ E-RModel จะกำหนดคีย์
หลักและคีย์นอกของแต่ละรีเลชั่น ดังนี้
รีเลชั่นอำจำรย์มีแอททริบิวต์รหัสอำจำรย์เป็น Primary Key ควำมสัมพันธ์ระหว่ำงรีเลชั่นแผนวิชำกับรีเลชั่น
อำจำรย์เป็นแบบ 1: N ดังนั้น รีเลชั่นอำจำรย์จึงต้องมีแอททริบิวต์รหัสแผนกเพิ่มเข้ำไปเป็นคีย์นอก เพื่อใช้
ในกำรเชื่อมโยงข้อมูลกับรีเลชั่นแผนกวิชำ
ตัวอย่ำง กำรใช้ภำษำสำหรับนิยำมข้อมูลในกำรสร้ำงรีเลชันอำจำรย์ในที่นั้จะกำหนดให้
TEACHER หมำยถึง รีเลชั่นอำจำรย์
TEACH_NO หมำยถึง รหัสอำจำรย์
TEACH_NM หมำยถึง ชื่ออำจำรย์
TEACH_DT หมำยถึง วันที่เริ่มท ำงำน
SALARY หมำยถึง เงินเดือน
FACT_NO หมำยถึง รหัสแผนก (ที่เพิ่มเข้ำไปเพื่อใช้เป็นคีย์นอก)
และ FACULTY หมำยถึง รีเลชั่นแผนกวิชำ
- 15. CREATE TABLE TEACHER
(TEACH_NO CHAR(3) NOT NULL,
TEACH_NM CHAR(40),
TEACH_DT CHAR(6),
SALARY INTEGER,
FACT_NO CHAR(3),
PRIMARY KEY (TEACH_NO),
FOREIGN KEY (FACT_NO) REFERENCES FACULTY);
จะสำมำรถเขียนคำสั่งSQL ได้ดังนี้
รีเลชั่นแผนกวิชำ มีแอททริบิวต์รหัสแผนกเป็น Primary Key
รีเลชั่นรำยวิชำ มีแอททริบิวต์รหัสวิชำป็น Primary Key
รีเลชั่นกำรมอบหมำยวิชำ เป็นรีเลชั่นที่เชื่อมควำมสัมพันธ์ระหว่ำงรีเลชั่นอำจำรย์และรีเลชั่นรำยวิชำ
Primary Key ของรีเลชั่นนี้ คือ Primary Key ของรีเลชั่นอำจำรย์และรีเลชั่นวิชำ ได้แก่ รหัสอำจำรย์
และรหัสวิชำ โดยมีรหัสอำจำรย์เป็นForeign Key ที่อ้ำงอิงถึงรหัสอำจำรย์ซึ่งเป็นคีย์หลักของรีเลชั่น
อำจำรย์และมีรหัสวิชำเป็น Foreign Key ที่อ้ำงอิงถึงรหัสวิชำ ซึ่งเป็นคีย์หลักของรีเลชั่นวิชำ
- 16. 3. ก ำหนดแอททริบิวต์ในแต่ละรีเลชั่น จำกรำยละเอียดคุณลักษณะของเอนทิตี
4. น ำผลจำกข้อ 2 และ 3 มำพิจำรณำทบทวนข้อมูลในแต่ละรีเลชั่น เพื่อให้รีเลชั่นอยู่ใน
รูปแบบบรรทัดฐำนระดับที่ 3 เป็นอย่ำงน้อย
จำกที่กล่ำวมำในหน่วยนี้ จึงเห็นได้ว่ำโมเดลแบบ E-R จะเป็นกำรสร้ำงโมเดลจำลอง
ควำมสัมพันธ์ของข้อมูล โดยนำแนวคิดของกำรออกแบบฐำนข้อมูลมำประกอบกำรพิจำรณำเพื่อให้
ได้ฐำนข้อมูลที่เหมำะสมนั่นเอง