1 / 47

แบบจำลองความสัมพันธ์ระหว่างข้อมูล

แบบจำลองความสัมพันธ์ระหว่างข้อมูล. The Entity-Relationship Model. Semantic Model อี-อาร์โมเดล. แนวคิดเกี่ยวกับแบบจำลองความสัมพันธ์ระหว่างข้อมูล. Semantic Model เป็นแบบจำลองข้อมูลที่กล่าวถึงแนวคิดหรือความหมายของคำต่างๆ คือ

romney
Download Presentation

แบบจำลองความสัมพันธ์ระหว่างข้อมูล

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. แบบจำลองความสัมพันธ์ระหว่างข้อมูลแบบจำลองความสัมพันธ์ระหว่างข้อมูล The Entity-Relationship Model

  2. Semantic Model อี-อาร์โมเดล แนวคิดเกี่ยวกับแบบจำลองความสัมพันธ์ระหว่างข้อมูล

  3. Semantic Model เป็นแบบจำลองข้อมูลที่กล่าวถึงแนวคิดหรือความหมายของคำต่างๆ คือ Entity หมายถึง สิ่งที่สนใจสามารถระบุได้ในความเป็นจริง และต้องการเก็บข้อมูลที่เกี่ยวข้องกับสิ่งนั้นๆด้วย Property หมายถึง คุณสมบัติหรือคุณลักษณะของ Entity Property ที่เป็นเอกลักษณ์เฉพาะของแต่ละ Entity เรียกว่า Identity Relation หมายถึง Entity Typeที่แสดงความสัมพันธ์ระหว่าง 2 Entity Type ขึ้นไป Subtype หมายถึง Entity Type ที่มีข้อมูลเป็นส่วนหนึ่งของ Entity หลัก แนวคิดเกี่ยวกับแบบจำลองความสัมพันธ์ระหว่างข้อมูล

  4. ความหมายของคำต่าง ๆ

  5. อี-อาร์โมเดล (Entity-Relationship Model) เป็นแบบจำลองข้อมูลซึ่งแสดงถึงโครงสร้างของฐานข้อมูล สัญลักษณ์ต่างๆที่ใช้ในอี-อาร์โมเดลเรียกว่า อี-อาร์ไดอะแกรม Entity ใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้า Property ใช้สัญลักษณ์รูปวงรี Relation ใช้สัญลักษณ์รูปสี่เหลี่ยมข้าวหลามตัด และเชื่อมต่อ Entity อื่นด้วยเส้นตรง SubType และ SuperType แนวคิดเกี่ยวกับแบบจำลองความสัมพันธ์ระหว่างข้อมูล

  6. Entity Relationship Diagram เป็นแผนภาพสัญลักษณ์ ที่แสดงความสัมพันธ์ขององค์ประกอบต่างๆ เพื่อสร้างฐานข้อมูลเชิงสัมพันธ์ ได้แก่ เอนติตี้ แอตทริบิวต์ และความสัมพันธ์ระหว่างเอนติตี้ จุดเด่นของ ER ช่วยให้การออกแบบทำได้ง่ายขึ้น ด้วยการจัดระเบียบความคิดของคนที่ทำการออกแบบ ที่มีต่อองค์ประกอบต่างๆให้ชัดเจน ช่วยนำให้เกิดความคิดอย่างเป็นขั้นตอน ลดความซับซ้อนของระบบได้อย่างดี มองเห็นความสัมพันธ์ระหว่างข้อมูล มองเห็นแอตทริบิวต์ของข้อมูลได้ชัดเจน

  7. สัญลักษณ์ของ ER Model ER-Model ตามแบบของ Peter Pin Shan Chen

  8. สัญลักษณ์ของ ER model(ต่อ)

  9. สัญลักษณ์ของ ER model(ต่อ)

  10. สัญลักษณ์ของ ER model(ต่อ) E2 E1 R

  11. สัญลักษณ์ของ ER model(ต่อ) E2 E1 R

  12. ส่วนประกอบของ E-R diagram Entity ใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้า บุคคล เช่น Customer, department, division, employee สถานที่ เช่น building, room, branch, campus วัตถุ เช่น book, machine, product, raw material เหตุการณ์ เช่น invoice, order, registration, reservation แนวความคิด เช่น account, bond, course, stock

  13. ส่วนประกอบของ E-R diagram Entity สามารถแบ่งได้เป็น 2 ประเภท Strong Entity เป็นเอนติตี้ที่เกิดขึ้นได้ด้วยตัวเอง โดยไม่ขึ้นกับเอนติตี้ใดๆ ใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้าปกติ Weak Entity เป็นเอนติตี้อ่อนแอ คือ จะขึ้นอยู่กับเอนติตี้อื่นๆ ใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้าเส้นคู่ วิชาที่สอน

  14. ส่วนประกอบของ E-R diagram Attributes ใช้สัญลักษณ์รูปวงรี คุณสมบัติของ Entity เช่น attribute ของ entity นักศึกษา ประกอบด้วย รหัสประจำตัว ชื่อ-สกุล เพศ คณะ เป็นต้น

  15. ส่วนประกอบของ E-R diagram Attribute แบ่งได้เป็น 6 ประเภท คือ 1. Simple Attribute:มีองค์ประกอบเดียวที่เป็นอิสระ เช่น attribute sex และ salary บางที่เรียกว่า atomic attribute 2. Key Attribute : แอททริบิวต์หรือกลุ่มของแอททริบิวต์ที่มีค่าของข้อมูลในแต่ละสมาชิกไม่ซ้ำกัน เช่น รหัสประชาชน หรือ รหัสนักศึกษา ID_people , ID_student ซึ่งจะขีดเส้นใต้ที่ชื่อนั้น Attribute Domain : คือการกำหนดขอบเขตค่าข้อมูลและชนิดข้อมูลของแต่ละ attribute นั่นหมายถึงโดเมนจะกำหนดความเป็นไปได้ของข้อมูล

  16. ส่วนประกอบของ E-R diagram Attribute แบ่งได้เป็น 6 ประเภท คือ 3. Composite Attribute:มีองค์ประกอบอยู่หลายตัว โดยแต่ละตัวจะมีความเป็นอิสระต่อกัน เช่น attribute address ประกอบด้วย street, area, city และ zipcode

  17. ส่วนประกอบของ E-R diagram Attribute แบ่งได้เป็น 6 ประเภท คือ 4. Single-Value Attribute:บรรจุค่าเพียงค่าเดียว เช่น entity branch จะมี attribute Bnoเป็น Single-Value Attribute เช่น รหัสสาขา B3 หมายถึง Bno (Branch_no) จะนำไปอ้างอิงได้ค่าเพียงหนึ่งค่าเท่านั้น

  18. ส่วนประกอบของ E-R diagram Attribute แบ่งได้เป็น 6 ประเภท คือ 5. Multi-value Attribute:ประกอบด้วยค่าหลายๆค่า ผสมกัน เช่น บุคคลหนึ่งคนอาจมีวุฒิการศึกษาได้หลายระดับ หรือ บ้านหลังหนึ่งมีเบอร์โทรศัพท์หลายเบอร์ จะเชื่อมต่อ attribute ด้วยเส้นคู่

  19. ส่วนประกอบของ E-R diagram Attribute แบ่งได้เป็น 6 ประเภท คือ 6. Derived Attribute:ค่าของข้อมูลในแต่ละสมาชิกของ entity ได้มาจากการนำค่าของข้อมูลใน attribute อื่นที่มีอยู่ในแต่ละสมาชิกของ entity มาทำการคำนวณ เช่น attribute อายุปัจจุบันสามารถคำนวณได้จาก attribute วัน/เดือน/ปี/เกิด เป็นต้นจะเชื่อมต่อ attribute ด้วยเส้นประ

  20. ส่วนประกอบของ E-R diagram Relation (ความสัมพันธ์)ใช้สัญลักษณ์รูปสี่เหลี่ยมข้าวหลามตัด และเชื่อมต่อ Entity อื่นด้วยเส้นตรง แสดงความสัมพันธ์ระหว่าง 2 entity ขึ้นไป ซึ่งโดยทั่วไปเป็นความสัมพันธ์ระหว่าง entity ที่มี attribute ร่วมกัน โดยแต่ละความสัมพันธ์จะถูกระบุด้วยชื่อที่ถูกอธิบายถึงความสัมพันธ์นั้นๆ เช่น ความสัมพันธ์สังกัด แสดงความสัมพันธ์ระหว่าง entity นักศึกษา และ entity คณะ

  21. กฎเกณฑ์ข้อกำหนดในความสัมพันธ์กฎเกณฑ์ข้อกำหนดในความสัมพันธ์ Cardinality Constraints (ratio) ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (one-to-one relationship) : เป็นความสัมพันธ์ระหว่าง entity หนึ่งไปมีความสัมพันธ์กับอีก entity หนึ่งเพียงหนึ่งรายการเท่านั้น

  22. กฎเกณฑ์ข้อกำหนดในความสัมพันธ์กฎเกณฑ์ข้อกำหนดในความสัมพันธ์ Cardinality Constraints (ratio) ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (one-to-many relationship): เป็นความสัมพันธ์ระหว่าง entity หนึ่งไปมีความสัมพันธ์กับอีก entity หนึ่งมากกว่าหนึ่งรายการ

  23. กฎเกณฑ์ข้อกำหนดในความสัมพันธ์กฎเกณฑ์ข้อกำหนดในความสัมพันธ์ Cardinality Constraints (ratio) ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (many- to- many relationship): เป็นความสัมพันธ์แบบหลายรายการระหว่าง entity ทั้งสอง

  24. จำนวน entity ต่อ entity ในความสัมพันธ์(Cardinality of Relationships) One to One relationship (1 : 1) One to Many relationship (1 : M) Many to Many relationship (M : M)

  25. Mapping Cardinalities One to one One to many

  26. Mapping Cardinalities Many to one Many to many

  27. One to One Relationship ความสัมพันธ์ที่แต่ละแถวของข้อมูลในเอนติตี้แรก สามารถจับคู่กับข้อมูลในเอนติตี้ที่สองได้เพียงแถวเดียวเท่านั้น เช่น ระบบข้อมูลมหาวิทยาลัย แต่ละคณะจะมีอาจารย์ที่เป็นคณบดีได้คนเดียวเท่านั้น เป็นคณบดี 1 1 คณะ อาจารย์

  28. One to Many ความสัมพันธ์ที่แต่ละแถวของข้อมูลในเอนติตี้แรก สามารถจับคู่กับข้อมูลในเอนติตี้ที่สองได้มากกว่าหนึ่งแถว เช่น ระบบสั่งซื้อสินค้าของลูกค้า ลูกค้าหนึ่งคนสั่งซื้อใบสั่งซื้อได้หลายใบ และใบสั่งซื้อแต่ละใบถูกลูกค้าสั่งซื้อได้เพียงคนเดียว สั่งซื้อ 1 M ลูกค้า ใบสั่งซื่อ

  29. Many to Many ความสัมพันธ์ที่แต่ละแถวของข้อมูลในเอนติตี้แรก สามารถจับคู่กับข้อมูลในเอนติตี้ที่สองได้มากกว่าหนึ่งแถวและในทางกลับกันข้อมูลแต่ละแถวของฝั่งเอนติตี้ที่สองก็สามารถจับคู่กับข้อมูลในเอนติตี้แรกได้มากกว่าหนึ่งแถว เช่น ระบบสั่งซื้อสินค้าของลูกค้า สินค้า 1 ชนิดถูกสั่งซื้อตามใบสั่งซื้อได้หลายใบ และใบสั่งซื้อ 1 ใบสั่งซื้อสินค้าได้หลายชนิด ถูกสั่งซื้อ M M ใบสั่งซื่อ สินค้า

  30. จำนวนชนิดของ Entity(Degree of Relationship) Unary (Recursive) Relationship เอนติตี้มาเกี่ยวข้องเพียงชนิดเดียวเท่านั้น Binary Relationship เอนติตี้มาเกี่ยวข้อง 2 ชนิด Ternary Relationship มีเอนติตี้มาเกี่ยวข้อง 3 ชนิด

  31. จำนวนชนิดของ Entity(Degree of Relationship) ต่อ Unary 1 นักศึกษา พนักงาน หัวหน้างาน M m ลงทะเบียน M อาจารย์ Ternary วิชาเรียน M Binary สอน วิชาเรียน หนังสือ M M

  32. Fan Trap เป็นปัญหาที่เกิดจากลักษณะการจัดความสัมพันธ์ระหว่าง Entity Chasm Trap เป็นปัญหาที่เกิดจากการเชื่อมโยงความสัมพันธ์ระหว่างข้อมูลไม่ได้ ปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล

  33. ปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดลปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล Fan Trap เป็นปัญหาที่เกิดจากลักษณะการจัดความสัมพันธ์ระหว่าง Entity ทำให้เกิดความกำกวม มักเกิดกับความสัมพันธ์ แบบ one-to-many

  34. ปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดลปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล

  35. ปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดลปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล

  36. ปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดลปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล Chasm Trap เป็นปัญหาที่เกิดจากการเชื่อมโยงความสัมพันธ์ระหว่างข้อมูลไม่ได้ โดยปัญหานี้มักพบเมื่อ entity หนึ่งมีความสัมพันธ์กับ entity อื่น ตั้งแต่ 2 entity ขึ้นไป แต่ไม่สามารถเชื่อมโยงความสัมพันธ์ได้

  37. ปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดลปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล

  38. ปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดลปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล

  39. อี-อาร์โมเดลกับฐานข้อมูลเชิงสัมพันธ์อี-อาร์โมเดลกับฐานข้อมูลเชิงสัมพันธ์ การออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล มีขั้นตอนดังนี้ ศึกษารายละเอียดและลักษณะหน้าที่งานของระบบ กำหนด Entity ที่ควรมีในระบบฐานข้อมูล กำหนดความสัมพันธ์ระหว่าง Entity กำหนดคุณลักษณะของ Entity กำหนดคีย์หลักของแต่ละ Entity นำสัญลักษณ์ที่ใช้ในอี-อาร์โมเดลมาอธิบายความสัมพันธ์ระหว่างข้อมูล

  40. อี-อาร์โมเดลกับฐานข้อมูลเชิงสัมพันธ์อี-อาร์โมเดลกับฐานข้อมูลเชิงสัมพันธ์ การแปลงฐานข้อมูลที่ออกแบบด้วยอี-อาร์โมเดลเป็นฐานข้อมูลเชิงสัมพันธ์ มีขั้นตอนดังนี้ แปลงเอนติตี้ให้เป็นรีเลชันและแปลงความสัมพันธ์ระหว่างเอนทิตี้เป็นความสัมพันธ์ระหว่างรีเลชัน แปลงรายละเอียดของเอนติตี้ให้เป็นแอททริบิวต์ของรีเลชันและกำหนดคีย์ต่างๆให้แก่รีเลชัน การพิจารณาเค้าร่างข้อมูลของแต่ละรีเลชันที่ได้จาก 2 ขั้นตอนแรก

  41. หลักการแปลง ER เป็นรีเลชั่น 1. ให้แปลงเอนติตี้ทุกตัวเป็นรีเลชั่น และแปลงแอตทริบิวต์ทุกตัวของเอนติตี้ให้เป็นแอตทริบิวต์ของรีเลชั่น Customer CusID CusName CusAdd CusSurName Customer (CusID, CusName, CusSurName, CusAdd)

  42. หลักการแปลง ER เป็นรีเลชั่น(ต่อ) 2. เพิ่มแอตทริบิวต์ให้กับรีเลชั่น 2.1 ถ้าความสัมพันธ์เป็นแบบ 1 to 1 ให้นำ pk ของรีเลชั่นฝั่งใดฝั่งหนึ่งไปอยู่ในรีเลชั่นของอีกฝั่งหนึ่ง 1 1 Faculty เป็นคณบดี Teacher FacName ThName FacID ThID ThSurName Teacher (ThID, ThName, ThSurName) Faculty (FacID,FacName,ThID*)

  43. หลักการแปลง ER เป็นรีเลชั่น(ต่อ) 2. เพิ่มแอตทริบิวต์ให้กับรีเลชั่น 2.2 ถ้าความสัมพันธ์เป็นแบบ 1 to Mให้นำ pk ของรีเลชั่นฝั่งที่เป็น 1ไปอยู่ในรีเลชั่นของฝั่งที่เป็น M 1 M CusName Orders สั่งซื้อ Customer ReqDate OrderDate OID CusID CusSurName Customer (CusID, CusName, CusSurName) Orders (OID,OrderDate, ReqDate ,CusID*)

  44. หลักการแปลง ER เป็นรีเลชั่น(ต่อ) 2. เพิ่มแอตทริบิวต์ให้กับรีเลชั่น 2.3 แอตทริบิวต์ที่อยู่บนความสัมพันธ์ จะนำไปใส่ในรีเลชั่นใด ก็ขึ้นอยู่กับว่าเมื่อใส่ลงในรีเลชั่นนั้นแล้ว จะมีบางแถวหรือไม่มีแถวข้อมูลใดเลยที่มีค่าในแอตทริบิวต์เป็น Null 1 M CusName Orders สั่งซื้อ Customer ReqDate OrderDate OID CusID CusSurName Customer (CusID, CusName, CusSurName) Orders (OID,OrderDate, ReqDate ,CusID*)

  45. หลักการแปลง ER เป็นรีเลชั่น(ต่อ) 3. สร้างรีเลชั่นใหม่สำหรับความสัมพันธ์แบบ M to M โดยสร้าง PK ได้จาก การนำเอา PK ของแต่ละรีเลชั่น มาประกอบกัน Discount M M PName Orders รายการสั่งซื่อ Products Amount UnitPrice OID PID Price Product (PID, PName, Price) Orders (OID,OrderDate, ReqDate ,CusID*) OrderDetail (OID*, PID*, Discount, Amount, UnitPrice) หรือ ในทางปฏิบัติมักจะสร้าง pk มาใหม่ OrderDetail (id,OID*, PID*, Discount, Amount, UnitPrice)

  46. หลักการแปลง ER เป็นรีเลชั่น(ต่อ) 4.สำหรับเอนติติ้ที่มีแอตทริบิวต์แบบหลายค่า ให้สร้างรีเลชั่นเพิ่ม ที่มีแอตทริบิวต์แบบหลายค่านั้น PK ของรีเลชั่นใหม่เกิดจาก PK ของรีเลชั่นเดิมประกอบกับ แอตทริบิวต์ที่เกิดจากแอตทริบิวต์แบบหลายค่า CusName Customer CreditNum CusID CusSurName Customer (CusID, CusName, CusSurName) CusCredit (CusID*, CreditNum)

  47. หลักการแปลง ER เป็นรีเลชั่น(ต่อ) 5. สำหรับเอนติตี้แบบอ่อน ให้สร้างเป็นรีเลชั่น และมี PK ที่มาจาก PK ของรีเลชั่นหนึ่งรวมกับ PK ของเอนติตี้แบบอ่อน 1 Invoice Invoice Detail has Inv no Date Line M Invoice (Inv no, Date) InvoiceDetail ( Inv no* ,Line)

More Related