การออกแบบโครงสร้างฐานข้อมูลด้วย E-R Model และการแปลงเป็นรีเลชัน น ามาเขียนแสดงเป็นแผนภาพ เรียกว่า ERD (Entity Relationship Diagram)

Download Report

Transcript การออกแบบโครงสร้างฐานข้อมูลด้วย E-R Model และการแปลงเป็นรีเลชัน น ามาเขียนแสดงเป็นแผนภาพ เรียกว่า ERD (Entity Relationship Diagram)

การออกแบบโครงสร ้างฐานข้อมู ลด้วย
E-R Model และการแปลงเป็ นรีเลช ัน
E-R Model = Entity Relationship Model
นามาเขียนแสดงเป็ นแผนภาพ เรียกว่า
ERD
(Entity Relationship Diagram)
1
จุดเด่นของ E-R Model
้ วยการจัด
- ช่วยให้การอกแบบได้ง่ายขึนด้
่ าการออกแบบ
ระเบียบความคิดของคนทีท
- ลดความซ ับซ ้อนของระบบได้เป็ นอย่างดี
2
Entity Relationship Model
(E-R Model)
่ อธิบาย
 คือ แบบจาลองทีใช้
่ ยน
โครงสร ้างของฐานข้อมู ลซึงเขี
ออกมาในลักษณะของรู ปภาพ
 การอธิบายโครงสร ้างและ
ความสัมพันธ ์ของข้อมู ล
ประกอบด้วย 2 ส่วน
 เอนทิต ี ้ (Entity)
 ความสัมพันธ ์ (Relationship)
ระหว่าง Entity
3
สัญลักษณ์ทใช้
ี่ ในการ
เขียน E-R Diagram
4
สัญลักษณ์ทใช้
ี่ ในการ
เขียน E-R Diagram
5
ั ลักษณ์ทใี่ ชใน
้ E-R Diagram
สญ
้
ใชแบบ
Chen Model
 Entity



่ สาหร ับเก็บข้อมู ลแต่ละรายการภายใน
เป็ นส่วนทีใช้
่
ระบบทีเราก
าลังจด
ั ทาอยู ่
สัญลักษณ์ Entity
เช่น
 บุคคล (พนักงาน, ผู ป
้ ่ วย, บุคลากร, นักศึกษา
,ลู กค้า)
พนักงาน
่ ่)
 สถานที่ (จังหวัด, อาเภอ, ภาค, ทีอยู
่
 วัตถุ (รถยนต ์, อาคาร, เครืองจ
ก
ั ร,สินค้า)
 เหตุการณ์ (ประวัต,ิ การลงทะเบียน, การร ักษาโรค
้
,ซือ,ขาย)
่
่
สัญลักษณ์จะแทนด้วยรู ปสีเหลี
ยมและมี
ชอ
ื่ Entity อยู ่
6
ภายใน
้
เอนทิต ี (Entity)
่ คงอยู
่
 คือสิงที
่ สามารถระบุได้ใน
ความจริง เช่น บุคคล เหตุการณ์
สถานที่
 มักจะอยู ่ในรู ปของนาม
 สามารถมีคุณสมบัต ิ (Property)
หรือแอททริบวิ ต ์ (Attribute) ได้
่ ที่
เช่น บุคคล จะมี Attribute ชือ
อยู ่ อายุ เพศ วุฒก
ิ ารศึกษา ฯลฯ
7
้
เอนทิต ี (Entity)
 แบ่งได้เป็ น 3 ชนิ ด
Regular Entity คือ Entity ทัว่ ๆ ไป ที่
มี Attribute หนึ่ งแยกความแตกต่าง
ของข้อมู ลแต่ละ Tuple ได้
 Weak Entity หรือ Entity อ่อนแอ คือ
่ องอาศ ัย Attribute จาก
Entity ทีต้
่
Entity อืนมาช่
วยในแยกความแตกต่าง
ของข้อมู ลแต่ละ Tuple
่ องมี
 Composite Entity คือ Entity ทีต้
่ น Primary key จาก 2
Attribute ทีเป็
Entity แยกความแตกต่างของข้อมู ลแต่

8
Regular Entity
9
Weak Entity
สัญลักษณ์ของ Weak Entity
10
ภาพอธิบาย Strong & Weak
Entity
Student
่
(Strong)
รหั
ส
ชือ
Subject
่ ชา
(Strong)
รหัสวิชา
ชือวิ
คณะ
45001
เดชา
บริหารธุรกิจ
01
ฐานข ้อมูล
45002
สมชา
ย
เกษตร
02
โครงสร ้าง
Regis_Detai
รหัส l(Weak)
ปี
รหัสวิชา
การศึกษา
450
01
1/45
01
450
02
1/45
01
450
1/45
02
11
Composite Entity
Student
1
M
Learning
M
1
Subject
12
Attribute หรือ
Property
 คือคุณสมบัตต
ิ า
่ ง ๆ ของ
Entity
Attribute
13
 Attributes


เป็ นคุณสมบัตห
ิ รือลักษณะของ Entity
่ Attributes ของ พนักงาน ประกอบด ้วย
เชน




เลขทีพ
่ นักงาน
ื่ -นามสกุล
ชอ
เพศ
เงินเดือน
ั ลักษณ์ Attributes นัน
ื่
สญ
้ จะแทนด ้วยวงรี โดยมีชอ
้ อ
ื่ มต่อ
ของ Attributes กากับอยูภ
่ ายใน และมีเสนเช
่
กับ Entity ของมัน เชน
14
 ตัวอย่าง Attributes
Sex
Name
Emp_ID
Employee
Salary
15
Attributes
 Attributes สามารถจาแนกได ้เป็ น 6 ประเภท
1 Simple Attributes
่
 Attributesทีไ
่ ม่สามารถแบ่งแยกย่อยได ้อีกแล ้ว เชน
เพศ,เงินเดือน
2 Composite Attributes
 มีลก
ั ษณะตรงข ้ามกับแบบ Simple ทีส
่ ามารถแบ่งแยก
่ ชอ
ื่ สกุล ทีส
ย่อยไปได ้อีก เชน
่ ามารถแบ่งออกได ้เป็ น
ื่ และ สกุล
Attributes ชอ
3 Key Attributes
 เป็ น Attributes ทีส
่ ามารถบ่งบอกถึงเอกลักษณ์ของ
Entity นัน
้ ได ้ (มีคา่ ไม่ซา้ กัน)
16
Attributes
4 Single - Valued Attributes
่ Attributes
 Property ทีม
่ ค
ี า่ ของข ้อมูลได ้เพียงแค่คา่ เดียว เชน
เพศ ทีร่ ะบุได ้เพียง ชาย หรือ หญิง เท่านัน
้ เพราะมนุษย์มเี พียง
เพศเดียว
ั ลักษณ์เป็ นวงรี เสนเช
้ อ
ื่ มเป็ นเสนเดี
้ ย
 สญ
่ ว
5 Multi - Valued Attributes
 มีลักษณะตรงข ้ามกับแบบ Single ทีส
่ ามารถมีคา่ ของข ้อมูลได ้
่ เบอร์โทรทีป
หลายค่า เชน
่ ระกอบด ้วยรหัสพืน
้ ทีแ
่ ละตามด ้วย
หมายเลขโทรศัพท์
ั ลักษณ์เป็ นวงรีสองเสน้
 สญ
6 Derived Attributes
 เป็ น Property ทีไ
่ ด ้มาจากการคานวณ โดยอาศัยค่าใน Property
่ ค่าของอายุ ทีไ่ ด ้มาจาก Property วันเกิด
อืน
่ ๆ เชน
ั ลักษณ์เป็ นวงรีเสนประ
้
 สญ
17
ประเภทของ Attribute
หรือ Property
 Simple
SID Attribute
SName
GPA
Student
18
ประเภทของ Attribute
หรือ Property
 Composite
FirstName
LastName
Attribute
SID
SName
GPA
Student
19
ประเภทของ Attribute
หรือ Property
 Key
Attribute FirstName
SID
LastName
SName
GPA
Student
20
ประเภทของ Attribute
หรือ Property
 Single-Valued Attribute
่ าข้อมู ล
คือ Attribute ทีค่
้ มีอยู ่เพียง
ของ Attribute นัน
ค่าเดียว เช่น รหัสลู กค้า เป็ น
ต้น
21
ต ัวอย่างภาพ Attributes ชนิ ดต่าง
ๆ
Name
Surname
Composite
Name_Surname
ID
key
Sex
Birthday
Student
Age
Derived
Tel
Multi - Valued
22
ความสัมพันธ ์ (Relationship)




ั พันธ์ระหว่าง 2
หมายถึง Entity ทีแ
่ สดงความสม
Entity ขึน
้ ไป
ั พันธ์ระหว่าง Entity ทีม
เป็ นความสม
่ ี Attributes
ร่วมกัน
ั พันธ์จะถูกระบุด ้วยสญ
ั ลักษณ์
โดยแต่ละความสม
สเี่ หลีย
่ มข ้าวหลามตัด (Diamond) และคาทีอ
่ ธิบาย
ั พันธ์นัน
ถึงความสม
้ ๆ
ั พันธ์ระหว่าง Entity
พร ้อมทัง้ ระบุชนิดของความสม
นัน
้ ๆ ด ้วย
23
ความสัมพันธ ์ (Relationship)
 ตัวอย่าง Relationship
Employee
Order
Work_in
Of
Department
Order_detail
24
ประเภทของ Relationship
 1. One-to-One Relationship
ั พันธ์ของสมาชก
ิ ของใน Entity หนึง่ ไป
 เป็ นความสม
ั พันธ์กบ
ิ ของใน Entity อีกอันหนึง่ เพียง
สม
ั กับสมาชก
หนึง่ เดียวเท่านัน
้
Employee
1
Owner
1
Car
25
ประเภทของ Relationship
 2. One-to-Many Relationship
ั พันธ์ของสมาชก
ิ ของใน Entity หนึง่ ไป
 เป็ นความสม
ั พันธ์กบ
ิ ของใน Entity อีกอันหนึง่
สม
ั กับสมาชก
ิ
มากกว่า 1 สมาชก
Employee
1
Have
M
Car
26
ประเภทของ Relationship
 3. Many-to-Many Relationship
ั พันธ์ของสมาชก
ิ มากกว่า 1 สมาชก
ิ ของ
 เป็ นความสม
ั พันธ์กบ
ิ ของใน
ใน Entity หนึง่ ไปสม
ั กับสมาชก
ิ
Entity อีกอันหนึง่ มากกว่า 1 สมาชก
Customer
M
Belong_to
N
Account
27
Relationship หรือ Connectivity :
แบบ One to One , 1:1
รหัส
ตัวแทน
่
ชือ
ตัวแทน
ตัวแทน
่ ่
ทีอยู
รหัส
ลู กค้า
1
1
ดูแล
่ กค ้า
ชือลู
ลู กค้า
28
Relationship หรือ Connectivity :
แบบ One to Many, 1:M
รหัส
ตัวแทน
่
ชือ
ตัวแทน
ตัวแทน
่ ่
ทีอยู
รหัส
ลู กค้า
1
M
ดูแล
่ กค ้า
ชือลู
ลู กค้า
29
Relationship หรือ
Connectivity :
แบบ Many to Many, M:N
่ นค ้า ราคา
่
เลขทีใบสั
ง่ วันทีสั
่ ง่ วันทีส่
่ งของ รหัสสินค้า ชือสิ
M
้
่ อ
ใบสังซื
N
่
สังรายการ
สินค้า
30
่
การเปลียน
E-R
diagram เป็ น Table
 Strong Entity
SID
SName
GPA
Student
ตาราง
Student
SID
SName
GPA
31
่
การเปลียน
E-R
diagram เป็ น Table
่ Composite
 Entity ทีมี
Attribute
FirstName
SID
LastName
SName
GPA
Student
ตาราง
Student
SID FirstName
LastName GPA
32
่
การเปลียน
E-R
diagram เป็ น Table
่ Multi-value Attribute
 Entity ทีมี
ตาราง
Student
SID FirstName
LastName GPA
แยกเป็ น
ตาราง Tel
อีSID
ก 1 ตาราง
Tel
33
่
การเปลียน
E-R
diagram เป็ น Table
 Weak Entity
EmpID
EName
Employee
TDate
Salary
T_In
T_out
TimeStamp
stamp
ตาราง
Timestamp
EmpID
TDate
T_In
T_Out
34
่
การเปลียน
E-R diagram
เป็ น Table แบบมี
ความสัมพันธ ์
 ความสัมพันธ ์แบบหนึ่ งต่อหนึ่ง (One to
One, 1:1)
่ ่
ทีอยู
่
ชือ
ตัวแทน
รหัส
ตัวแทน
ตัวแทน
ตัวแทน รหัส
ต ัวแทน
ลู กค้า
รหัส
ลู กค้า
่
ชือ
ต ัวแทน
่ กค้า
ชือลู
่ ่
ทีอยู
1
ดูแล
รหัส
ลู กค้า
1
รหส
ั
ลู กค้า
หรือ
ตัวแทน
ลู กค้า
รหัส
ต ัวแทน
รหัส
ลู กค้า
่ กค ้า
ชือลู
ลู กค้า
่
ชือ
ต ัวแทน
่ กค้า
ชือลู
่ ่
ทีอยู
รหัส
ต ัวแทน
35
่
การเปลียน
E-R diagram เป็ น
Table แบบมีความสัมพันธ ์
 ความสัมพันธ ์แบบหนึ่ งต่อกลุ่ม (One
่ กค ้า
่
1:M)
่ ่
รหัส to Many,
ชือลู
ชือ
รหัส
ทีอยู
ตัวแทน
ตัวแทน
ตัวแทน
ตัวแทน
ลู กค้า
ลู กค้า
1
รหัส
ต ัวแทน
่
ชือ
ต ัวแทน
รหัส
ลู กค้า
่ กค้า
ชือลู
ดูแล
่ ่
ทีอยู
M
ลู กค้า
รหัส
ลู กค้า
36
่
การเปลียน
E-R diagram เป็ น
Table แบบมีความสัมพันธ ์
 ความสัมพันธ ์แบบกลุ่มต่อกลุ่ม
่
เลขทีใบสั
ง่ วันที่
(Many
สัง่
รหัสสินค้า
่ งของ M:N)
toวัMany,
นทีส่
่ นค ้า ราคา
ชือสิ
M
N
่
้
่
ใบสังซือ สังรายการ
สินค้า
่ อ้ เลขที
ใบสังซื
ใบสัง่
่
เลขที่
่
สังรายการ
ใบสัง่
่ ง่
ว ันทีสั
รหัสสิน
ค้า
่ ง
ว ันทีส่
สินค้า
รหัสสิน
ค้า
่
ชือ
สินค้า
ราคา
37
่ อ้
ใบสังซื
M
่ อ้
ใบสังซื
1
่
สังรายการ
M
M
่ อ้
รายการสังซื
N
สินค ้า
1
สินค ้า
่
ภาพแสดงการเปลียนแปลงจาก
M:M มาเป็ น 1:M
38
การออกแบบฐานข้อมู ลด้วย E-R
Model
่
1. ศึกษารายละเอียดและลักษณะหน้าทีงานของ
ระบบ
 เพือ
่ รวบรวมรายละเอียด



ลักษณะการทางานของระบบ
ขัน
้ ตอนการทางาน
เอกสารรายงานต่างๆ
39
่
2. กาหนด Entity ทีควรมี
ในระบบฐานข้อมู ล
 โดยคานึงถึงข ้อมูลทัง้ หมดทีจ
่ ะจัดเก็บลงไปใน
ฐานข ้อมูล ว่าสามารถแบ่งออกได ้เป็ นกี่ Entity
 ภายในฐานข ้อมูลหนึง
่ ๆ อาจจะมีจานวน Entity เป็ น
จานวนมาก ซงึ่ ก็ขน
ึ้ อยูท
่ ผ
ี่ ู ้ใชว่้ าต ้องการจัดเก็บ
ข ้อมูลมากเพียงใด
 โดยการกาหนด Entity จะต ้องคานึงถึง Entity ทัง้
แบบอ่อนแอและแบบแข็งแรงด ้วย
40
3. การกาหนดความสัมพันธ ์ระหว่าง Entity
ั พันธ์กน
ั พันธ์
 ว่าแต่ละ Entity ทีม
่ ค
ี วามสม
ั นั น
้ จะสม
ั พันธ์เป็ น
กันด ้วยเงือ
่ นไขใด และชนิดความสม
อย่างไร



One to One Relationship
One to Many Relationship
Many to Many Relationship
41
4. การกาหนดคุณลักษณะของ Entity
 เป็ นการกาหนดคุณสมบัต ิ (Attributes) ให ้กับ
Entity ว่าควรจะประกอบไปด ้วย Attributes ใดบาง
 พร ้อมทัง้ พิจารณาด ้วยว่า Attributes ใดบ ้างทีจ
่ ะ
เป็ น


Composite Attributes
Derived Attributes
42
5. การกาหนด Primary Key ของแต่ละ Entity
 เป็ นการกาหนดให ้ Entity แต่ละ Entity มี
เอกลักษณ์เฉพาะทีส
่ ามารถอ ้างอิงได ้อย่างไม่
้
ซ้าซอน
 นั่ นก็คอ
ื การกาหนด Primary Key นั่นเอง
43
ตัวอย่างการออกแบบฐานข้อมู ล
ด้วย E-R Model
Ex
ึ ษาแห่งหนึง่ มีการสอนอยู่ 3 คณะ
สถาบันการศก
ึ ษาศาสตร์
คือ เกษตร, วิทยาศาสตร์, ศก




ซงึ่ ในแต่ละคณะจะประกอบไปด ้วยภาควิชาต่าง ๆ
แต่ละภาควิชาก็จะประกอบไปด ้วยอาจารย์หลาย ๆ คน
อาจารย์แต่ละคนสอนได ้หลายวิชา แต่สามารถสงั กัดได ้
เพียงแค่ภาควิชาเดียว
และอาจารย์แต่ละคนแต่ละภาคก็จะมีหวั หน ้าภาค
44
่
กาหนด Entity ทีควรมี
ในระบบฐานข้อมู ล




Entity Faculty แสดงรายละเอียดของคณะ
Entity Department แสดงรายละเอียดของแผนก
Entity Teacher แสดงรายละเอียดของอาจารย์
Entity Subject แสดงรายละเอียดของวิชา
45
 กาหนดความสัมพันธ ์
ระหว่าง Entity
Faculty
1
Under
1
Department
Under
1
Department
Under
M
M
M
Department
Teacher
Subject
46
1
Teacher
M
Leader
Subject
Subject
M
1
M
Teaching
M
Teaching
M
1
Teacher
Teacher
47
กาหนดคุณลักษณะของ
Entity
Faculty_ID
 Faculty
Faculty_Name
Faculty
 Department
Dep_ID
Dep_Name
Department
48
Teacher_ID
 Teacher
Teacher_Name
Salary
Teacher
 Subject
Subject
Subject_ID
Subject_Name
Unit
49
การกาหนด Primary Key ของ Entity




Entity Faculty
คือ Faculty_ID
Entity Department คือ Dep_ID
Entity Teacher
คือ Teacher_ID
Entity Subject
คือ Subject_ID
50
51
ตัวอย่างการออกแบบฐานข้อมู ล
ด้วย E-R Model
ิ ค ้า
 Ex ให ้เขียน ER-Diagram ของระบบการขายสน
ร ้านABC คอมพิวเตอร์
 โดยที่




ื้ สน
ิ ค ้าได ้หลายชน
ิ้
ลูกค ้าหลายคนสามารถทีจ
่ ะซอ
ิ ค ้าได ้หลายชน
ิ้
ใบเสร็จรับเงินหลายใบมีสน
ในใบเสร็จแต่ละใบจะมีพนักขายเพียงคนเดียวเท่านัน
้
ิ ค ้าจะประเภทของตัวเอง
สน
52
่
กาหนด Entity ทีควรมี
ในระบบฐานข้อมู ล





Entity Customer แสดงรายละเอียดของลูกค ้า
Entity Employee แสดงรายละเอียดของพนักงาน
ขาย
ิ ค ้า
Entity Product แสดงรายละเอียดของสน
ิ ค ้า
Entity TypeProduct แสดงประเภทของสน
Entity Bill แสดงรายละเอียดของใบเสร็จ
53
 กาหนดความสัมพันธ ์ระหว่าง Entity
Customer
Employee
TypeProduct
1
1
1
ได้ร ับ
มี
มี
M
M
M
Bill
Bill
Product
54
M
Bill
Bill
1
M
M
มี
Bill_detail
M
Product
1
Product
55
 กาหนดคุณลักษณะของ Entity
Emp_ID
Emp_name
Product_ID
Employee
Product_name
salary
Product
price
TypeName
TypeProduct
TypeID
56
Cus_ID
Cus_name
Bill_No
Customer
Address
Bill_date
Bill
Emp_ID
57
ER-Diagram
Product_ID
ิ ค ้า
ของระบบการขายสน
Bill_date
1
Bill
M
Emp_ID
M
Bill_detail
TypeName
Customer
Address
M
มี
1
มี
TypeID
1
Cus_name
Product
Amount
ได ้ร ับ
1
price
1
M
M
Bill_No
Cus_ID
Product_ID
Price_s
Detail_ID
Bill_No
Product_name
Emp_name
salary
TypeProduct
Employee
58
Emp_ID