SlideShare a Scribd company logo
1 of 64
Download to read offline
7.E-R Diagram
(Entity Relationship Diagram)
E-R Diagram
• เป็นแผนภาพที่ทาหน้าที่จาลองข้อมูลที่มีความสัมพันธ์กัน
• เป็นการออกแบบฐานข้อมูลในระดับ Conceptual
• เป็นแบบจาลองข้อมูลที่แสดงถึงโครงสร้างฐานข้อมูลที่เป็นอิสระ
จาก Software ที่จะใช้พัฒนาฐานข้อมูล (ไม่ขึ้นกับ Software)
• ทาให้บุคลากรเข้าใจในระบบฐานข้อมูลได้ง่าย
สัญลักษณ์ที่ใช้ใน E-R Diagram
ใช้แบบ Chen Model
• Entity
– เป็นส่วนที่ใช้สาหรับเก็บข้อมูลแต่ละรายการภายในระบบที่เรากาลัง
จัดทาอยู่
– เช่น
• บุคคล (พนักงาน, ผู้ป่วย, บุคลากร, นักศึกษา,ลูกค้า)
• สถานที่ (จังหวัด, อาเภอ, ภาค, ที่อยู่)
• วัตถุ (รถยนต์, อาคาร, เครื่องจักร,สินค้า)
• เหตุการณ์ (ประวัติ, การลงทะเบียน, การรักษาโรค,ซื้อ,ขาย)
– สัญลักษณ์จะแทนด้วยรูปสี่เหลี่ยมและมีชื่อ Entity อยู่ภายใน
พนักงาน
• ประเภทของ ของ Entity มี 2 ประเภท
– 1 Regular Entity อาจจะเรียกอีกชื่อว่า Strong Entity
• เป็น Entity ที่อยู่ได้โดยไม่ต้องอาศัย Entity อื่นในการคง
อยู่ ซึ่งมีคุณสมบัติ Identity ได้ด้วยตัวเอง ไม่ต้องพึ่ง Entity
อื่น
–2 Week Entity
• เป็น Entity ที่อยู่ได้โดยต้องอาศัย Entity อื่นในการคงอยู่
Customer
Order Detail
ภาพอธิบาย Strong & Weak Entity
รหัส ชื่อ คณะ
45001 เดชา บริหารธุรกิจ
45002 สมชาย เกษตร
รหัส ปีการศึกษา รหัสวิชา
45001 1/45 01
45002 1/45 01
45001 1/45 02
45002 1/45 02
รหัสวิชา ชื่อวิชา
01 ฐานข้อมูล
02 โครงสร้าง
Student (Strong) Subject (Strong)
Regis_Detail(Weak)
• Attributes
– เป็นคุณสมบัติหรือลักษณะของ Entity
– เช่น Attributes ของ พนักงาน ประกอบด้วย
• เลขที่พนักงาน
• ชื่อ-นามสกุล
• เพศ
• เงินเดือน
สัญลักษณ์ Attributes นั้นจะแทนด้วยวงรี โดยมีชื่อของ Attributes
กากับอยู่ภายใน และมีเส้นเชื่อมต่อกับ Entity ของมัน เช่น
• ตัวอย่าง Attributes
Employee
Name
Emp_ID
Sex
Salary
• Attributes สามารถจาแนกได้เป็น 6 ประเภท
1 Simple Attributes
– Attributesที่ไม่สามารถแบ่งแยกย่อยได้อีกแล้ว เช่น เพศ,เงินเดือน
2 Composite Attributes
– มีลักษณะตรงข้ามกับแบบ Simple ที่สามารถแบ่งแยกย่อยไปได้อีก เช่น
ชื่อสกุล ที่สามารถแบ่งออกได้เป็น Attributes ชื่อ และ สกุล
3 Key Attributes
– เป็น Attributes ที่สามารถบ่งบอกถึงเอกลักษณ์ของ Entity นั้นได้ (มีค่า
ไม่ซ้ากัน)
– เวลาเขียน ER Diagram ต้องขีดเส้นใต้ Attributes ที่เป็น Key ด้วย
4 Single - Valued Attributes
– Property ที่มีค่าของข้อมูลได้เพียงแค่ค่าเดียว เช่น Attributes เพศ ที่ระบุได้เพียง ชาย หรือ
หญิง เท่านั้น เพราะมนุษย์มีเพียงเพศเดียว
– สัญลักษณ์เป็นวงรี เส้นเชื่อมเป็นเส้นเดี่ยว
5 Multi - Valued Attributes
– มีลักษณะตรงข้ามกับแบบ Single ที่สามารถมีค่าของข้อมูลได้หลายค่า เช่น เบอร์โทรที่
ประกอบด้วยรหัสพื้นที่และตามด้วยหมายเลขโทรศัพท์
– สัญลักษณ์เป็นวงรีสองเส้น
6 Derived Attributes
– เป็น Property ที่ได้มาจากการคานวณ โดยอาศัยค่าใน Property อื่น ๆ เช่น ค่าของอายุ ที่
ได้มาจาก Property วันเกิดสัญลักษณ์เป็นวงรีเส้นประ
• ตัวอย่างภาพ Attributes ชนิดต่าง ๆ
StudentID Age
Name_Surname Birthday
Sex
Name
Surname
Tel
Composite
key
Derived
Multi - Valued
• 3. Relationship
– หมายถึง Entity ที่แสดงความสัมพันธ์ระหว่าง 2 Entity ขึ้นไป
– เป็นความสัมพันธ์ระหว่าง Entity ที่มี Attributes ร่วมกัน
– โดยแต่ละความสัมพันธ์จะถูกระบุด้วยสัญลักษณ์สี่เหลี่ยมข้าวหลามตัด
(Diamond) และคาที่อธิบายถึงความสัมพันธ์นั้น ๆ
– พร้อมทั้งระบุชนิดของความสัมพันธ์ระหว่าง Entity นั้น ๆ ด้วย
• ตัวอย่าง Relationship
Employee Work_in Department
Order Of Order_detail
ประเภทของ Relationship
• 1. One-to-One Relationship
– เป็นความสัมพันธ์ของสมาชิกของใน Entity หนึ่งไปสัมพันธ์กับ กับสมาชิกของ
ใน Entity อีกอันหนึ่ง เพียงหนึ่งเดียวเท่านั้น
Employee Owner1 1
Car
ประเภทของ Relationship
• 2. One-to-Many Relationship
– เป็นความสัมพันธ์ของสมาชิกของใน Entity หนึ่งไปสัมพันธ์กับ กับสมาชิกของ
ใน Entity อีกอันหนึ่ง มากกว่า 1 สมาชิก
Employee Have1 M
Car
ประเภทของ Relationship
• 2. Meny-to-Many Relationship
– เป็นความสัมพันธ์ของสมาชิกมากกว่า 1 สมาชิก ของใน Entity หนึ่งไป
สัมพันธ์กับ กับสมาชิกของใน Entity อีกอันหนึ่ง มากกว่า 1 สมาชิก
Customer Belong_toM N
Account
• Composite Entity
– เป็น Entity ที่ถูกสร้างขึ้นเพื่อแปลงความสัมพันธ์แบบ M:M ให้เป็น แบบ 1:M (เพราะ
แบบ M:M นั้นค่อนข้างยากแก่การเข้าใจ)
– ซึ่ง Composite Entity จะกลายเป็น Entity ใหม่ที่รวมเอาไว้ด้วย Key Property ของทั้ง
2 Entity หลัก และส่วนสนใจอื่น ๆ
– ซึ่ง Key Property ของ Composite Entity ก็คือ Key Property ของทั้ง 2 Entity หลัก
นั่นเอง (เป็น PK ที่มีลักษณะเป็น Super Key : คีย์ร่วม)
– สัญลักษณ์ของ Composite Entity คือ สี่เหลี่ยมผืนผ้าซ้อนด้วยสี่เหลี่ยมรูปข้าวหลามตัด
ภาพแสดงการเปลี่ยนแปลงจาก M:M มาเป็น 1:M
Studen Subject
M
Learning
M
Studen Subject
M M1 1
Learning
การออกแบบฐานข้อมูลด้วย E-R Model
1. ศึกษารายละเอียดและลักษณะหน้าที่งานของระบบ
• เพื่อรวบรวมรายละเอียด
– ลักษณะการทางานของระบบ
– ขั้นตอนการทางาน
– เอกสารรายงานต่างๆ
2. กาหนด Entity ที่ควรมีในระบบฐานข้อมูล
• โดยคานึงถึงข้อมูลทั้งหมดที่จะจัดเก็บลงไปในฐานข้อมูล ว่า
สามารถแบ่งออกได้เป็นกี่ Entity
• ภายในฐานข้อมูลหนึ่ง ๆ อาจจะมีจานวน Entity เป็นจานวนมาก
ซึ่งก็ขึ้นอยู่ที่ผู้ใช้ว่าต้องการจัดเก็บข้อมูลมากเพียงใด
• โดยการกาหนด Entity จะต้องคานึงถึง Entity ทั้งแบบอ่อนแอและ
แบบแข็งแรงด้วย
3. การกาหนดความสัมพันธ์ระหว่าง Entity
• ว่าแต่ละ Entity ที่มีความสัมพันธ์กันนั้น จะสัมพันธ์กันด้วยเงื่อนไขใด
และชนิดความสัมพันธ์เป็นอย่างไร
– One to One Relationship
– One to Many Relationship
– Many to Many Relationship
4. การกาหนดคุณลักษณะของ Entity
• เป็นการกาหนดคุณสมบัติ (Attributes) ให้กับ Entity ว่าควรจะประกอบ
ไปด้วย Attributes ใดบาง
• พร้อมทั้งพิจารณาด้วยว่า Attributes ใดบ้างที่จะเป็น
– Composite Attributes
– Derived Attributes
5. การกาหนด Primary Key ของแต่ละ Entity
• เป็นการกาหนดให้ Entity แต่ละ Entity มีเอกลักษณ์เฉพาะที่สามารถ
อ้างอิงได้อย่างไม่ซ้าซ้อน
• นั่นก็คือการกาหนด Primary Key นั่นเอง
ตัวอย่างการออกแบบฐานข้อมูลด้วย E-R Model
สถาบันการศึกษาแห่งหนึ่งมีการสอนอยู่ 3 คณะ คือ เกษตร,
วิทยาศาสตร์, ศึกษาศาสตร์
• ซึ่งในแต่ละคณะจะประกอบไปด้วยภาควิชาต่าง ๆ
• แต่ละภาควิชาก็จะประกอบไปด้วยอาจารย์หลาย ๆ คน
• อาจารย์แต่ละคนสอนได้หลายวิชา แต่สามารถสังกัดได้เพียงแค่
ภาควิชาเดียว
• และอาจารย์แต่ละคนแต่ละภาคก็จะมีหัวหน้าภาค
กาหนด Entity ที่ควรมีในระบบฐานข้อมูล
– Entity Faculty แสดงรายละเอียดของคณะ
– Entity Department แสดงรายละเอียดของแผนก
– Entity Teacher แสดงรายละเอียดของอาจารย์
– Entity Subject แสดงรายละเอียดของวิชา
กาหนดความสัมพันธ์ระหว่าง Entity
Faculty DepartmentUnder
Department TeacherUnder
Department SubjectUnder
1 M
1
1
M
M
Teacher
Leader
Subject Teacher
M
Teaching
M
Subject TeacherTeaching
1
M
M
M1 1
กาหนดคุณลักษณะของ Entity
• Faculty
• Department
Faculty
Faculty_ID Faculty_Name
Department
Dep_ID Dep_Name
 Teacher
 Subject
Teacher
Teacher_ID
Teacher_Name
Salary
Subject
Subject_ID
Subject_Name
Unit
การกาหนด Primary Key ของ Entity
– Entity Faculty คือ Faculty_ID
– Entity Department คือ Dep_ID
– Entity Teacher คือ Teacher_ID
– Entity Subject คือ Subject_ID
ตัวอย่างการออกแบบฐานข้อมูลด้วย E-R Model
• Ex ให้เขียน ER-Diagram ของระบบการขายสินค้า ร้านABC
คอมพิวเตอร์
• โดยที่
– ลูกค้าหลายคนสามารถที่จะซื้อสินค้าได้หลายชิ้น
– ใบเสร็จรับเงินหลายใบมีสินค้าได้หลายชิ้น
– ในใบเสร็จแต่ละใบจะมีพนักขายเพียงคนเดียวเท่านั้น
– สินค้าจะประเภทของตัวเอง
กาหนด Entity ที่ควรมีในระบบฐานข้อมูล
– Entity Customer แสดงรายละเอียดของลูกค้า
– Entity Employee แสดงรายละเอียดของพนักงานขาย
– Entity Product แสดงรายละเอียดของสินค้า
– Entity TypeProduct แสดงประเภทของสินค้า
– Entity Bill แสดงรายละเอียดของใบเสร็จ
• กาหนดความสัมพันธ์ระหว่าง Entity
Customer ได้รับ
1 M
Bill
Employee มี
1 M
Bill
TypeProduct มี
1 M
Product
Bill มี
M M
Product
Bill Bill_detail
M M
Product
1 1
กาหนดคุณลักษณะของ Entity
Employee
Emp_ID
Emp_name
salary
Product
Product_ID
Product_name
price
TypeProductTypeName
TypeID
Customer
Cus_ID
Cus_name
Address
Bill
Bill_No
Bill_date
Emp_ID
Bill_detail
ER-Diagram
ของระบบการขายสินค้า
Customer
Cus_ID
Cus_name
Address
Bill
Bill_No
Bill_date
Emp_ID
ได้รับ
Employee
Emp_ID
Emp_name
salary
Product
Product_ID
Product_name
price
มี
Bill_detail
1
M
1
M
1 M 1M
Detail_ID
Product_ID
Bill_No
Amount
Price_s
TypeProduct
มี
TypeID
TypeName
1
M
• การออกแบบฐานข้อมูล
การออกแบบฐานข้อมูล
(Database Design)
การออกแบบฐานข้อมูล (Database Design)
– การออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual Database Design)
– การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design)
– การออกแบบฐานข้อมูลในระดับกายภาพ (Physical Database Design)
39
วิเคราะห์ข้อมูลที่ต้องการ
(Data Requirements Analysis
การออกแบบในระดับแนวคิด
(Conceptual Database Design
การออกแบบในระดับตรรก
(Logical Database Design)
การออกแบบในระดับกายภาพ
(Physical Database Design)
รูปที่ 4.1 ขั้นตอนการออกแบบฐานข้อมูล
การออกแบบฐานข้อมูลในระดับแนวคิด
(Conceptual Database Design)
การออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual Database
Design)
การออกแบบฐานข้อมูลในระดับแนวคิดคือ ขั้นตอนการ
ออกแบบจากข้อมูลที่ได้ในขั้นตอนการวิเคราะห์ความต้องการ แล้ว
นาเสนอในรูปแบบแผนภาพในระดับแนวคิด (Conceptual
Schema) ซึ่งแสดงภาพรวมของฐานข้อมูล
แผนภาพในระดับแนวคิดที่เป็นที่นิยมคือแผนภาพอี-อาร์ ซึ่ง
แสดงเอนทิตี้ทั้งหมด แอททริบิวส์ของแต่ละเอนทิตี้ และ
ความสัมพันธ์ระหว่างเอนทิตี้ ฟังก์ชันการขึ้นต่อกันในรูปแบบที่
เข้าใจง่าย และไม่ขึ้นกับระบบจัดการฐานข้อมูลที่เลือกใช้
40
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design)
การออกแบบฐานข้อมูลในระดับตรรกคือ การออกแบบฐานข้อมูลให้อยู่
ในแบบจาลองฐานข้อมูลที่เหมาะสมกับระบบจัดการฐานข้อมูลที่เลือกใช้เช่น
แบบจาลองฐานข้อมูลเชิงสัมพันธ์ แบบจาลองฐานข้อมูลลาดับชั้น หรือ
แบบจาลองแบบเครือข่าย การออกแบบฐานข้อมูลในระดับแนวคิดให้เป็นเค้า
โครงร่างในระดับตรรก (Logical Schema)
ตามรูปแบบของระบบฐานข้อมูลต่างๆ เช่น ฐานข้อมูลเชิงสัมพันธ์ หรือ
สามารถเลือกที่จะเริ่มออกแบบฐานข้อมูลในระดับตรรกะเลจโดยข้ามขั้นตอน
ของการออกแบบในระดับแนวคิด
คือเริ่มจากข้อมูลรายละเอียดจากขั้นตอนการวิเคราะห์ความต้องการแล้ว
สร้างเป็นแบบจาลองเชิ่งสัมพันธ์แต่ในการออแบบฐานข้อมูลที่มีโครงสร้าง
ซับซ้อนควรจะเริ่มในระดับแนวคิดก่อนเพื่อให้สามารถเห็นภาพรวมของ
ฐานข้อมูล
41
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design)
– จากแผนภาพอี-อาร์ แล้วสร้างเป็นฐานข้อมูลเชิงสัมพันธ์ (Normalization)
– จากแผนภาพอี-อาร์ แล้วสร้างเป็นฐานข้อมูลเชิงสัมพันธ์โดยการแปลงเอนทิตี้ และแปลง
ความสัมพันธ์
• จากแผนภาพอี-อาร์ แล้วสร้างเป็นฐานข้อมูลเชิงสัมพันธ์ (Normalization)
จากแผนภาพอี-อาร์ใช้แสดงลักษณะโครงสร้างของฐานข้อมูล จะถูก
แปลงไปเป็นกลุ่มของรีเลชัน (ตาราง) แล้วจึงทาการนอร์มอลไลท์ แล้วทาให้เป็น
รูปแบบนอร์มอลระดับที่ 3 หรือรูปแบบนอร์มอลบอยส์-คอด แต่ในบางครั้ง
อาจจะให้บางรีเลชันอยู่ในรูปแบบนอร์มอลระดับที่ 2 คือจะไม่ทาการแยกรี
เลชันออกเพื่อให้รูปแบบนอร์มอลระดับที่ 3 ต่อไปอีก เพื่อประสิทธิภาพของ
ฐานข้อมูลดีขึ้นเนื่องจากการลดเวลาที่ใช้ในการค้นหาและเชื่อมโยงข้อมูล
42
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงเอนทิตี้
การแปลงเอนทิตี้ทาได้โดยแปลงเอนทิตี้แต่ละชนิดใน
แผนภาพอี-อาร์ให้มาเป็นรีเลชัน โดยให้แต่ละรีเลชันมีคอลัมน์ซึ่งมา
จากแอททริบิวท์ของเอนทิตี้ โดยให้แอททริบิวส์ที่เป็นคีย์หลักของ
แต่ละเอนทิตี้แต่ละชนิดนั้นมาเป็นคีย์หลักของรีเลชัน โดยจะต้อง
ตรวจสอบว่าคีย์หลักต้องตรวจสอบว่าคีย์หลักนี้มีคุณสมบัติถูกต้อง
คือ
• ค่าคีย์หลักในแต่ละแถวของรีเลชันจะต้องแตกต่างกันเนื่องจากคีย์หลักนี้จะใช้เพื่อ
แยกความแตกต่างของแต่ละแถวในรีเลชัน
• แอททริบิวท์ใดๆ ในคีย์หลักไม่สามารถถูกลบออกทิ้งได้นั่นคือคีย์หลักนี้ ไม่มีความ
ซ้าซ้อนและจะนานอลคีย์แอททริบิวท์ของเอนทิตี้แต่ละชนิดในแผนภาพอี-อาร์ไป
เป็นนอลคีย์แอททริบิวท์ของรีเลชัน
43
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• จากแผนภาพอี-อาร์ แล้วสร้างเป็นฐานข้อมูลเชิงสัมพันธ์
(การแปลงเอนทิตี้ และการแปลงความสัมพันธ์)
การเปลี่ยนจาก แผนภาพอี-อาร์มาเป็นรีเลชัน
ประกอบด้วย 2 ขั้นตอนคือ
• การแปลงเอนทิตี้
• การแปลงความสัมพันธ์
44
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงเอนทิตี้
การแปลงเอนทิตี้ทาโดยแปลงเอนทิตี้แต่ละชนิดในแผนภาพอี-
อาร์ให้มาเป็นรีเลชัน โดยให้แต่ละรีเลชันมีคอลัมน์ซึ่งมาจากแอ
ททริบิวส์ของเอนทิตี้ โดยให้แต่ละแอททริบิวส์ที่เป็นคีย์ของ
เอนทิตี้แต่ละชนิดนั้นมาเป็นคีย์หลักของรีเลชัน โดยจะต้อง
ตรวจสอบว่าคีย์หลักมีคุณสมบัติถูกต้อง คือ
• ค่าของคีย์หลักในแต่ละแถวของรีเลชันจะต้องแตกกัน เนื่องจากคีย์
หลักนี้จะใช้เพื่อแยกความแตกต่างของแต่ละแถวในรีเลชัน
• แอททริบิวส์ใดๆ ในคีย์หลักไม่สามารถถูกลบออกทิ้งได้นั่นคือคีย์
หลักจะต้องไม่มีความซ้าซ้อนและจะนานอลคีย์แอททริบิวส์ของ
เอนทิตี้แต่ละชนิดในแผนภาพอี-อาร์ ไปเป็นนอลคีย์แอททริบิวท์ของ
รีเลชัน
45
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงความสัมพันธ์ (การแปลง Relationship)
ในการแปลงความสัมพันธ์ต้องพิจารณาดีกรีของความสัมพันธ์
ระหว่างเอนทิตี้ว่าเป็นยูนารี ไบนารี หรือเทอร์นารี และจะต้อง
พิจารณาคาร์ดินอลลิตี้ ของความสัมพันธ์ ดังนี้
– ความสัมพันธ์แบบไบนารีหนึ่งต่อหนึ่ง(Binary 1:1 Relationship)
– ความสัมพันธ์แบบไบนารีหนึ่งต่อกลุ่ม(Binary 1:N Relationship)
– ความสัมพันธ์แบบไบนารีกลุ่มต่อกลุ่ม(Binary N:N Relationship)
– ความสัมพันธ์แบบรีเคอซีพ (Recursive Relationship)
– ความสัมพันธ์ระหว่างเอนทิตี้หลักและเอนทิตี้ย่อย(ISA Relationship)
46
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
– การแปลงเอนทิตี้แบบอ่อน (Weak Entity)
– การรวมรีเลชัน (Merging Relation)
47
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงความสัมพันธ์แบบหนึ่งต่อหนึ่ง (Binary 1:1 Relationship)
ตัวอย่าง 1 พิจารณาความสัมพันธ์แบบหนึ่งต่อหนึ่งระหว่างเอนทิตี้
“คนไข้” และเอนทิตี้ “ห้องพัก” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.2
48
หมายเลขห้อง-หมายเลขเตียง ประเภทห้อง
รหัสคนไข้ ชื่อ-นามสกุล
วันกาหนดออกจากโรงพยาบาล
ห้องพัก
คนไข้
พัก
รูปที่ 4.2 แผนภาพอี-อาร์แสดงความสัมพันธ์ระหว่างเอนทิตี้ “คนไข้” กับเอนทิตี้ “ห้องพัก”
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
จากแผนภาพอี-อาร์แสดงความสัมพันธ์แบบหนึ่งต่อหนึ่ง
ระหว่างเอนทิตี้ “คนไข้” กับเอนทิตี้ “ห้องพัก” จะถูกแปลงให้เป็น
รีเลชันไดโดยกาหนดให้ “หมายเลขห้อง-หมายเลขเตียง” เป็นคีย์
นอกของรีเลชัน “คนไข้” เนื่องจาก “หมายเลขห้อง-หมายเลขเตียง”
เป็นคีย์หลักของรีเลชัน “ห้องพัก”
– คนไข้(รหัสคนไข้, ชื่อ-สกุล, หมายเลขห้อง-หมายเลขเตียง, วันกาหนดออก
จากโรงพยาบาล)
– ห้องพัก(หมายเลขห้อง-หมายเลขเตียง, ประเภทห้อง)
49
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงความสัมพันธ์แบบหนึ่งต่อกลุ่ม (Binary 1:N Relationship)
ตัวอย่าง 2 พิจารณาความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างเอนทิตี้
“อาจารย์” และเอนทิตี้ “นักศึกษา” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.3
50
รูปที่ 4.3 แผนภาพอี-อาร์แสดงความสัมพันธ์ระหว่างเอนทิตี้ “อาจารย์” กับเอนทิตี้ “นักศึกษา”
ชื่อ-นามสกุล
รหัสอาจารย์ ชื่อ-สกุล
รหัสนักศึกษา
คณะ
อาจารย์
นักศึกษา
ที่ปรึกษา
หมายเลขห้องพัก
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
จากแผนภาพอี-อาร์ แสดงความสัมพันธ์ระหว่างเอนทิตี้
อาจารย์และเอนทิตี้นักศึกษา จะถูกแปลงไปเป็นรีเลชันได้โดย
กาหนดให้ “รหัสอาจารย์” ซึ่งเป็นคีย์หลักของเอนทิตี้ทางด้าน
ความสัมพันธ์เป็นหนึ่งให้เป็นคีย์นอกของรีเลชัน “นักศึกษา”
ทางด้านความสัมพันธ์เป็นกลุ่ม
– อาจารย์(รหัสอาจารย์, ชื่อ-นามสกุล, หมายเลขห้องพัก)
– นักศึกษา(รหัสนักศึกษา, ชื่อ-สกุล, รหัสอาจารย์)
51
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Binary M:N Relationship)
ตัวอย่าง 3 พิจารณาความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างเอนทิตี้
“คนไข้” และเอนทิตี้ “แพทย์” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.4
52
รูปที่ 4.4 แผนภาพอี-อาร์แสดงความสัมพันธ์ระหว่างเอนทิตี้ “แพทย์” กับเอนทิตี้ “คนไข้”
ชื่อ-นามสกุล
รหัสแพทย์ ชื่อ-สกุล
รหัสคนไข้
หัองพัก
แพทย์
คนไข้
รักษา ลักษณะการรักษา
หมายเลขโทรศัพท์
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
จากแผนภาพอี-อาร์ แสดงความสัมพันธ์ระหว่างเอนทิตี้
“แพทย์” กับเอนทิตี้ “คนไข้” จะถูกแปลงเป็นรีเลชันได้โดยสร้างเป็น
รีเลชัน “การรักษา” เพิ่มอีก 1 รีเลชัน โดยให้รีเลชัน “การรักษา” มีคีย์
หลักเป็นคีย์รวมที่สร้างขึ้นจากคีย์หลักของรีเลชัน “คนไข้” และรีเล
ชัน “แพทย์” และนาแอททริบิวท์ “ลักษณะการรักษา” ของ
ความสัมพันธ์ “รักษา” มาเป็นแอททริบิวท์ของรีเลชัน “การรักษา”
ด้วยจึงเกิด 3 รีเลชัน ดังนี้
– คนไข้(รหัสคนไข้, ชื่อ-นามสกุล, ห้องพัก)
– แพทย์(รหัสแพทย์, ชื่อ-นามสกุล, หมายเลขโทรศัพท์)
– การรักษา(รหัสคนไข้, รหัสแพทย์, ลักษณะการรักษา)
53
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงความสัมพันธ์แบบรีเคอร์ซีพ (Recursive Relationship)
ตัวอย่าง 4 พิจารณาความสัมพันธ์แบบรีเคอร์ซีพระหว่างเอนทิตี้
“พนักงาน” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.5
54
รูปที่ 4.5 แผนภาพอี-อาร์แสดงความสัมพันธ์แบบรีเคอร์ซีพระหว่างเอนทิตี้พนักงาน
รหัสพนักงาน ชื่อ-สกุล
พนักงาน
หัวหน้า
แผนก
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
จากแผนภาพอี-อาร์ แสดงความสัมพันธ์แบบรีเคอร์ซี
พระหว่างเอนทิตี้พนักงานเป็นรีเลชันได้โดยนา “รหัส
พนักงาน” ซึ่งเป็นคีย์หลักของรีเลชัน “พนักงาน” มาเป็นคีย์
นอกของรีเลชันด้วยโดยให้ทาการเปลี่ยนชื่อแอททริบิวท์คีย์
นอกนั้นใหม่เป็น “รหัสผู้จัดการ” ดังนี้
– พนักงาน(รหัสพนักงาน, ชื่อ-นามสกุล, แผนก, รหัสผู้จัดการ)
55
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงความสัมพันธ์ระหว่างเอนทิตี้หลักและเอนทิตี้ย่อย (ISA
Relationship)
56
รูปที่ 4.6 ความสัมพันธ์ ISA ระหว่างเอนทิตี้อาจารย์เอนทิตี้อาจารย์ประจา และเอนทิตี้
อาจารย์พิเศษ
รหัสอาจารย์ ชื่อ-สกุล
อาจารย์ประจา
ที่อยู่
รหัสอาจารย์ รหัสอาจารย์
คณะ
เงินเดือน
ค่าจ้างรายชั่วโมง
ภาคการศึกษา
อาจารย์พิเศษ
อาจารย์
ISA ISA
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
ตัวอย่างที่ 5 พิจารณาความสัมพันธ์ ISA ระหว่างเอนทิตี้
“อาจารย์” และเอนทิตี้ “อาจารย์ประจา” และเอนทิตี้ “อาจารย์พิเศษ”
ซึ่งมีแอททริบิวท์ดังรูปที่ 4.6
จากแผนภาพอี-อาร์ แสดงความสัมพันธ์ระหว่างเอนทิตี้
“อาจารย์” เอนทิตี้ “อาจารย์ประจา” และเอนทิตี้ “อาจารย์พิเศษ” จะ
ถูกแปลงเป็นรีเลชันโดยสร้างรีเลชัน “อาจารย์” “อาจารย์ประจา”
และ “อาจารย์พิเศษ” ดังนี้
– อาจารย์(รหัสอาจารย์, ชื่อ-นามสกุล, ที่อยู่)
– อาจารย์ประจา(รหัสอาจารย์, เงินเดือน, คณะ)
– อาจารย์พิเศษ(รหัสอาจารย์, ค่าจ้างรายชั่วโมง, ภาคการศึกษา)
57
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การแปลงเอนทิตี้แบบอ่อน (Weak Entity)
การแปลงเอนทิตี้แบบอ่อน ซึ่งเป็นเอนทิตี้ที่จะปรากฎในฐานข้อมูลได้
ต่อเมื่อมีเอนทิตี้หนึ่งอยู่ในฐานข้อมูลด้วยเท่านั้น ให้เป็นรีเลชันทาโดยการสร้างรี
เลชันของทั้งเอนทิตี้แบบอ่อน และเอนทิตี้ที่เอนทิตี้แบบอ่อนนั้นมีการขึ้นต่อกัน
เชิงระบุ
โดยให้รีเลชันของเอนทิตี้แบบอ่อนประกอบด้วยแอททริบิวท์ทั้งหมดของ
เอนทิตี้นั้น และจะต้องนาแอททริบิวท์ที่เป็นคีย์ของเอนทิตี้ที่เอนทิตี้แบบอ่อนนั้น
มีการขึ้นต่อกันเชิงระบุมาอยู่ในรีเลชันของเอนทิตี้แบบอ่อนและให้เป็นส่วน
หนึ่งของคีย์หลักของรีเลชัน
ตัวอย่างที่ 6 พิจารณาความสัมพันธ์ระหว่างเอนทิตี้ “พนักงาน” กับ
เอนทิตี้แบบอ่อนคือเอนทิตี้ “ผู้เกี่ยวข้อง” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.7
58
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
จากแผนภาพอี-อาร์แสดงความสัมพันธ์ระหว่างเอนทิตี้ “พนักงาน”
กับเอนทิตี้ “ผู้เกี่ยวข้อง” จะเปลี่ยนไปเป็นรีเลชัน 2 รีเลชัน ดังนี้
– พนักงาน(รหัสพนักงาน, ชื่อ-นามสกุล, แผนก)
– ผู้เกี่ยวข้อง(รหัสพนักงาน, ชื่อ-สกุลผู้เกี่ยวข้อง, วัน-เดือน-ปีเกิด)
59
รูปที่ 4.7 ความสัมพันธ์ระหว่างเอนทิตี้แบบอ่อนและเอนทิตี้แบบRegular
พนักงาน
รหัสพนักงาน
รหัสพนักงานแผนก
ชื่อ-นามสกุล ชื่อ-สกุลผู้เกี่ยวข้อง
วันเดือนปีเกิด
เกี่ยวข้อง อาจารย์พิเศษผู้เกี่ยวข้อง
การออกแบบฐานข้อมูลในระดับตรรก
(Logical Database Design)
• การรวมรีเลชัน (Merging Relations)
รีเลชันที่ผ่านการนอร์มอลไลแล้วอาจจะถูกสร้างจากแผนภาพ
อี-อาร์หลายๆ แผนภาพ ทาให้บางรีเลชันที่ได้ เป็นรีเลชันของเอน
ทิตี้ชนิดเดียวกัน ดังนั้นเราควรจะทาการรวมรีเลชันเหล่านั้นเพื่อจะ
ลดความซ้าซ้อนของข้อมูลลง ซึ่งกรรมวิธีอาจจะเรียกว่าการทา View
Integration ซึ่งจะเป็นขั้นตอนสุดท้ายของการออกแบบฐานข้อมูล
– พนักงาน1(รหัสพนักงาน, ชื่อ, ที่อยู่, โทรศัพท์)
– พนักงาน2(เลขประจาตัวพนักงาน, ชื่อ, ที่อยู่, แผนก, ตาแหน่ง)
รวมกันได้เป็น
– พนักงาน(รหัสพนักงาน, ชื่อ, ที่อยู่, โทรศัพท์, แผนก, ตาแหน่ง)
60
การออกแบบฐานข้อมูลในระดับกายภาภ
(Physical Database Design)
• การออกแบบฐานข้อมูลในระดับกายภาพ (Physical Database
Design)
การออกแบบฐานข้อมูลในระดับกายภาพ เป็นกระบวนการ
ในการแปลงจากโครงสร้างฐานข้อมูลในระดับตรรกะ (Logical
Database Design) ไปเป็นโครงสร้างฐานข้อมูลในระดับกายภาพ
(Physical Database Design) โดยพิจารณาการจัดเก็บข้อมูลจริง
เช่นดิสก์หรือเทป จุดประสงค์หลักของการออกแบบ
ฐานข้อมูลคือประสิทธิภาพของระบบ ซึ่งสามารถพิจารณาได้จาก
ความเร็วในการทางานของระบบ ความสะดวกในการใช้งาน และ
การประหยัดเนื้อที่ในการจัดเก็บข้อมูล ปัจจัยต่างๆ ที่จะต้อง
คานึงถึงในการออกแบบฐานข้อมูลในระดับกายภาพ ได้แก่
61
การออกแบบฐานข้อมูลในระดับกายภาภ
(Physical Database Design)
– อุปกรณ์ที่ใช้เพื่อเก็บข้อมูล วิธีการเข้าถึงข้อมูล วิธีการ
บารุงรักษาและเพิ่มประสิทธิ
– จานวนของเอนทิตี้แต่ละชนิดในฐานข้อมูล เช่นประมาณว่าใน
ฐานข้อมูลจะเก็บข้อมูลที่เกี่ยวกับพนักงานกี่คน
– จานวนผลลัพธ์ (Output) ที่ต้องการจากฐานข้อมูล เช่นจานวน
รายงาน ขนาดของแต่ละรายงานและความถี่ในการใช้รายงาน
– กฎเกณฑ์ในการควบคุมความถูกต้องและความปลอดภัยของ
ข้อมูล
62
Entity Relationship
Entity Relationship

More Related Content

What's hot

ใบงานที่ 7 การคำนวณในตารางทำงาน
ใบงานที่ 7  การคำนวณในตารางทำงานใบงานที่ 7  การคำนวณในตารางทำงาน
ใบงานที่ 7 การคำนวณในตารางทำงานMeaw Sukee
 
คู่มือ Thunkable
คู่มือ Thunkableคู่มือ Thunkable
คู่มือ ThunkableKhunakon Thanatee
 
แบบสอบถามความพึงพอใจ แบบสอบถาม
แบบสอบถามความพึงพอใจ แบบสอบถามแบบสอบถามความพึงพอใจ แบบสอบถาม
แบบสอบถามความพึงพอใจ แบบสอบถามสำเร็จ นางสีคุณ
 
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์skiats
 
โวหารภาพพจน์ครูอรุณศรี
โวหารภาพพจน์ครูอรุณศรีโวหารภาพพจน์ครูอรุณศรี
โวหารภาพพจน์ครูอรุณศรีKornnicha Wonglai
 
ใบงานส่วนประกอบคอมพิวเตอร์
ใบงานส่วนประกอบคอมพิวเตอร์ใบงานส่วนประกอบคอมพิวเตอร์
ใบงานส่วนประกอบคอมพิวเตอร์bimteach
 
PPT โน้มน้าวใจ
PPT โน้มน้าวใจPPT โน้มน้าวใจ
PPT โน้มน้าวใจKruBowbaro
 
พัฒนาการวรรณกรรมไทย
พัฒนาการวรรณกรรมไทย พัฒนาการวรรณกรรมไทย
พัฒนาการวรรณกรรมไทย Kun Cool Look Natt
 
DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์rubtumproject.com
 
ข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมwordข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมwordpeter dontoom
 
โครงการจิตอาสาเพื่อชุมชนและสังคม
โครงการจิตอาสาเพื่อชุมชนและสังคมโครงการจิตอาสาเพื่อชุมชนและสังคม
โครงการจิตอาสาเพื่อชุมชนและสังคมจตุรพล ชานันโท
 
การวิเคราะห์วรรณคดี "รำพึงในป่าช้า"
การวิเคราะห์วรรณคดี "รำพึงในป่าช้า"การวิเคราะห์วรรณคดี "รำพึงในป่าช้า"
การวิเคราะห์วรรณคดี "รำพึงในป่าช้า"พัน พัน
 
โวหารในการเขียน
โวหารในการเขียนโวหารในการเขียน
โวหารในการเขียนkrubuatoom
 
สื่อและแหล่งการเรียนรู้
สื่อและแหล่งการเรียนรู้สื่อและแหล่งการเรียนรู้
สื่อและแหล่งการเรียนรู้poms0077
 
บทที่ 6 การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัย
บทที่ 6 การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัยบทที่ 6 การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัย
บทที่ 6 การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัยrussana
 

What's hot (20)

ใบงานที่ 7 การคำนวณในตารางทำงาน
ใบงานที่ 7  การคำนวณในตารางทำงานใบงานที่ 7  การคำนวณในตารางทำงาน
ใบงานที่ 7 การคำนวณในตารางทำงาน
 
คู่มือ Thunkable
คู่มือ Thunkableคู่มือ Thunkable
คู่มือ Thunkable
 
บุคลิกภาพของผู้นำเสนอ
บุคลิกภาพของผู้นำเสนอบุคลิกภาพของผู้นำเสนอ
บุคลิกภาพของผู้นำเสนอ
 
แบบสอบถามความพึงพอใจ แบบสอบถาม
แบบสอบถามความพึงพอใจ แบบสอบถามแบบสอบถามความพึงพอใจ แบบสอบถาม
แบบสอบถามความพึงพอใจ แบบสอบถาม
 
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
 
2
22
2
 
คำนาม
คำนามคำนาม
คำนาม
 
swot
swotswot
swot
 
โวหารภาพพจน์ครูอรุณศรี
โวหารภาพพจน์ครูอรุณศรีโวหารภาพพจน์ครูอรุณศรี
โวหารภาพพจน์ครูอรุณศรี
 
ใบงานส่วนประกอบคอมพิวเตอร์
ใบงานส่วนประกอบคอมพิวเตอร์ใบงานส่วนประกอบคอมพิวเตอร์
ใบงานส่วนประกอบคอมพิวเตอร์
 
PPT โน้มน้าวใจ
PPT โน้มน้าวใจPPT โน้มน้าวใจ
PPT โน้มน้าวใจ
 
ความหมายและประเภทของศาสนา
ความหมายและประเภทของศาสนาความหมายและประเภทของศาสนา
ความหมายและประเภทของศาสนา
 
พัฒนาการวรรณกรรมไทย
พัฒนาการวรรณกรรมไทย พัฒนาการวรรณกรรมไทย
พัฒนาการวรรณกรรมไทย
 
DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์DFD ระบบจองรีสอร์ทออนไลน์
DFD ระบบจองรีสอร์ทออนไลน์
 
ข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมwordข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมword
 
โครงการจิตอาสาเพื่อชุมชนและสังคม
โครงการจิตอาสาเพื่อชุมชนและสังคมโครงการจิตอาสาเพื่อชุมชนและสังคม
โครงการจิตอาสาเพื่อชุมชนและสังคม
 
การวิเคราะห์วรรณคดี "รำพึงในป่าช้า"
การวิเคราะห์วรรณคดี "รำพึงในป่าช้า"การวิเคราะห์วรรณคดี "รำพึงในป่าช้า"
การวิเคราะห์วรรณคดี "รำพึงในป่าช้า"
 
โวหารในการเขียน
โวหารในการเขียนโวหารในการเขียน
โวหารในการเขียน
 
สื่อและแหล่งการเรียนรู้
สื่อและแหล่งการเรียนรู้สื่อและแหล่งการเรียนรู้
สื่อและแหล่งการเรียนรู้
 
บทที่ 6 การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัย
บทที่ 6 การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัยบทที่ 6 การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัย
บทที่ 6 การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัย
 

Similar to Entity Relationship

SlideShare เรื่อง การออกแบบฐานข้อมูล
SlideShare เรื่อง การออกแบบฐานข้อมูลSlideShare เรื่อง การออกแบบฐานข้อมูล
SlideShare เรื่อง การออกแบบฐานข้อมูลNithiwan Rungrangsri
 
Chapter 1 2
Chapter 1 2Chapter 1 2
Chapter 1 2Mafia02
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูลOrapan Chamnan
 
05 entity relationship model
05 entity relationship model05 entity relationship model
05 entity relationship modelOpas Kaewtai
 
ฐานข้อมูลนะสอน
ฐานข้อมูลนะสอนฐานข้อมูลนะสอน
ฐานข้อมูลนะสอนsariya25
 
แบบจำลองข้อมูล
แบบจำลองข้อมูลแบบจำลองข้อมูล
แบบจำลองข้อมูลskiats
 
Chapter8การออกแบบข้อมูล
Chapter8การออกแบบข้อมูลChapter8การออกแบบข้อมูล
Chapter8การออกแบบข้อมูลsaisuneesaibit
 
Instructional Design for e-Learning
Instructional Design for e-LearningInstructional Design for e-Learning
Instructional Design for e-LearningBoonlert Aroonpiboon
 
Ite 237 midterm guide
Ite 237 midterm guideIte 237 midterm guide
Ite 237 midterm guideBay Nattagrit
 
เขียนโปรแกรมด้วยไพธอน
เขียนโปรแกรมด้วยไพธอนเขียนโปรแกรมด้วยไพธอน
เขียนโปรแกรมด้วยไพธอนNuchy Suchanuch
 

Similar to Entity Relationship (20)

SlideShare เรื่อง การออกแบบฐานข้อมูล
SlideShare เรื่อง การออกแบบฐานข้อมูลSlideShare เรื่อง การออกแบบฐานข้อมูล
SlideShare เรื่อง การออกแบบฐานข้อมูล
 
Chapter 1 2
Chapter 1 2Chapter 1 2
Chapter 1 2
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูล
 
05 entity relationship model
05 entity relationship model05 entity relationship model
05 entity relationship model
 
Erd
ErdErd
Erd
 
Unit 3 er model
Unit 3 er modelUnit 3 er model
Unit 3 er model
 
ฐานข้อมูลนะสอน
ฐานข้อมูลนะสอนฐานข้อมูลนะสอน
ฐานข้อมูลนะสอน
 
Entity relationship model
Entity relationship modelEntity relationship model
Entity relationship model
 
แบบจำลองข้อมูล
แบบจำลองข้อมูลแบบจำลองข้อมูล
แบบจำลองข้อมูล
 
07 e r model
07 e r model07 e r model
07 e r model
 
Chapter8การออกแบบข้อมูล
Chapter8การออกแบบข้อมูลChapter8การออกแบบข้อมูล
Chapter8การออกแบบข้อมูล
 
บทที่ 4 er diagram
บทที่ 4 er diagramบทที่ 4 er diagram
บทที่ 4 er diagram
 
Instructional Design for e-Learning
Instructional Design for e-LearningInstructional Design for e-Learning
Instructional Design for e-Learning
 
Lesson 1 intro2_db
Lesson 1 intro2_dbLesson 1 intro2_db
Lesson 1 intro2_db
 
Lesson 1 intro2_db
Lesson 1 intro2_dbLesson 1 intro2_db
Lesson 1 intro2_db
 
Database architecture
Database architectureDatabase architecture
Database architecture
 
Ite 237 midterm guide
Ite 237 midterm guideIte 237 midterm guide
Ite 237 midterm guide
 
Lesson 1
Lesson 1Lesson 1
Lesson 1
 
เขียนโปรแกรมด้วยไพธอน
เขียนโปรแกรมด้วยไพธอนเขียนโปรแกรมด้วยไพธอน
เขียนโปรแกรมด้วยไพธอน
 
Ch5 database system
Ch5 database systemCh5 database system
Ch5 database system
 

More from CC Nakhon Pathom Rajabhat University

การสร้่างเว็บด้วยภาษา html
การสร้่างเว็บด้วยภาษา htmlการสร้่างเว็บด้วยภาษา html
การสร้่างเว็บด้วยภาษา htmlCC Nakhon Pathom Rajabhat University
 
ปฏิบัติการการพัฒนาออกแบบและการเขียนโปรแกรมเว็บเพจ
ปฏิบัติการการพัฒนาออกแบบและการเขียนโปรแกรมเว็บเพจปฏิบัติการการพัฒนาออกแบบและการเขียนโปรแกรมเว็บเพจ
ปฏิบัติการการพัฒนาออกแบบและการเขียนโปรแกรมเว็บเพจCC Nakhon Pathom Rajabhat University
 
การนำระบบไปใช้/การบำรุงรักษาระบบ
การนำระบบไปใช้/การบำรุงรักษาระบบการนำระบบไปใช้/การบำรุงรักษาระบบ
การนำระบบไปใช้/การบำรุงรักษาระบบCC Nakhon Pathom Rajabhat University
 
การออกแบบระบบและการออกแบบยูสเซอร์อินเตอร์เฟซ
การออกแบบระบบและการออกแบบยูสเซอร์อินเตอร์เฟซการออกแบบระบบและการออกแบบยูสเซอร์อินเตอร์เฟซ
การออกแบบระบบและการออกแบบยูสเซอร์อินเตอร์เฟซCC Nakhon Pathom Rajabhat University
 
การพัฒนาระบบสารสนเทศและวัฏจักรการพัฒนาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศและวัฏจักรการพัฒนาระบบสารสนเทศการพัฒนาระบบสารสนเทศและวัฏจักรการพัฒนาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศและวัฏจักรการพัฒนาระบบสารสนเทศCC Nakhon Pathom Rajabhat University
 
ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์ระบบ
ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์ระบบความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์ระบบ
ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์ระบบCC Nakhon Pathom Rajabhat University
 
ความรู้เบื้องต้นเกี่ยวกับระบบสารสนเทศ
ความรู้เบื้องต้นเกี่ยวกับระบบสารสนเทศความรู้เบื้องต้นเกี่ยวกับระบบสารสนเทศ
ความรู้เบื้องต้นเกี่ยวกับระบบสารสนเทศCC Nakhon Pathom Rajabhat University
 
บทที่7 การประยุกต์ใช้ในงานทางด้านโยธา
บทที่7 การประยุกต์ใช้ในงานทางด้านโยธาบทที่7 การประยุกต์ใช้ในงานทางด้านโยธา
บทที่7 การประยุกต์ใช้ในงานทางด้านโยธาCC Nakhon Pathom Rajabhat University
 
การประยุกต์ใช้ในงานทางไฟฟ้า
การประยุกต์ใช้ในงานทางไฟฟ้าการประยุกต์ใช้ในงานทางไฟฟ้า
การประยุกต์ใช้ในงานทางไฟฟ้าCC Nakhon Pathom Rajabhat University
 
การประยุกต์ใช้ในงานทางเครื่องกล
การประยุกต์ใช้ในงานทางเครื่องกลการประยุกต์ใช้ในงานทางเครื่องกล
การประยุกต์ใช้ในงานทางเครื่องกลCC Nakhon Pathom Rajabhat University
 

More from CC Nakhon Pathom Rajabhat University (20)

ภาษา php
ภาษา phpภาษา php
ภาษา php
 
ภาษา java sript
ภาษา java sriptภาษา java sript
ภาษา java sript
 
session cookies
session cookiessession cookies
session cookies
 
ภาษา css
ภาษา cssภาษา css
ภาษา css
 
ภาษา xhtml
ภาษา xhtmlภาษา xhtml
ภาษา xhtml
 
ภาษา html5
ภาษา html5ภาษา html5
ภาษา html5
 
การสร้่างเว็บด้วยภาษา html
การสร้่างเว็บด้วยภาษา htmlการสร้่างเว็บด้วยภาษา html
การสร้่างเว็บด้วยภาษา html
 
หลักการออกแบบเว็บไซต์
หลักการออกแบบเว็บไซต์หลักการออกแบบเว็บไซต์
หลักการออกแบบเว็บไซต์
 
ปฏิบัติการการพัฒนาออกแบบและการเขียนโปรแกรมเว็บเพจ
ปฏิบัติการการพัฒนาออกแบบและการเขียนโปรแกรมเว็บเพจปฏิบัติการการพัฒนาออกแบบและการเขียนโปรแกรมเว็บเพจ
ปฏิบัติการการพัฒนาออกแบบและการเขียนโปรแกรมเว็บเพจ
 
การนำระบบไปใช้/การบำรุงรักษาระบบ
การนำระบบไปใช้/การบำรุงรักษาระบบการนำระบบไปใช้/การบำรุงรักษาระบบ
การนำระบบไปใช้/การบำรุงรักษาระบบ
 
การออกแบบระบบและการออกแบบยูสเซอร์อินเตอร์เฟซ
การออกแบบระบบและการออกแบบยูสเซอร์อินเตอร์เฟซการออกแบบระบบและการออกแบบยูสเซอร์อินเตอร์เฟซ
การออกแบบระบบและการออกแบบยูสเซอร์อินเตอร์เฟซ
 
การวิเคราะห์ระบบ 2
การวิเคราะห์ระบบ 2การวิเคราะห์ระบบ 2
การวิเคราะห์ระบบ 2
 
การวิเคราะห์ระบบ 1
การวิเคราะห์ระบบ 1การวิเคราะห์ระบบ 1
การวิเคราะห์ระบบ 1
 
การพัฒนาระบบสารสนเทศและวัฏจักรการพัฒนาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศและวัฏจักรการพัฒนาระบบสารสนเทศการพัฒนาระบบสารสนเทศและวัฏจักรการพัฒนาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศและวัฏจักรการพัฒนาระบบสารสนเทศ
 
ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์ระบบ
ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์ระบบความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์ระบบ
ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์ระบบ
 
ความรู้เบื้องต้นเกี่ยวกับระบบสารสนเทศ
ความรู้เบื้องต้นเกี่ยวกับระบบสารสนเทศความรู้เบื้องต้นเกี่ยวกับระบบสารสนเทศ
ความรู้เบื้องต้นเกี่ยวกับระบบสารสนเทศ
 
บทที่7 การประยุกต์ใช้ในงานทางด้านโยธา
บทที่7 การประยุกต์ใช้ในงานทางด้านโยธาบทที่7 การประยุกต์ใช้ในงานทางด้านโยธา
บทที่7 การประยุกต์ใช้ในงานทางด้านโยธา
 
การประยุกต์ใช้ในงานทางไฟฟ้า
การประยุกต์ใช้ในงานทางไฟฟ้าการประยุกต์ใช้ในงานทางไฟฟ้า
การประยุกต์ใช้ในงานทางไฟฟ้า
 
การประยุกต์ใช้ในงานทางเครื่องกล
การประยุกต์ใช้ในงานทางเครื่องกลการประยุกต์ใช้ในงานทางเครื่องกล
การประยุกต์ใช้ในงานทางเครื่องกล
 
อินทิกรัลของฟังก์ชัน
อินทิกรัลของฟังก์ชันอินทิกรัลของฟังก์ชัน
อินทิกรัลของฟังก์ชัน
 

Entity Relationship

  • 2. E-R Diagram • เป็นแผนภาพที่ทาหน้าที่จาลองข้อมูลที่มีความสัมพันธ์กัน • เป็นการออกแบบฐานข้อมูลในระดับ Conceptual • เป็นแบบจาลองข้อมูลที่แสดงถึงโครงสร้างฐานข้อมูลที่เป็นอิสระ จาก Software ที่จะใช้พัฒนาฐานข้อมูล (ไม่ขึ้นกับ Software) • ทาให้บุคลากรเข้าใจในระบบฐานข้อมูลได้ง่าย
  • 3. สัญลักษณ์ที่ใช้ใน E-R Diagram ใช้แบบ Chen Model • Entity – เป็นส่วนที่ใช้สาหรับเก็บข้อมูลแต่ละรายการภายในระบบที่เรากาลัง จัดทาอยู่ – เช่น • บุคคล (พนักงาน, ผู้ป่วย, บุคลากร, นักศึกษา,ลูกค้า) • สถานที่ (จังหวัด, อาเภอ, ภาค, ที่อยู่) • วัตถุ (รถยนต์, อาคาร, เครื่องจักร,สินค้า) • เหตุการณ์ (ประวัติ, การลงทะเบียน, การรักษาโรค,ซื้อ,ขาย) – สัญลักษณ์จะแทนด้วยรูปสี่เหลี่ยมและมีชื่อ Entity อยู่ภายใน พนักงาน
  • 4. • ประเภทของ ของ Entity มี 2 ประเภท – 1 Regular Entity อาจจะเรียกอีกชื่อว่า Strong Entity • เป็น Entity ที่อยู่ได้โดยไม่ต้องอาศัย Entity อื่นในการคง อยู่ ซึ่งมีคุณสมบัติ Identity ได้ด้วยตัวเอง ไม่ต้องพึ่ง Entity อื่น –2 Week Entity • เป็น Entity ที่อยู่ได้โดยต้องอาศัย Entity อื่นในการคงอยู่ Customer Order Detail
  • 5. ภาพอธิบาย Strong & Weak Entity รหัส ชื่อ คณะ 45001 เดชา บริหารธุรกิจ 45002 สมชาย เกษตร รหัส ปีการศึกษา รหัสวิชา 45001 1/45 01 45002 1/45 01 45001 1/45 02 45002 1/45 02 รหัสวิชา ชื่อวิชา 01 ฐานข้อมูล 02 โครงสร้าง Student (Strong) Subject (Strong) Regis_Detail(Weak)
  • 6. • Attributes – เป็นคุณสมบัติหรือลักษณะของ Entity – เช่น Attributes ของ พนักงาน ประกอบด้วย • เลขที่พนักงาน • ชื่อ-นามสกุล • เพศ • เงินเดือน สัญลักษณ์ Attributes นั้นจะแทนด้วยวงรี โดยมีชื่อของ Attributes กากับอยู่ภายใน และมีเส้นเชื่อมต่อกับ Entity ของมัน เช่น
  • 8. • Attributes สามารถจาแนกได้เป็น 6 ประเภท 1 Simple Attributes – Attributesที่ไม่สามารถแบ่งแยกย่อยได้อีกแล้ว เช่น เพศ,เงินเดือน 2 Composite Attributes – มีลักษณะตรงข้ามกับแบบ Simple ที่สามารถแบ่งแยกย่อยไปได้อีก เช่น ชื่อสกุล ที่สามารถแบ่งออกได้เป็น Attributes ชื่อ และ สกุล 3 Key Attributes – เป็น Attributes ที่สามารถบ่งบอกถึงเอกลักษณ์ของ Entity นั้นได้ (มีค่า ไม่ซ้ากัน) – เวลาเขียน ER Diagram ต้องขีดเส้นใต้ Attributes ที่เป็น Key ด้วย
  • 9. 4 Single - Valued Attributes – Property ที่มีค่าของข้อมูลได้เพียงแค่ค่าเดียว เช่น Attributes เพศ ที่ระบุได้เพียง ชาย หรือ หญิง เท่านั้น เพราะมนุษย์มีเพียงเพศเดียว – สัญลักษณ์เป็นวงรี เส้นเชื่อมเป็นเส้นเดี่ยว 5 Multi - Valued Attributes – มีลักษณะตรงข้ามกับแบบ Single ที่สามารถมีค่าของข้อมูลได้หลายค่า เช่น เบอร์โทรที่ ประกอบด้วยรหัสพื้นที่และตามด้วยหมายเลขโทรศัพท์ – สัญลักษณ์เป็นวงรีสองเส้น 6 Derived Attributes – เป็น Property ที่ได้มาจากการคานวณ โดยอาศัยค่าใน Property อื่น ๆ เช่น ค่าของอายุ ที่ ได้มาจาก Property วันเกิดสัญลักษณ์เป็นวงรีเส้นประ
  • 10. • ตัวอย่างภาพ Attributes ชนิดต่าง ๆ StudentID Age Name_Surname Birthday Sex Name Surname Tel Composite key Derived Multi - Valued
  • 11. • 3. Relationship – หมายถึง Entity ที่แสดงความสัมพันธ์ระหว่าง 2 Entity ขึ้นไป – เป็นความสัมพันธ์ระหว่าง Entity ที่มี Attributes ร่วมกัน – โดยแต่ละความสัมพันธ์จะถูกระบุด้วยสัญลักษณ์สี่เหลี่ยมข้าวหลามตัด (Diamond) และคาที่อธิบายถึงความสัมพันธ์นั้น ๆ – พร้อมทั้งระบุชนิดของความสัมพันธ์ระหว่าง Entity นั้น ๆ ด้วย
  • 12. • ตัวอย่าง Relationship Employee Work_in Department Order Of Order_detail
  • 13. ประเภทของ Relationship • 1. One-to-One Relationship – เป็นความสัมพันธ์ของสมาชิกของใน Entity หนึ่งไปสัมพันธ์กับ กับสมาชิกของ ใน Entity อีกอันหนึ่ง เพียงหนึ่งเดียวเท่านั้น Employee Owner1 1 Car
  • 14. ประเภทของ Relationship • 2. One-to-Many Relationship – เป็นความสัมพันธ์ของสมาชิกของใน Entity หนึ่งไปสัมพันธ์กับ กับสมาชิกของ ใน Entity อีกอันหนึ่ง มากกว่า 1 สมาชิก Employee Have1 M Car
  • 15. ประเภทของ Relationship • 2. Meny-to-Many Relationship – เป็นความสัมพันธ์ของสมาชิกมากกว่า 1 สมาชิก ของใน Entity หนึ่งไป สัมพันธ์กับ กับสมาชิกของใน Entity อีกอันหนึ่ง มากกว่า 1 สมาชิก Customer Belong_toM N Account
  • 16. • Composite Entity – เป็น Entity ที่ถูกสร้างขึ้นเพื่อแปลงความสัมพันธ์แบบ M:M ให้เป็น แบบ 1:M (เพราะ แบบ M:M นั้นค่อนข้างยากแก่การเข้าใจ) – ซึ่ง Composite Entity จะกลายเป็น Entity ใหม่ที่รวมเอาไว้ด้วย Key Property ของทั้ง 2 Entity หลัก และส่วนสนใจอื่น ๆ – ซึ่ง Key Property ของ Composite Entity ก็คือ Key Property ของทั้ง 2 Entity หลัก นั่นเอง (เป็น PK ที่มีลักษณะเป็น Super Key : คีย์ร่วม) – สัญลักษณ์ของ Composite Entity คือ สี่เหลี่ยมผืนผ้าซ้อนด้วยสี่เหลี่ยมรูปข้าวหลามตัด
  • 17. ภาพแสดงการเปลี่ยนแปลงจาก M:M มาเป็น 1:M Studen Subject M Learning M Studen Subject M M1 1 Learning
  • 18. การออกแบบฐานข้อมูลด้วย E-R Model 1. ศึกษารายละเอียดและลักษณะหน้าที่งานของระบบ • เพื่อรวบรวมรายละเอียด – ลักษณะการทางานของระบบ – ขั้นตอนการทางาน – เอกสารรายงานต่างๆ
  • 19. 2. กาหนด Entity ที่ควรมีในระบบฐานข้อมูล • โดยคานึงถึงข้อมูลทั้งหมดที่จะจัดเก็บลงไปในฐานข้อมูล ว่า สามารถแบ่งออกได้เป็นกี่ Entity • ภายในฐานข้อมูลหนึ่ง ๆ อาจจะมีจานวน Entity เป็นจานวนมาก ซึ่งก็ขึ้นอยู่ที่ผู้ใช้ว่าต้องการจัดเก็บข้อมูลมากเพียงใด • โดยการกาหนด Entity จะต้องคานึงถึง Entity ทั้งแบบอ่อนแอและ แบบแข็งแรงด้วย
  • 20. 3. การกาหนดความสัมพันธ์ระหว่าง Entity • ว่าแต่ละ Entity ที่มีความสัมพันธ์กันนั้น จะสัมพันธ์กันด้วยเงื่อนไขใด และชนิดความสัมพันธ์เป็นอย่างไร – One to One Relationship – One to Many Relationship – Many to Many Relationship
  • 21. 4. การกาหนดคุณลักษณะของ Entity • เป็นการกาหนดคุณสมบัติ (Attributes) ให้กับ Entity ว่าควรจะประกอบ ไปด้วย Attributes ใดบาง • พร้อมทั้งพิจารณาด้วยว่า Attributes ใดบ้างที่จะเป็น – Composite Attributes – Derived Attributes
  • 22. 5. การกาหนด Primary Key ของแต่ละ Entity • เป็นการกาหนดให้ Entity แต่ละ Entity มีเอกลักษณ์เฉพาะที่สามารถ อ้างอิงได้อย่างไม่ซ้าซ้อน • นั่นก็คือการกาหนด Primary Key นั่นเอง
  • 23. ตัวอย่างการออกแบบฐานข้อมูลด้วย E-R Model สถาบันการศึกษาแห่งหนึ่งมีการสอนอยู่ 3 คณะ คือ เกษตร, วิทยาศาสตร์, ศึกษาศาสตร์ • ซึ่งในแต่ละคณะจะประกอบไปด้วยภาควิชาต่าง ๆ • แต่ละภาควิชาก็จะประกอบไปด้วยอาจารย์หลาย ๆ คน • อาจารย์แต่ละคนสอนได้หลายวิชา แต่สามารถสังกัดได้เพียงแค่ ภาควิชาเดียว • และอาจารย์แต่ละคนแต่ละภาคก็จะมีหัวหน้าภาค
  • 24. กาหนด Entity ที่ควรมีในระบบฐานข้อมูล – Entity Faculty แสดงรายละเอียดของคณะ – Entity Department แสดงรายละเอียดของแผนก – Entity Teacher แสดงรายละเอียดของอาจารย์ – Entity Subject แสดงรายละเอียดของวิชา
  • 27. กาหนดคุณลักษณะของ Entity • Faculty • Department Faculty Faculty_ID Faculty_Name Department Dep_ID Dep_Name
  • 29. การกาหนด Primary Key ของ Entity – Entity Faculty คือ Faculty_ID – Entity Department คือ Dep_ID – Entity Teacher คือ Teacher_ID – Entity Subject คือ Subject_ID
  • 30.
  • 31. ตัวอย่างการออกแบบฐานข้อมูลด้วย E-R Model • Ex ให้เขียน ER-Diagram ของระบบการขายสินค้า ร้านABC คอมพิวเตอร์ • โดยที่ – ลูกค้าหลายคนสามารถที่จะซื้อสินค้าได้หลายชิ้น – ใบเสร็จรับเงินหลายใบมีสินค้าได้หลายชิ้น – ในใบเสร็จแต่ละใบจะมีพนักขายเพียงคนเดียวเท่านั้น – สินค้าจะประเภทของตัวเอง
  • 32. กาหนด Entity ที่ควรมีในระบบฐานข้อมูล – Entity Customer แสดงรายละเอียดของลูกค้า – Entity Employee แสดงรายละเอียดของพนักงานขาย – Entity Product แสดงรายละเอียดของสินค้า – Entity TypeProduct แสดงประเภทของสินค้า – Entity Bill แสดงรายละเอียดของใบเสร็จ
  • 33. • กาหนดความสัมพันธ์ระหว่าง Entity Customer ได้รับ 1 M Bill Employee มี 1 M Bill TypeProduct มี 1 M Product
  • 34. Bill มี M M Product Bill Bill_detail M M Product 1 1
  • 39. การออกแบบฐานข้อมูล (Database Design) การออกแบบฐานข้อมูล (Database Design) – การออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual Database Design) – การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) – การออกแบบฐานข้อมูลในระดับกายภาพ (Physical Database Design) 39 วิเคราะห์ข้อมูลที่ต้องการ (Data Requirements Analysis การออกแบบในระดับแนวคิด (Conceptual Database Design การออกแบบในระดับตรรก (Logical Database Design) การออกแบบในระดับกายภาพ (Physical Database Design) รูปที่ 4.1 ขั้นตอนการออกแบบฐานข้อมูล
  • 40. การออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual Database Design) การออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual Database Design) การออกแบบฐานข้อมูลในระดับแนวคิดคือ ขั้นตอนการ ออกแบบจากข้อมูลที่ได้ในขั้นตอนการวิเคราะห์ความต้องการ แล้ว นาเสนอในรูปแบบแผนภาพในระดับแนวคิด (Conceptual Schema) ซึ่งแสดงภาพรวมของฐานข้อมูล แผนภาพในระดับแนวคิดที่เป็นที่นิยมคือแผนภาพอี-อาร์ ซึ่ง แสดงเอนทิตี้ทั้งหมด แอททริบิวส์ของแต่ละเอนทิตี้ และ ความสัมพันธ์ระหว่างเอนทิตี้ ฟังก์ชันการขึ้นต่อกันในรูปแบบที่ เข้าใจง่าย และไม่ขึ้นกับระบบจัดการฐานข้อมูลที่เลือกใช้ 40
  • 41. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) การออกแบบฐานข้อมูลในระดับตรรกคือ การออกแบบฐานข้อมูลให้อยู่ ในแบบจาลองฐานข้อมูลที่เหมาะสมกับระบบจัดการฐานข้อมูลที่เลือกใช้เช่น แบบจาลองฐานข้อมูลเชิงสัมพันธ์ แบบจาลองฐานข้อมูลลาดับชั้น หรือ แบบจาลองแบบเครือข่าย การออกแบบฐานข้อมูลในระดับแนวคิดให้เป็นเค้า โครงร่างในระดับตรรก (Logical Schema) ตามรูปแบบของระบบฐานข้อมูลต่างๆ เช่น ฐานข้อมูลเชิงสัมพันธ์ หรือ สามารถเลือกที่จะเริ่มออกแบบฐานข้อมูลในระดับตรรกะเลจโดยข้ามขั้นตอน ของการออกแบบในระดับแนวคิด คือเริ่มจากข้อมูลรายละเอียดจากขั้นตอนการวิเคราะห์ความต้องการแล้ว สร้างเป็นแบบจาลองเชิ่งสัมพันธ์แต่ในการออแบบฐานข้อมูลที่มีโครงสร้าง ซับซ้อนควรจะเริ่มในระดับแนวคิดก่อนเพื่อให้สามารถเห็นภาพรวมของ ฐานข้อมูล 41
  • 42. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) – จากแผนภาพอี-อาร์ แล้วสร้างเป็นฐานข้อมูลเชิงสัมพันธ์ (Normalization) – จากแผนภาพอี-อาร์ แล้วสร้างเป็นฐานข้อมูลเชิงสัมพันธ์โดยการแปลงเอนทิตี้ และแปลง ความสัมพันธ์ • จากแผนภาพอี-อาร์ แล้วสร้างเป็นฐานข้อมูลเชิงสัมพันธ์ (Normalization) จากแผนภาพอี-อาร์ใช้แสดงลักษณะโครงสร้างของฐานข้อมูล จะถูก แปลงไปเป็นกลุ่มของรีเลชัน (ตาราง) แล้วจึงทาการนอร์มอลไลท์ แล้วทาให้เป็น รูปแบบนอร์มอลระดับที่ 3 หรือรูปแบบนอร์มอลบอยส์-คอด แต่ในบางครั้ง อาจจะให้บางรีเลชันอยู่ในรูปแบบนอร์มอลระดับที่ 2 คือจะไม่ทาการแยกรี เลชันออกเพื่อให้รูปแบบนอร์มอลระดับที่ 3 ต่อไปอีก เพื่อประสิทธิภาพของ ฐานข้อมูลดีขึ้นเนื่องจากการลดเวลาที่ใช้ในการค้นหาและเชื่อมโยงข้อมูล 42
  • 43. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงเอนทิตี้ การแปลงเอนทิตี้ทาได้โดยแปลงเอนทิตี้แต่ละชนิดใน แผนภาพอี-อาร์ให้มาเป็นรีเลชัน โดยให้แต่ละรีเลชันมีคอลัมน์ซึ่งมา จากแอททริบิวท์ของเอนทิตี้ โดยให้แอททริบิวส์ที่เป็นคีย์หลักของ แต่ละเอนทิตี้แต่ละชนิดนั้นมาเป็นคีย์หลักของรีเลชัน โดยจะต้อง ตรวจสอบว่าคีย์หลักต้องตรวจสอบว่าคีย์หลักนี้มีคุณสมบัติถูกต้อง คือ • ค่าคีย์หลักในแต่ละแถวของรีเลชันจะต้องแตกต่างกันเนื่องจากคีย์หลักนี้จะใช้เพื่อ แยกความแตกต่างของแต่ละแถวในรีเลชัน • แอททริบิวท์ใดๆ ในคีย์หลักไม่สามารถถูกลบออกทิ้งได้นั่นคือคีย์หลักนี้ ไม่มีความ ซ้าซ้อนและจะนานอลคีย์แอททริบิวท์ของเอนทิตี้แต่ละชนิดในแผนภาพอี-อาร์ไป เป็นนอลคีย์แอททริบิวท์ของรีเลชัน 43
  • 44. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • จากแผนภาพอี-อาร์ แล้วสร้างเป็นฐานข้อมูลเชิงสัมพันธ์ (การแปลงเอนทิตี้ และการแปลงความสัมพันธ์) การเปลี่ยนจาก แผนภาพอี-อาร์มาเป็นรีเลชัน ประกอบด้วย 2 ขั้นตอนคือ • การแปลงเอนทิตี้ • การแปลงความสัมพันธ์ 44
  • 45. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงเอนทิตี้ การแปลงเอนทิตี้ทาโดยแปลงเอนทิตี้แต่ละชนิดในแผนภาพอี- อาร์ให้มาเป็นรีเลชัน โดยให้แต่ละรีเลชันมีคอลัมน์ซึ่งมาจากแอ ททริบิวส์ของเอนทิตี้ โดยให้แต่ละแอททริบิวส์ที่เป็นคีย์ของ เอนทิตี้แต่ละชนิดนั้นมาเป็นคีย์หลักของรีเลชัน โดยจะต้อง ตรวจสอบว่าคีย์หลักมีคุณสมบัติถูกต้อง คือ • ค่าของคีย์หลักในแต่ละแถวของรีเลชันจะต้องแตกกัน เนื่องจากคีย์ หลักนี้จะใช้เพื่อแยกความแตกต่างของแต่ละแถวในรีเลชัน • แอททริบิวส์ใดๆ ในคีย์หลักไม่สามารถถูกลบออกทิ้งได้นั่นคือคีย์ หลักจะต้องไม่มีความซ้าซ้อนและจะนานอลคีย์แอททริบิวส์ของ เอนทิตี้แต่ละชนิดในแผนภาพอี-อาร์ ไปเป็นนอลคีย์แอททริบิวท์ของ รีเลชัน 45
  • 46. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงความสัมพันธ์ (การแปลง Relationship) ในการแปลงความสัมพันธ์ต้องพิจารณาดีกรีของความสัมพันธ์ ระหว่างเอนทิตี้ว่าเป็นยูนารี ไบนารี หรือเทอร์นารี และจะต้อง พิจารณาคาร์ดินอลลิตี้ ของความสัมพันธ์ ดังนี้ – ความสัมพันธ์แบบไบนารีหนึ่งต่อหนึ่ง(Binary 1:1 Relationship) – ความสัมพันธ์แบบไบนารีหนึ่งต่อกลุ่ม(Binary 1:N Relationship) – ความสัมพันธ์แบบไบนารีกลุ่มต่อกลุ่ม(Binary N:N Relationship) – ความสัมพันธ์แบบรีเคอซีพ (Recursive Relationship) – ความสัมพันธ์ระหว่างเอนทิตี้หลักและเอนทิตี้ย่อย(ISA Relationship) 46
  • 47. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) – การแปลงเอนทิตี้แบบอ่อน (Weak Entity) – การรวมรีเลชัน (Merging Relation) 47
  • 48. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงความสัมพันธ์แบบหนึ่งต่อหนึ่ง (Binary 1:1 Relationship) ตัวอย่าง 1 พิจารณาความสัมพันธ์แบบหนึ่งต่อหนึ่งระหว่างเอนทิตี้ “คนไข้” และเอนทิตี้ “ห้องพัก” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.2 48 หมายเลขห้อง-หมายเลขเตียง ประเภทห้อง รหัสคนไข้ ชื่อ-นามสกุล วันกาหนดออกจากโรงพยาบาล ห้องพัก คนไข้ พัก รูปที่ 4.2 แผนภาพอี-อาร์แสดงความสัมพันธ์ระหว่างเอนทิตี้ “คนไข้” กับเอนทิตี้ “ห้องพัก”
  • 49. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) จากแผนภาพอี-อาร์แสดงความสัมพันธ์แบบหนึ่งต่อหนึ่ง ระหว่างเอนทิตี้ “คนไข้” กับเอนทิตี้ “ห้องพัก” จะถูกแปลงให้เป็น รีเลชันไดโดยกาหนดให้ “หมายเลขห้อง-หมายเลขเตียง” เป็นคีย์ นอกของรีเลชัน “คนไข้” เนื่องจาก “หมายเลขห้อง-หมายเลขเตียง” เป็นคีย์หลักของรีเลชัน “ห้องพัก” – คนไข้(รหัสคนไข้, ชื่อ-สกุล, หมายเลขห้อง-หมายเลขเตียง, วันกาหนดออก จากโรงพยาบาล) – ห้องพัก(หมายเลขห้อง-หมายเลขเตียง, ประเภทห้อง) 49
  • 50. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงความสัมพันธ์แบบหนึ่งต่อกลุ่ม (Binary 1:N Relationship) ตัวอย่าง 2 พิจารณาความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างเอนทิตี้ “อาจารย์” และเอนทิตี้ “นักศึกษา” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.3 50 รูปที่ 4.3 แผนภาพอี-อาร์แสดงความสัมพันธ์ระหว่างเอนทิตี้ “อาจารย์” กับเอนทิตี้ “นักศึกษา” ชื่อ-นามสกุล รหัสอาจารย์ ชื่อ-สกุล รหัสนักศึกษา คณะ อาจารย์ นักศึกษา ที่ปรึกษา หมายเลขห้องพัก
  • 51. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) จากแผนภาพอี-อาร์ แสดงความสัมพันธ์ระหว่างเอนทิตี้ อาจารย์และเอนทิตี้นักศึกษา จะถูกแปลงไปเป็นรีเลชันได้โดย กาหนดให้ “รหัสอาจารย์” ซึ่งเป็นคีย์หลักของเอนทิตี้ทางด้าน ความสัมพันธ์เป็นหนึ่งให้เป็นคีย์นอกของรีเลชัน “นักศึกษา” ทางด้านความสัมพันธ์เป็นกลุ่ม – อาจารย์(รหัสอาจารย์, ชื่อ-นามสกุล, หมายเลขห้องพัก) – นักศึกษา(รหัสนักศึกษา, ชื่อ-สกุล, รหัสอาจารย์) 51
  • 52. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Binary M:N Relationship) ตัวอย่าง 3 พิจารณาความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างเอนทิตี้ “คนไข้” และเอนทิตี้ “แพทย์” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.4 52 รูปที่ 4.4 แผนภาพอี-อาร์แสดงความสัมพันธ์ระหว่างเอนทิตี้ “แพทย์” กับเอนทิตี้ “คนไข้” ชื่อ-นามสกุล รหัสแพทย์ ชื่อ-สกุล รหัสคนไข้ หัองพัก แพทย์ คนไข้ รักษา ลักษณะการรักษา หมายเลขโทรศัพท์
  • 53. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) จากแผนภาพอี-อาร์ แสดงความสัมพันธ์ระหว่างเอนทิตี้ “แพทย์” กับเอนทิตี้ “คนไข้” จะถูกแปลงเป็นรีเลชันได้โดยสร้างเป็น รีเลชัน “การรักษา” เพิ่มอีก 1 รีเลชัน โดยให้รีเลชัน “การรักษา” มีคีย์ หลักเป็นคีย์รวมที่สร้างขึ้นจากคีย์หลักของรีเลชัน “คนไข้” และรีเล ชัน “แพทย์” และนาแอททริบิวท์ “ลักษณะการรักษา” ของ ความสัมพันธ์ “รักษา” มาเป็นแอททริบิวท์ของรีเลชัน “การรักษา” ด้วยจึงเกิด 3 รีเลชัน ดังนี้ – คนไข้(รหัสคนไข้, ชื่อ-นามสกุล, ห้องพัก) – แพทย์(รหัสแพทย์, ชื่อ-นามสกุล, หมายเลขโทรศัพท์) – การรักษา(รหัสคนไข้, รหัสแพทย์, ลักษณะการรักษา) 53
  • 54. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงความสัมพันธ์แบบรีเคอร์ซีพ (Recursive Relationship) ตัวอย่าง 4 พิจารณาความสัมพันธ์แบบรีเคอร์ซีพระหว่างเอนทิตี้ “พนักงาน” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.5 54 รูปที่ 4.5 แผนภาพอี-อาร์แสดงความสัมพันธ์แบบรีเคอร์ซีพระหว่างเอนทิตี้พนักงาน รหัสพนักงาน ชื่อ-สกุล พนักงาน หัวหน้า แผนก
  • 55. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) จากแผนภาพอี-อาร์ แสดงความสัมพันธ์แบบรีเคอร์ซี พระหว่างเอนทิตี้พนักงานเป็นรีเลชันได้โดยนา “รหัส พนักงาน” ซึ่งเป็นคีย์หลักของรีเลชัน “พนักงาน” มาเป็นคีย์ นอกของรีเลชันด้วยโดยให้ทาการเปลี่ยนชื่อแอททริบิวท์คีย์ นอกนั้นใหม่เป็น “รหัสผู้จัดการ” ดังนี้ – พนักงาน(รหัสพนักงาน, ชื่อ-นามสกุล, แผนก, รหัสผู้จัดการ) 55
  • 56. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงความสัมพันธ์ระหว่างเอนทิตี้หลักและเอนทิตี้ย่อย (ISA Relationship) 56 รูปที่ 4.6 ความสัมพันธ์ ISA ระหว่างเอนทิตี้อาจารย์เอนทิตี้อาจารย์ประจา และเอนทิตี้ อาจารย์พิเศษ รหัสอาจารย์ ชื่อ-สกุล อาจารย์ประจา ที่อยู่ รหัสอาจารย์ รหัสอาจารย์ คณะ เงินเดือน ค่าจ้างรายชั่วโมง ภาคการศึกษา อาจารย์พิเศษ อาจารย์ ISA ISA
  • 57. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) ตัวอย่างที่ 5 พิจารณาความสัมพันธ์ ISA ระหว่างเอนทิตี้ “อาจารย์” และเอนทิตี้ “อาจารย์ประจา” และเอนทิตี้ “อาจารย์พิเศษ” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.6 จากแผนภาพอี-อาร์ แสดงความสัมพันธ์ระหว่างเอนทิตี้ “อาจารย์” เอนทิตี้ “อาจารย์ประจา” และเอนทิตี้ “อาจารย์พิเศษ” จะ ถูกแปลงเป็นรีเลชันโดยสร้างรีเลชัน “อาจารย์” “อาจารย์ประจา” และ “อาจารย์พิเศษ” ดังนี้ – อาจารย์(รหัสอาจารย์, ชื่อ-นามสกุล, ที่อยู่) – อาจารย์ประจา(รหัสอาจารย์, เงินเดือน, คณะ) – อาจารย์พิเศษ(รหัสอาจารย์, ค่าจ้างรายชั่วโมง, ภาคการศึกษา) 57
  • 58. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การแปลงเอนทิตี้แบบอ่อน (Weak Entity) การแปลงเอนทิตี้แบบอ่อน ซึ่งเป็นเอนทิตี้ที่จะปรากฎในฐานข้อมูลได้ ต่อเมื่อมีเอนทิตี้หนึ่งอยู่ในฐานข้อมูลด้วยเท่านั้น ให้เป็นรีเลชันทาโดยการสร้างรี เลชันของทั้งเอนทิตี้แบบอ่อน และเอนทิตี้ที่เอนทิตี้แบบอ่อนนั้นมีการขึ้นต่อกัน เชิงระบุ โดยให้รีเลชันของเอนทิตี้แบบอ่อนประกอบด้วยแอททริบิวท์ทั้งหมดของ เอนทิตี้นั้น และจะต้องนาแอททริบิวท์ที่เป็นคีย์ของเอนทิตี้ที่เอนทิตี้แบบอ่อนนั้น มีการขึ้นต่อกันเชิงระบุมาอยู่ในรีเลชันของเอนทิตี้แบบอ่อนและให้เป็นส่วน หนึ่งของคีย์หลักของรีเลชัน ตัวอย่างที่ 6 พิจารณาความสัมพันธ์ระหว่างเอนทิตี้ “พนักงาน” กับ เอนทิตี้แบบอ่อนคือเอนทิตี้ “ผู้เกี่ยวข้อง” ซึ่งมีแอททริบิวท์ดังรูปที่ 4.7 58
  • 59. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) จากแผนภาพอี-อาร์แสดงความสัมพันธ์ระหว่างเอนทิตี้ “พนักงาน” กับเอนทิตี้ “ผู้เกี่ยวข้อง” จะเปลี่ยนไปเป็นรีเลชัน 2 รีเลชัน ดังนี้ – พนักงาน(รหัสพนักงาน, ชื่อ-นามสกุล, แผนก) – ผู้เกี่ยวข้อง(รหัสพนักงาน, ชื่อ-สกุลผู้เกี่ยวข้อง, วัน-เดือน-ปีเกิด) 59 รูปที่ 4.7 ความสัมพันธ์ระหว่างเอนทิตี้แบบอ่อนและเอนทิตี้แบบRegular พนักงาน รหัสพนักงาน รหัสพนักงานแผนก ชื่อ-นามสกุล ชื่อ-สกุลผู้เกี่ยวข้อง วันเดือนปีเกิด เกี่ยวข้อง อาจารย์พิเศษผู้เกี่ยวข้อง
  • 60. การออกแบบฐานข้อมูลในระดับตรรก (Logical Database Design) • การรวมรีเลชัน (Merging Relations) รีเลชันที่ผ่านการนอร์มอลไลแล้วอาจจะถูกสร้างจากแผนภาพ อี-อาร์หลายๆ แผนภาพ ทาให้บางรีเลชันที่ได้ เป็นรีเลชันของเอน ทิตี้ชนิดเดียวกัน ดังนั้นเราควรจะทาการรวมรีเลชันเหล่านั้นเพื่อจะ ลดความซ้าซ้อนของข้อมูลลง ซึ่งกรรมวิธีอาจจะเรียกว่าการทา View Integration ซึ่งจะเป็นขั้นตอนสุดท้ายของการออกแบบฐานข้อมูล – พนักงาน1(รหัสพนักงาน, ชื่อ, ที่อยู่, โทรศัพท์) – พนักงาน2(เลขประจาตัวพนักงาน, ชื่อ, ที่อยู่, แผนก, ตาแหน่ง) รวมกันได้เป็น – พนักงาน(รหัสพนักงาน, ชื่อ, ที่อยู่, โทรศัพท์, แผนก, ตาแหน่ง) 60
  • 61. การออกแบบฐานข้อมูลในระดับกายภาภ (Physical Database Design) • การออกแบบฐานข้อมูลในระดับกายภาพ (Physical Database Design) การออกแบบฐานข้อมูลในระดับกายภาพ เป็นกระบวนการ ในการแปลงจากโครงสร้างฐานข้อมูลในระดับตรรกะ (Logical Database Design) ไปเป็นโครงสร้างฐานข้อมูลในระดับกายภาพ (Physical Database Design) โดยพิจารณาการจัดเก็บข้อมูลจริง เช่นดิสก์หรือเทป จุดประสงค์หลักของการออกแบบ ฐานข้อมูลคือประสิทธิภาพของระบบ ซึ่งสามารถพิจารณาได้จาก ความเร็วในการทางานของระบบ ความสะดวกในการใช้งาน และ การประหยัดเนื้อที่ในการจัดเก็บข้อมูล ปัจจัยต่างๆ ที่จะต้อง คานึงถึงในการออกแบบฐานข้อมูลในระดับกายภาพ ได้แก่ 61
  • 62. การออกแบบฐานข้อมูลในระดับกายภาภ (Physical Database Design) – อุปกรณ์ที่ใช้เพื่อเก็บข้อมูล วิธีการเข้าถึงข้อมูล วิธีการ บารุงรักษาและเพิ่มประสิทธิ – จานวนของเอนทิตี้แต่ละชนิดในฐานข้อมูล เช่นประมาณว่าใน ฐานข้อมูลจะเก็บข้อมูลที่เกี่ยวกับพนักงานกี่คน – จานวนผลลัพธ์ (Output) ที่ต้องการจากฐานข้อมูล เช่นจานวน รายงาน ขนาดของแต่ละรายงานและความถี่ในการใช้รายงาน – กฎเกณฑ์ในการควบคุมความถูกต้องและความปลอดภัยของ ข้อมูล 62