E-R Diagram (Entity Relationship Diagram)

Download Report

Transcript E-R Diagram (Entity Relationship Diagram)

Entity Relationship Model (ER-Model)
เป็ นแบบจำลองเชิงแนวคิด (Conceptual Data Model)
 ใช้อธิ บำยโครงสร้ำงของฐำนข้อมูลโดยนำเสนอในรู ปแบบแผนภำพหรื อ
ไดอะแกรมที่เรี ยกว่ำ แผนภำพ E-R หรื อ E-R Diagram
 ใช้สำหรับสื่ อสำรกับผูใ้ ช้ให้เกิดควำมเข้ำใจตรงกันในเรื่ องของข้อมูลและ
ควำมสัมพันธ์ของข้อมูลที่มีอยูใ่ นระบบ
 ทำให้มองภำพระบบได้ง่ำยขึ้น
่ บั ซอฟต์แวร์ที่ใช้พฒั นำฐำนข้อมูล
 ไม่ข้ ึนอยูก

ส่ วนประกอบของ E-R Model
ส่ วนประกอบของ ER-Model
เอ็นติตี้
(Entity)
แอตตริบิวต์
(Attribute)
ความสั มพันธ์
(Relationship)
เอนทิตี้ (Entity)
สั ญลักษณ์ Entity
ชื่อเอนทิต้ ี
 เอนติตี้ หมายถึง สิ่ งต่ าง ๆ หรื อ วัตถุ ทีถ
่ ูกรวบรวมเป็ นข้ อมูล เพือ่ ใช้ กบั
ระบบงานทีก่ าลังพัฒนาอยู่ มี 3 กลุ่ม
 1)เอนติตเี้ ชิงรู ปธรรม มองเห็นได้ ด้วยตา
เอนติตที้ เี ป็ นบุคคล เช่ น นักศึกษา พนักงาน อาจารย์
เอนติตที้ เี ป็ นสถานที เช่ น ร้ านค้ า บริษัท โรงพยาบาล
เอนติตที้ เี ป็ นวัตถุ เช่ น เครื่องจักร รถยนต์ หนังสื อ
 2) เอนติตเี้ ชิงแนวคิด เช่ น วิชา คณะ แผนก
 3) เอนติตเี้ ชิงเหตุการณ์ เช่ น การลงทะเบียน การซื้อ การขาย การยืม การ
คืน
 การแสดงถึงเอนติตใี้ นแผนภาพ E-R จะใช้ สัญญลักษณ์ รูปสี่ เหลีย
่ มผืนผ้ามี
ชื่อเอนติตเี้ ป็ นคานาม กากับอยู่ในรูปสี่เหลีย่ มผืนผ้า
ประเภทของเอ็นติต้ ี
ประเภทของเอ็นติตี้
เอนติต้ ีปกติ
(Strong Entity)
เอนติต้ ีแบบอ่อน
(Weak Entity)
เอนติตเี้ ชิงความสั มพันธ์
(Associate Entity)
เอนทิตี้ (Entity)

ประเภทของ ของ Entity
 1 Regular Entity อำจจะเรี ยกอีกชื่อว่ำ Strong Entity
เป็ น Entity ที่อยูไ่ ด้โดยไม่ตอ้ งอำศัย Entity อื่นในกำรคงอยู่ ไม่
ต้องพึ่งหรื อขึ้นอยูก่ บั Entity อื่น
 2 Week Entity
พนักงำน
เป็ น Entity ที่อยูไ่ ด้โดยต้องอำศัย Entity อื่นในกำรคงอยู่
บุตรของพนักงำน
ภาพอธิบาย Strong Entity & Weak Entity
1
พนักงำน
รหัสพนักงำน
ชื่อพนักงำน
มี
M
สมำชิกในครอบครัว
รหัสพนักงำน
วันเดือนปี เกิด
พนักงาน (รหัสพนักงำน, ชื่อพนักงำน, ชื่อสมำชิก)
สมาชิกในครอบครัว (รหัสพนักงำน, ลำดับที่, ชื่อสมำชิก)
ลำดับที่
ชื่อสมำชิก
ภาพอธิบาย Strong Entity & Weak Entity
พนักงาน
รหัสพนักงำน
ชื่อพนักงำน
1001
นำยใจดี สมชำย
1002
นำงสำวฟ้ ำใส วิมำน
สมาชิกในครอบครัว
รหัสพนักงำน ลำดับที่
ชื่อสมำชิก
1001
1
นำงสมศรี สมชำย
1001
2
ดช.วิมน สมชำย
1001
3
ดญ.จันจิรำ สมชำย
1002
1
นำงมนัสนันท์ สมบูรณ์
วันเดือนปี เกิด
12/3/2528
23/11/2526
7
เอนทิตี้ (Entity)

3.เอนติตเี้ ชิงความสั มพันธ์
 เป็ น Entity ทีถ
่ ูกสร้ างขึน้ เพือ่ แปลงความสั มพันธ์ แบบ M:N ให้ เป็ น แบบ
1:M (เพราะแบบ M:N นั้นค่ อนข้ างยากแก่ การเข้ าใจ)
 สั ญลักษณ์ ของ Composite Entity คือ สี่ เหลีย
่ มผืนผ้าซ้ อนด้ วยสี่ เหลีย่ มรู ปข้ าว
หลามตัด

ตัวอย่ าง
นักเรียน
Studen
M
นักเรียน
1
M
Learning
เรียน
M
เรียน
M
วิชา
Subject
1
ภำพแสดงกำรเปลี่ยนแปลงจำก M:M มำเป็ น 1:M
วิชา
แอททริบิวต์ (Attribute)
แอททริบิวต์ คือ ข้ อมูลทีใ่ ช้ อธิบายคุณสมบัติหรือลักษณะของแต่ ละ Entity
 เอนติตห
ี้ นึ่ง ๆ อาจประกอบด้ วยแอททริบิวต์ ได้ มากกว่ าหนึ่งแอททริบิวต์
ขึน้ กับว่ าระบบงานที่กาลังจะพัฒนานั้นต้ องการรายละเอียดของเอนติตมี้ าก
หรือน้ อยเพียงใด
 การแสดงถึงแอททริ บิวต์ ในแผนภาพ E-R จะใช้ สัญญลักษณ์ รูปวงรี แทน
แอททริบิวต์ 1 แอททริบิวต์ และมี ชื่อแอททริบิวต์ เป็ นคานาม กากับอยู่ในรู ป
วงรี

แอททริบิวต์ (Attribute)
ตัวอย่ างเช่ น
 เอนติต้ ี นักศึ กษา ประกอบด้วยแอททริ บิวต์ รหัสนักศึกษำ ชื่อนักศึกษำ ที่อยู่ เพศ
 เอนติต้ ี พนักงาน ประกอบด้วยแอททริ บิวต์ รหัสพนักงำน ชื่อพนักงำน ตำแหน่ง ที่อยู่
 เอนติต้ ี แผนก ประกอบด้วยแอททริ บิวต์ รหัสแผนก และ ชื่อแผนก
เพศ
ชื่อ
รหัสนักศึกษา
ทีอ่ ยู่
นักศึกษา
ตาแหน่ ง
ชื่อ
รหัสพนักงาน
ทีอ่ ยู่
พนักงาน
รหัสแผนก
ชื่อแผนก
แผนก
ความสั มพันธ์ ระหว่ างของเอนติตี้ แอททริบิวต์ และสมาชิกของเอนติตี้
เพศ
ชื่อ
ชื่อ
รหัสพนักงาน
นักศึกษา
รหัสนักศึกษา
5210093434
..
ชื่อ
พนักงาน
ที่อยู่
ที่อยู่
รหัสนักศึกษา
ตาแหน่ ง
เพศ
ที่อยู่
นายทัศน์ บุญมี หญิง
กรุงเทพ
รหัสพนักงาน
..
..
ชื่อ
ตาแหน่ ง
ที่อยู่
ประเภทของ Attribute
1) Simple Attribute
2) Composite Attributes
3) Key Attributes
4) Single – Valued Attributes
5 ) Multi - Valued Attributes
แอททริบิวต์ (Attribute)
1) Simple Attribute หรือ แอททริบิวต์ แบบธรรมดา
 Attributes ทีไ่ ม่ สามารถแบ่ งแยกย่ อยได้ อก
ี เช่ น รหัสพนักงาน เพศ
เพศ
รหัสพนักงาน
พนักงาน
แอททริบิวต์ (Attribute)
2) Composite Attributes
 มีลก
ั ษณะตรงข้ ามกับแบบ Simple ทีส่ ามารถแบ่ งแยกย่อยไปได้ อกี เช่ น ชื่อสกุล ที่
สามารถแบ่ งออกได้ เป็ น Attributes ชื่อ และ สกุล
Composite Attributes
รหัสพนักงาน
สกุล
ชื่อ
ชื่อพนักงาน
พนักงาน
เพศ
เงินเดือน
แอททริบิวต์ (Attribute)
3) Key Attributes แอททริบิวต์ ทเี่ ป็ นตัวชี้เฉพาะ
 เป็ น Attributes ทีส
่ ามารถบ่ งบอกถึงเอกลักษณ์ ของ Entity นั้นได้ (มีค่าไม่ ซ้ากัน)
 เวลาเขียน ER Diagram ต้ องขีดเส้ นใต้ Attributes ทีเ่ ป็ น Key ด้ วย
Key Attributes
รหัสพนักงาน
สกุล
ชื่อ
ชื่อพนักงาน
พนักงาน
เพศ
เงินเดือน
แอททริบิวต์ (Attribute)
4) Single - Valued Attributes
 หมำยถึง แอททริ บิวต์หนึ่ ง ๆ ของเอนติต้ ีใด ๆ ที่มีค่ำข้อมูลเพียง
ค่ำเดียว เช่น พนักงำนคนหนึ่ง ๆ ซึ่งเป็ นสมำชิกของเอนติต้ ี
พนักงำน จะประกอบด้วยแอททริ บิวต์ รหัสพนักงำน ชื่อ
พนักงำน ตำแหน่ง และที่อยู่ ที่มีค่ำเดียว ไม่มีพนักงำนที่มีชื่อได้
สองชื่อ เป็ นต้น
แอททริบิวต์ (Attribute)
5 ) Multi - Valued Attributes
 มีลก
ั ษณะตรงข้ำมกับแบบ Single ที่สำมำรถมีค่ำของข้อมูลได้หลำยค่ำ เช่น วุฒิ
กำรศึกษำ
 สัญลักษณ์เป็ นวงรี สองเส้น
สกุล
ชื่อ
Multi - Valued Attributes
รหัสพนักงาน
ชื่อพนักงาน
พนักงาน
เพศ
วุฒิการศึกษา
หลักการกาหนดแอททริบิวต์ ให้ แอนติตี้

แอททริ บิวต์ของเอนติต้ ีใด จะมีเฉพำะรำยละเอียดของเอนติต้ ีน้ นั เช่น เอนติต้ ี
นักศึกษำ จะมีแต่แอททริ บิวต์ที่เกี่ยวกับนักศึกษำ จะไม่เอำ แอททริ บิวต์ที่
เกี่ยวกับคณะมำใส่ ในเอนติต้ ีนกั ศึกษำ
รหัสนักศึกษา
ชื่อ สกุล
รหัสคณะ
รหัสคณะ
นักศึกษา
สั งกัด
ชื่อคณะ
คณะ
เพศ
เป็ นคุณสมบัติของคณะไม่นำไปใส่ เป็ นรำยละเอียดให้
นักศึกษำ แต่จะแทนในรู ปแบบควำมสัมพันธ์ สังกัด แทน
ความสั มพันธ์ (Relationship)
 เป็ นควำมสัมพันธ์ระหว่ำงเอนติต้ ี (Relationship) ในระบบ
 เช่น ในระบบบุคลำกร ประกอบด้วย
เอนติต้ ี พนักงำน และ เอนติต้ ี แผนก
ที่มีควำมสัมพันธ์ในลักษณะ พนักงำนแต่ละคน สังกัดอยูใ่ นแผนกใด
พนักงำน
สั งกัด
แผนก
 โดยแต่ละควำมสัมพันธ์จะถูกระบุดว้ ยสัญลักษณ์สี่เหลี่ยมข้ำวหลำมตัด
ที่อธิบำยถึงควำมสัมพันธ์น้ นั ๆ ระบุควำมสัมพันธ์ขำ้ งในเป็ นคำ กริยา
และคำ
ประเภทของ Relationship

1. One-to-One
 เป็ นควำมสัมพันธ์ของ สมาชิ กแต่ ละตัวของ Entity หนึ่ งไปสัมพันธ์
กับ กับสมำชิกของ Entity อีกอันหนึ่ง เพียงหนึ่งเดียวเท่ำนั้น
พนักงำน
1
มี
1
ที่จอดรถ
ประเภทของความสั มพันธ์ (Relationship)

2. One-to-Many
 เป็ นควำมสัมพันธ์ของสมำชิกแต่ละตัวของ Entity หนึ่ งไปสัมพันธ์
กับ กับสมำชิกของใน Entity อีกอันหนึ่ง มำกกว่ำ 1 สมำชิก
นักศึกษำ
1
เป็ นเจ้ำของ
M
รองเท้ำ
ประเภทของ Relationship

3. Many-to-Many
 เป็ นควำมสัมพันธ์ของสมำชิกมำกกว่ำ 1 สมำชิก ของใน Entity หนึ่ ง
ไปสัมพันธ์กบั กับสมำชิกของใน Entity อีกอันหนึ่ง มำกกว่ำ 1
สมำชิก
นักศึกษำ
M
ลงทะเบียน
N
คณิตศาสตร์
ภาษาไทย
ภาษาอังกฤษ
วิชำ
แอททริบิวต์ ของความสั มพันธ์
 บำงควำมสัมพันธ์อำจทำหน้ำที่เหมือนเอนติต้ ีคือ สำมำรถกำหนดแอ
ททริ บิวต์ให้กบั ควำมสัมพันธ์ได้
ปี การศึกษา
รหัสนักศึกษา
ชื่อ สกุล
นักศึกษา
ลงทะเบียน
รหัสวิชา
ชื่อวิชา
วิชา
หน่ วยกิต
เพศ
เทอม
การกาหนดแอททริบิวต์ ให้ กบั ความสั มพันธ์
การออกแบบฐานข้ อมูล ด้ วย E-R Model
1. ศึกษารายละเอียดและลักษณะหน้ าที่งานของระบบ
 เพื่อรวบรวมรำยละเอียด
ลักษณะกำรทำงำนของระบบ
ขั้นตอนกำรทำงำน
เอกสำรรำยงำนต่ำงๆ
การออกแบบฐานข้ อมูลด้ วย E-R Model
2. กาหนด Entity ทีค่ วรมีในระบบฐานข้ อมูล
 โดยคำนึ งถึงข้อมูลทั้งหมดที่จะจัดเก็บลงไปในฐำนข้อมูล ว่ำสำมำรถ
แบ่งออกได้เป็ นกี่ Entity
 ภำยในฐำนข้อมูลหนึ่ ง ๆ อำจจะมีจำนวน Entity เป็ นจำนวนมำก ซึ่ งก็
ขึ้นอยูท่ ี่ผใู ้ ช้วำ่ ต้องกำรจัดเก็บข้อมูลมำกเพียงใด
 โดยกำรกำหนด Entity จะต้องคำนึ งถึง Entity ทั้งแบบอ่อนและแบบแข็ง
ด้วย
การออกแบบฐานข้ อมูลด้ วย E-R Model
3. การกาหนดความสั มพันธ์ ระหว่ าง Entity
ั นั้น จะสัมพันธ์กนั ด้วยเงื่อนไขใด
 ว่ำแต่ละ Entity ที่มีควำมสัมพันธ์กน
และชนิดควำมสัมพันธ์เป็ นอย่ำงไร
 One to One Relationship
 One to Many Relationship
 Many to Many Relationship
การออกแบบฐานข้ อมูลด้ วย E-R Model
4. การกาหนดคุณลักษณะของ Entity
ั Entity ว่ำควรจะ
 เป็ นกำรกำหนดคุณสมบัติ (Attributes) ให้กบ
ประกอบไปด้วย Attributes ใดบ้ำง
 พร้อมทั้งพิจำรณำด้วยว่ำ Attributes นั้นว่ำเป็ นชนิ ดใด
การออกแบบฐานข้ อมูลด้ วย E-R Model
5. การกาหนด key attribute ของแต่ ละ Entity
 เป็ นกำรกำหนดให้ Entity แต่ละ Entity มีเอกลักษณ์เฉพำะที่
สำมำรถอ้ำงอิงได้อย่ำงไม่ซ้ ำซ้อน
 โดย แอททริ บิวต์ทีเป็ น Key Attribute จะต้องขัดเส้นใต้ที่ชื่อ
ของ แอททริ บิวต์
ตัวอย่ างการออกแบบ ER-Model
มหำวิทยำลัยแห่งหนึ่ง เปิ ดสอนหลักสู ตรปริ ญญำตรี หลำยคณะ แต่ละคณะเปิ ด
สอนหลำยรำยวิชำ แต่จะเปิ ดรำยวิชำซ้ ำกันกับคณะอื่นไม่ได้ อำจำรย์ 1 ท่ำนสอน
ได้หลำยวิชำ แต่ละวิชำจะเปิ ดสอนได้กต็ ่อเมื่อมีนกั ศึกษำลงทะเบียนในรำยวิชำนั้น
อย่ำงน้อย 20 คน และห้องเรี ยนแต่ละห้องสำมำรถใช้สอนวิชำต่ำง ๆ ได้หลำยวิชำ
ขั้นที่ 1 กาหนด Entity ทั้งหมดในระบบ

โดยค้นหำคำนำมจำกข้อมูลควำมต้องกำรของระบบ พบคำนำมดังนี้คือ คณะ
รำยวิชำ อำจำรย์ นักเรี ยน ห้องเรี ยน กำหนดเป็ น Entity ดังนี้
1 คณะ (FACULTY)
2 รายวิชา (SUBJECT)
3 อาจารย์ (TEACHER)
4 นักเรียน (STUDENT)
5 ห้ องเรียน (ROOM)
FACULTY
SUBJECT
TEACHER
STUDENT
ROOM
ขั้นที่ 2 สร้ างความสั มพันธ์ ให้ กบั Entity

1.
2.
3.
4.
จาก Entity และข้ อมูลข้ างต้ น นามาเขียนเป็ นความสั มพันธ์
(Relationship) ระหว่ าง Entity ดังรายละเอียดต่ อไปนี้
แต่ ละคณะเปิ ดสอนหลายรายวิชาและซ้ากับคณะอืน่ ไม่ ได้
อาจารย์ สอนได้ หลายวิชา
ห้ องเรียน เปิ ดทาการเรียนการสอนทุกรายวิชา
รายวิชาจะเปิ ดสอนได้ กต็ ่ อเมื่อมีนักเรียนลงทะเบียนเรียนอย่ าง
น้ อย 20 คน
ขั้นที่ 2 กาหนดความสั มพันธ์ ให้ กบั Entity
FACULTY
have
ROOM
use
SUBJECT
register
STUDENT
teach
TEACHER
นาเงื่อนไขความสั มพันธ์ ระหว่ าง Entity มากาหนดประเภทของ
ความสั มพันธ์
FACULTY
1
have
M
ROOM
1
use
M
SUBJECT
M
register
N
STUDENT
M
teach
1
TEACHER
กาหนด Attribute และ Primary Key
1. FACULTY (FacId,FacName)
2. SUBJECT (Subid,SubName)
3 .TEACHER (TeacherId,TeacherName)
4. STUDENT (Stdid,StdName,Major)
5. ROOM (RoomNo)
Facid
FacName
FACULTY
1
RoomNo
have
Subid
TeacherId
SubName
M
ROOM
M
use
N
SUBJECT
M
teach
N
TEACHER
M
TeacherName
register
Stdid
Stdname
N
STUDENT
Major
ตัวอย่ างการออกแบบฐานข้ อมูลด้ วย E-R Model
Ex
สถำบันกำรศึกษำแห่งหนึ่งมีกำรสอนอยู่ 3 คณะ คือ เกษตร, วิทยำศำสตร์
, ศึกษำศำสตร์
ในแต่ละคณะจะประกอบด้วยหลำยสำขำวิชำ
แต่ละสำขำวิชำก็จะประกอบไปด้วยอำจำรย์หลำย ๆ คน
อำจำรย์แต่ละคนสอนได้หลำยวิชำ แต่ละวิชำมีอำจำรย์สอนได้หลำยคน
อำจำรย์สำมำรถสังกัดได้เพียงแค่สำขำวิชำเดียว
ตัวอย่ างการออกแบบฐานข้ อมูลด้ วย E-R Model
กาหนด Entity ทีค่ วรมีในระบบฐานข้ อมูล
Entity Faculty แสดงรำยละเอียดของคณะ
Entity Department แสดงรำยละเอียดของแผนก
Entity Teacher แสดงรำยละเอียดของอำจำรย์
Entity Subject แสดงรำยละเอียดของวิชำ
ตัวอย่ างการออกแบบฐานข้ อมูลด้ วย E-R Model

กำหนดควำมสัมพันธ์ระหว่ำง Entity
39
ตัวอย่ างการออกแบบฐานข้ อมูลด้ วย E-R Model
N
ตัวอย่ างการออกแบบฐานข้ อมูลด้ วย E-R Model
กำหนดคุณลักษณะของ Entity
Faculty_ID
 Faculty
Faculty_Name
Faculty

Department
Dep_ID
Dep_Name
Department
41
ตัวอย่ างการออกแบบฐานข้ อมูลด้ วย E-R Model
Teacher_ID
 Teacher
Teacher_Name
Salary
Teacher
 Subject
Subject
Subject_ID
Subject_Name
Unit
ตัวอย่ างการออกแบบฐานข้ อมูลด้ วย E-R Model
การกาหนด Primary Key ของ Entity
 Entity Faculty
คือ Faculty_ID
 Entity Department คือ Dep_ID
 Entity Teacher
คือ Teacher_ID
 Entity Subject
คือ Subject_ID
ตัวอย่ างการออกแบบฐานข้ อมูลด้ วย E-R Model
กิจกรรมบทที่ 2
ปฏิบัติการให้นกั ศึกษำเขียน ER-Diagram ของระบบงำนต่อไปนี้
 ระบบฐำนข้อมูลร้ำนเช่ำ VDO
การบ้ านให้นกั ศึกษำเขียน ER-Diagram ของระบบงำนต่อไปนี้
 ระบบฐำนข้อมูลร้ำน 7-11