Recommended
PDF
SlideShare เรื่อง การออกแบบฐานข้อมูล
PDF
PDF
PDF
PPT
PPT
PPT
PPT
เทคนิคการขอตำแหน่งทางวิชาการ
PPT
PPTX
PDF
การจัดการฐานข้อมูลเชิงสัมพันธ์2
PDF
การจัดการฐานข้อมูลเชิงสัมพันธ์2
PDF
PDF
PDF
PDF
PDF
PDF
06.1 logical database design[transform erd into relations]
PDF
05 entity relationship model
PDF
PPT
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
PPTX
PDF
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
PDF
PPT
Entity relationship model
PDF
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
PDF
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
PPTX
More Related Content
PDF
SlideShare เรื่อง การออกแบบฐานข้อมูล
PDF
PDF
PDF
PPT
PPT
PPT
PPT
เทคนิคการขอตำแหน่งทางวิชาการ
Similar to Chapter 1 2
PPT
PPTX
PDF
การจัดการฐานข้อมูลเชิงสัมพันธ์2
PDF
การจัดการฐานข้อมูลเชิงสัมพันธ์2
PDF
PDF
PDF
PDF
PDF
PDF
06.1 logical database design[transform erd into relations]
PDF
05 entity relationship model
PDF
PPT
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
PPTX
PDF
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
PDF
PPT
Entity relationship model
PDF
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
PDF
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
PPTX
Chapter 1 2 1. 2. การออกแบบฐานข้อมูล
• ในการออกแบบฐานข้อมูลต้องทำาการสร้าง
Conceptual Model หรือ Logical Design
• Conceptual model เป็นการจำาลองการเก็บข้อมูลให้
อยู่ในรูปธรรม จากการวิเคราะห์ความต้องการของผู้ใช้
ระบบ ซึ่งโครงสร้างที่เกิดขึ้นจะไม่ขึ้นอยู่กับการเก็บ
ข้อมูลจริงในคอมพิวเตอร์
• Conceptual model จะใช้ในการสื่อสารระหว่างทีม
งานที่ทำาการพัฒนาระบบ เพื่อให้เข้าใจแนวคิดที่ตรง
กัน รวมไปจนถึงใช้ในการสื่อสารกับผู้ใช้ ในบางกรณี
3. 4. Entity-Relationship Modeling
เรียกสั้น ๆ ว่า E-R Modeling
แนวความคิดในการทำามีดังนี้
• การกำาหนด Entity และ Attributes
– Entity คือทุกอย่างที่เกี่ยวข้องกับข้อมูลที่สนใจจัด
เก็บ
– สามารถกำาหนดเหมือนเป็นกลุ่มของข้อมูลที่มีความ
สัมพันธ์กันโดย Key ที่ไม่ซำ้ากัน
– Entity จะประกอบไปด้วย Entity type และ Entity
Occurrence ยกตัวอย่างเช่น
5. 6. 7. Entity-Relationship Modeling
Entity type Attribute type Attribute
occurrence
Lecturer Lecturer Code
Lecturer Name
Employed date
Academic
Position
001
Pranee
Wongjamras
01/01/1995
Assoc. Prof.
Room Room Name
Size
HB5330
30
8. Key attribute
• Candidate Key คือ Attribute ที่สามารถใช้ในการแยก
รายการแต่ละรายการใน Entity ออกจากกัน ในหนึ่ง Entity
อาจมี Candidate Key ได้มากกว่าหนึ่ง
(Unique และ Not Null)
• Primary Key (PK) คือ Candidate Key ที่ถูกเลือกออกมา
หนึ่งตัว PK อาจประกอบไปด้วย Attribute มากกว่าหนึ่งตัว
ก็ได้ เรียกว่าเป็น Compound Key หรือ คีย์ประกอบ
• Compound Key คือ Primary Key ที่มีมากกว่าหนึ่ง
Attribute
9. Key attribute
Lecturer (LecturerCode, LecturerName, EmployedDate,
AcademicPosition)
Candidate Key = LecturerCode, LecturerName
Primary Key = LecturerCode
มักเลือกตัวที่เป็นตัวเลข หรือขนาดสั้นกว่า
Lecturer (LecturerCode, LecturerName, EmployedDate,
AcademicPosition)
10. 11. 12. Entity-Relationship Modeling
• สร้าง Entity-Relationship Diagram
– หรือที่เรียกว่า E-R Diagram คือรูปภาพที่ใช้แสดงองค์
ประกอบของข้อมูลที่สนใจจะจัดเก็บ โดยอยู่ในรูปของ
Entity และ Relationships
13. Entity-Relationship Modeling
• Cardinality ของ Relationship
Cardinality หมายถึงจำานวนสมาชิกของความ
สัมพันธ์ที่เกิดขึ้น Cardinality มีทั้งหมด 4 ชนิดคือ
– One-to-one relationship
Entity ที่หนึ่งสามารถมีความสัมพันธ์กับ Entity ที่ 2 ได้
เพียง 1 ค่าเท่านั้น ยกตัวอย่างเช่น ห้องสมุดมหาวิทยาลัย
หนึ่งแห่ง จะมีผู้อำานวยการได้เพียงหนึ่งคนเท่านั้นใน
14. Entity-Relationship Modeling
• ยกตัวอย่างเช่น ห้องสมุดมหาวิทยาลัยหนึ่งแห่ง จะมีผู้อำานวย
การได้เพียงหนึ่งคนเท่านั้นใน
• ผอ 1 คน สามารถ manage ห้องสมุดได้ น้อยที่สุด 1 คน และ
มากที่สุด 1 คน
ห้องสมุดหนึ่งแห่ง ถูก manage จาก ผอ ได้ 1 คนเท่านั้น
Library
Director
University
Library
Manage
1..1 1..1
15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Entity-Relationship Modeling
– Many-to-many relationship
Entity ที่หนึ่งจะมีความสัมพันธ์กับ Entity ที่สองได้มากกว่า
หนึ่งค่า และในทางกลับกัน Entity ที่สองก็สามารถมีความ
สัมพันธ์กับ Entity ที่หนึ่งได้มากกว่าหนึ่งค่าเช่นกัน
ยกตัวอย่างเช่น
นักศึกษาหนึ่งคนสามารถลงทะเบียนวิชาได้หลายกระบวน
วิชา และทุกกระบวนวิชาก็สามารถถูกลงทะเบียนโดย
นักศึกษาจำานวนมากกว่าหนึ่งคน
25. 26. Entity-Relationship Modeling
– Recursive (หรือ involute) relationship
Entity หนึ่งมีความสัมพันธ์กับตัวมันเอง ยกตัวอย่างเช่น ผู้
อำานวยการห้องสมุดมหาวิทยาลัยคือบุคลากรคนหนึ่งใน
มหาวิทยาลัย
ยกตัวอย่างเช่น
ตาราง Personal มีความสัมพันธ์กับตาราง Personal โดย
เป็นความสัมพันธ์ของบุคลากรคนหนึ่งที่เป็นผู้อำานวยการ
กับบุคลากรคนอื่น ๆ ที่เป็นเจ้าหน้าที่หรืออาจารย์ของห้อง
สมุดมหาวิทยาลัยซึ่งอาจมีจำานวนมากที่สุด 50 คน จะเขียน
ได้ว่า 1..50
27. 28. 29. Entity-Relationship Modeling
• Decomposition
การเก็บข้อมูล many-to-many ใน Relational
DBMS จะทำาให้การข้อมูลเก็บและค้นหาข้อมูลได้
ยาก จึงต้องมีการทำา Decomposition โดย
– แตกความสัมพันธ์แบบ many-to-many ออกเป็นสองความ
สัมพันธ์
– ดึงเอา primary key ของทั้งสอง entity มาเป็น ส่วนหนึ่ง
ของ PK ของ entity ใหม่
30. 31. ขั้นตอนการ composition
1. ให้สร้าง entity ใหม่ ไว้ตรงกลาง
2. ให้เขียนหัวลูกศรชี้เข้าหา entity ใหม่ทั้งสอง
ฝั่ง
3. เขียน cardinality ตามหัวลูกศร
4. นำาเอา PK ของ entity เก่าทั้งสองอัน ไปเป็น
attribute ของ entity ใหม่
5. กำาหนด PK ของ entity ใหม่
32. Entity-Relationship Modeling
• Key attribute
– Candidate Key คือ Attribute ที่สามารถใช้ในการแยก
รายการแต่ละรายการใน Entity ออกจากกัน ในหนึ่ง
Entity อาจมี Candidate Key ได้มากกว่าหนึ่ง (Unique
และ Not Null)
– Primary Key (PK) คือ Candidate Key ที่ถูกเลือกออกมา
หนึ่งตัว PK อาจประกอบไปด้วย Attribute มากกว่าหนึ่งตัว
ก็ได้ เรียกว่าเป็น Compound Key หรือ คีย์ประกอบ
– Foreign Key (FK) คือ Attribute ที่เป็นสำาเนาของ PK ที่
ปรากฏใน Entity อื่น และทำาหน้าที่ในการเชื่อมโยง Entity
เข้าไว้ด้วยกัน และค่าของ FK สามารถเป็นค่าที่ซำ้ากันได้
33. 34. ขั้นตอนการสร้าง E-R Diagram
• กำาหนด Entity ทั้งหมด
• กำาหนด Relationship ระหว่าง Entity เหล่านั้น
• กำาหนด Key Attribute ทั้งหมด คือทั้ง PK และ FK
(PK เลือกออกมาจาก Candidate Key และ
PK อาจอยู่ในรูปของ Compound Key ก็ได้)
• กำาหนด โครงสร้างเริ่มต้นของ E-R Diagram
• เติม Attribute ของแต่ละ Entity
• ตรวจสอบกับผู้ใช้ แล้วนำามาปรับปรุง E-R Diagram
35. โจทย์การทำา E-R Diagram
• ออกแบบฐานข้อมูลการสอนวิชาแต่ละเทอม
ของอาจารย์ 1 section มีคนสอนแค่ 1 คน
• ให้กำาหนด
– Entity
– Relationship
– Attribute
36. Teacher Subject
has
1..n
1..1
Course 1..n
1..1
teach
Faculty
1..n
1..1
hire
Relation
•Teacher(TeacherCode, TeacherName, RoomNo, FacCode)
•Subject (SubjectCode, SubjectName, Credit)
•Course (Courseld, TeacherCode, SubjectCode, Semester, Section)
•Faculty (FacCode, FacName)
37. โจทย์การทำา E-R Diagram
• ออกแบบฐานข้อมูลการสอนวิชาแต่ละเทอม
ของอาจารย์ 1 section มีคนสอนได้หลายคน
• ให้กำาหนด
– Entity
– Relationship
– Attribute
38. Teacher
Subject
has
1..1
Course
1..n
1..n
teach
Faculty
1..n
1..1
hire
Section
1..n
has
1..1
1..n
Relation
•Teacher(TeacherCode, TeacherName, RoomNo, FacCode)
•Subject (SubjectCode, SubjectName, Credit)
•Course (Courseld, TeacherCode, SubjectCode, Semester, Section)
•Faculty (FacCode, FacName)
•Section (SecNo, SecTime, TeacherCode, Courseld)
39. โจทย์การทำา E-R Diagram
• จาก Model เดิมให้เพิ่มการเก็บข้อมูลห้องสอน
ของแต่ละ Section ในแต่ละเทอม
• ให้เพิ่ม
– Entity
– Relationship
– Attribute
ที่จำาเป็น
40. โจทย์การทำา E-R Diagram
จาก Model เดิมให้เพิ่มการเก็บข้อมูล
• นักศึกษาที่ลงทะเบียนเรียนในแต่ละเทอม พร้อมเกรด
ที่ได้
• เพิ่มคณะที่สังกัดของอาจารย์และนักศึกษา
• เพิ่มจำานวนรับนักศึกษาที่มากที่สุดของแต่ละกระบวน
วิชาในแต่ละเทอม
• เพิ่มสถานการณ์ลงทะเบียนของนักศึกษาว่า
– Accepted
– Add
– Drop
41.