งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การออกแบบฐานข้อมูล ด้วย E-R Model. การออกแบบฐานข้อมูล ในการออกแบบฐานข้อมูลต้องทำการสร้าง Conceptual Model หรือ Logical Design Conceptual model เป็นการจำลองการเก็บข้อมูลให้

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การออกแบบฐานข้อมูล ด้วย E-R Model. การออกแบบฐานข้อมูล ในการออกแบบฐานข้อมูลต้องทำการสร้าง Conceptual Model หรือ Logical Design Conceptual model เป็นการจำลองการเก็บข้อมูลให้"— ใบสำเนางานนำเสนอ:

1 การออกแบบฐานข้อมูล ด้วย E-R Model

2 การออกแบบฐานข้อมูล ในการออกแบบฐานข้อมูลต้องทำการสร้าง Conceptual Model หรือ Logical Design Conceptual model เป็นการจำลองการเก็บข้อมูลให้ อยู่ในรูปธรรม จากการวิเคราะห์ความต้องการของผู้ใช้ ระบบ ซึ่งโครงสร้างที่เกิดขึ้นจะไม่ขึ้นอยู่กับการเก็บ ข้อมูลจริงในคอมพิวเตอร์ Conceptual model จะใช้ในการสื่อสารระหว่างทีมงาน ที่ทำการพัฒนาระบบ เพื่อให้เข้าใจแนวคิดที่ตรงกัน รวมไปจนถึงใช้ในการสื่อสารกับผู้ใช้ ในบางกรณี

3 การออกแบบฐานข้อมูล การทำ Conceptual Model มี 2 วิธี –Top down > E-R Modeling –Bottom up > Normalization

4 Entity-Relationship Modeling เรียกสั้น ๆ ว่า E-R Modeling แนวความคิดในการทำมีดังนี้ การกำหนด Entity และ Attributes –Entity คือทุกอย่างที่เกี่ยวข้องกับข้อมูลที่สนใจ จัดเก็บ –สามารถกำหนดเหมือนเป็นกลุ่มของข้อมูลที่มี ความสัมพันธ์กันโดย Key ที่ไม่ซ้ำกัน –Entity จะประกอบไปด้วย Entity type และ Entity Occurrence ยกตัวอย่างเช่น

5 Entity-Relationship Modeling Entity typeEntity Occurrence Lecturerอ.อังสนา, อ.ปราณี (หมายถึงคนหนึ่งคน) RoomHB5303, HB5350 (หมายถึงห้องหนึ่งห้อง)

6 Entity-Relationship Modeling การกำหนด Attribute –Attribute คือคุณสมบัติ หรือลักษณะของ Entity ที่ ต้องการจัดเก็บ –Attribute จะประกอบไปด้วย Attribute type และ Attribute occurrence ยกตัวอย่างเช่น

7 Entity-Relationship Modeling Entity typeAttribute typeAttribute occurrence LecturerLecturer Code Lecturer Name Employed date Academic Position 001 Pranee Wongjamras 01/01/1995 Assoc. Prof. RoomRoom Name Size HB

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 Entity-Relationship Modeling สร้าง Relationships –Relationships คือความสัมพันธ์ระหว่าง Entity ที่ทำให้ Model สามารถบ่งบอกถึงภาพรวมของข้อมูลที่จัดเก็บได้ –ยกตัวอย่างเช่น

11 Entity-Relationship Modeling EntityRelationshipEntity LecturerTeach inRoom LecturerTeachCourse StudentLearn inCourse AuthorComposeBook

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

15 One-to-one relationship Relation LibraryDirector(DirectoryId, DirectorName, Academic, Position, Faculty) UniversityLibrary(LibraryId, LibraryName, UniversityName) Library Director University Library Manage 1..1

16 Entity-Relationship Modeling –One-to-many relationship Entity ที่หนึ่งมีความสัมพันธ์กับ Entity ที่สองได้มากกว่า 1 ค่า ยกตัวอย่างเช่น หนังสือหนึ่งชื่อเรื่อง มีได้หลายเล่ม (สำเนา) (Copy) สามารถเขียนได้ดังภาพ

17 One-to-many relationship BookCopy has * BookCopy has n หนังสือ 1 ชื่อเรื่องมีสำเนาได้ 1 สำเนาถึง หลายๆ สำเนา สำเนา 1 เล่ม เป็นของหนังสือ 1 ชื่อเรื่องเท่านั้น

18 One-to-many relationship หนังสือ 1 ชื่อมีสำเนาได้ตั้งแต่ 1 เล่มถึง หลายเล่ม สำเนา 1 เล่ม เป็นของหนังสือ 1 ชื่อเท่านั้น BookCopy has *

19 One-to-many relationship Relation Book(ISBN, Title, Author, Imprint) Copy(RegisterNo, Date-acquried, Date-destroyed) BookCopy has *

20 One-to-many relationship คณะ 1 คณะมีนักศึกษาได้หลายคน นักศึกษา 1 คนอยู่ได้ 1 คณะ STUDENTFACULTY has 1..n1..1

21 One-to-many relationship วารสาร 1 เล่ม มีบทความได้หลายบทความ 1 บทความจะอยู่ในวารสารได้น้อยที่สุด 1 ชื่อ JournalArticle contain n

22 One-to-many relationship Subject(SubjectCode, SubjectName, Credit) Course(CourseId, SubjectCode, Semester, Section, TeacherCode) SubjectCourse has n

23 One-to-many relationship Course(CourseId, SubjectCode, Semester, Section, TeacherCode) Teacher(TeacherCode, TeacherName, RoomNo) CourseTeacher teach 1..n1..1

24 Entity-Relationship Modeling –Many-to-many relationship Entity ที่หนึ่งจะมีความสัมพันธ์กับ Entity ที่สองได้ มากกว่าหนึ่งค่า และในทางกลับกัน Entity ที่สองก็ สามารถมีความสัมพันธ์กับ Entity ที่หนึ่งได้มากกว่าหนึ่งค่า เช่นกัน ยกตัวอย่างเช่น นักศึกษาหนึ่งคนสามารถลงทะเบียนวิชาได้หลายกระบวน วิชา และทุกกระบวนวิชาก็สามารถถูกลงทะเบียนโดย นักศึกษาจำนวนมากกว่าหนึ่งคน

25 Many-to-many relationship StudentCourse take 1..n

26 Entity-Relationship Modeling –Recursive (หรือ involute) relationship Entity หนึ่งมีความสัมพันธ์กับตัวมันเอง ยกตัวอย่างเช่น ผู้อำนวยการห้องสมุดมหาวิทยาลัยคือบุคลากรคนหนึ่งใน มหาวิทยาลัย ยกตัวอย่างเช่น ตาราง Personal มีความสัมพันธ์กับตาราง Personal โดย เป็นความสัมพันธ์ของบุคลากรคนหนึ่งที่เป็นผู้อำนวยการ กับบุคลากรคนอื่น ๆ ที่เป็นเจ้าหน้าที่หรืออาจารย์ของ ห้องสมุดมหาวิทยาลัยซึ่งอาจมีจำนวนมากที่สุด 50 คน จะ เขียนได้ว่า 1..50

27 Recursive relationship

28

29 Entity-Relationship Modeling Decomposition การเก็บข้อมูล many-to-many ใน Relational DBMS จะทำให้การข้อมูลเก็บและค้นหาข้อมูลได้ ยาก จึงต้องมีการทำ Decomposition โดย –แตกความสัมพันธ์แบบ many-to-many ออกเป็นสอง ความสัมพันธ์ –ดึงเอา primary key ของทั้งสอง entity มาเป็น ส่วนหนึ่ง ของ PK ของ entity ใหม่

30 Decomposition Student(StudentCode, StudentName) Course(CourseId, SubjectCode, Semester, Section) Grade (SubjectCode, Courseld, Grade) StudentGrade has n Course provide 1..n 1..1

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 Example Candidate Key = Primary Key = Foreign Key =

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 teach Faculty 1..n 1..1 hire Section 1..n has 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 การบ้านให้ทำ E-R Diagram ฐานข้อมูลทุนการศึกษาของนักศึกษาวิทยาลัย อาชีวศึกษามหาสารคาม มีทุนการศึกษาหลายทุน มีทั้งจากในและ ต่างประเทศ ทุนการศึกษามี 2 ประเภท –ให้ครั้งเดียว –ให้ต่อเนื่องทุกปี นักศึกษาได้รับทุนมาจากหลายคณะ


ดาวน์โหลด ppt การออกแบบฐานข้อมูล ด้วย E-R Model. การออกแบบฐานข้อมูล ในการออกแบบฐานข้อมูลต้องทำการสร้าง Conceptual Model หรือ Logical Design Conceptual model เป็นการจำลองการเก็บข้อมูลให้

งานนำเสนอที่คล้ายกัน


Ads by Google