การออกแบบโครงสร้างฐานข้อมูลด้วย 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