1 / 63

บทที่ 3 การออกแบบ E-R Model

บทที่ 3 การออกแบบ E-R Model. E-R modeling เป็นแผนภาพแบบจำลองข้อมูล ซึ่งเชื่อมโยงมุมมองของผู้ใช้ข้อมูลระดับภายนอกและระดับภายในเข้าด้วยกัน เรียกว่า มุมมอง ระดับความคิด ( conceptual data model) พัฒนาโดย Chen(1976) เป็นเครื่องมือ ช่วยในการออกแบบฐานข้อมูล

mali
Download Presentation

บทที่ 3 การออกแบบ E-R Model

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. บทที่ 3 การออกแบบ E-R Model • E-R modeling เป็นแผนภาพแบบจำลองข้อมูล ซึ่งเชื่อมโยงมุมมองของผู้ใช้ข้อมูลระดับภายนอกและระดับภายในเข้าด้วยกัน เรียกว่า มุมมองระดับความคิด (conceptual data model) • พัฒนาโดย Chen(1976)เป็นเครื่องมือช่วยในการออกแบบฐานข้อมูล • แบบจำลอง E-R ช่วยให้ผู้ใช้ทราบมุมมองของข้อมูลในระดับภายนอก(External level)ไม่ให้ผู้ใช้งานทราบรายละเอียดในส่วนการออกแบบในระดับภายใน (Internal level)

  2. องค์ประกอบของ E-R Model 1. Entity เป็นวัตถุ สิ่งของ หรือ แนวคิด ที่กำหนดโดยลักษณะงานขององค์กร เช่น นักศึกษา รถยนต์ พนักงาน โดยเน้นถึงความเป็นอิสระของความคงอยู่ (Independent Existence) ของวัตถุ 2 ด้าน คือ 1.1 ความอิสระของความคงอยู่ของวัตถุทางกายภาพ (Physical Existence)เป็นวัตถุที่มีตัวตนจับต้องได้ เป็นคำนาม ซึ่งจัดเป็นเอนติตี้ที่มีเอกลักษณ์ที่เรียกว่า Entity occurrence หรือ Entity instanceเช่น เอนติตี้พนักงาน สินค้า ลูกค้า หรือผู้ขาย ซึ่งเป็น Strong Entity และเป็น entity ที่ไม่ขึ้นกับ entity อื่น 1.2 ความอิสระของความคงอยู่ของวัตถุทางแนวความคิด (Conceptual Existence) เป็นวัตถุซึ่งไม่มีตัวตน จับต้องไม่ได้ เป็นแนวคิดของการทำงาน เป็นคำกริยา เช่น เอนติตี้การขาย การตรวจสอบ การจัดซื้อ เป็นต้น ซึ่งเป็น Weak Entity ซึ่งไม่สามารถดำรงอยู่ได้ด้วยตนเอง ต้องขึ้นกับ Strong Entity

  3. องค์ประกอบของ E-R Model • 2. Attribute เป็นคุณสมบัติของเอนติตี้ หรือฟิลด์ในเอนติตี้เช่น entity สาขา ประกอบด้วยหมายเลขสาขาที่อยู่ โทรศัพท์ และ แฟกซ์ เป็นต้น • Attribute domain ใช้ในการกำหนดค่าของ attribute หรือประเภทข้อมูลของฟิลด์เช่น หมายเลขสาขา กำหนดเป็น integer • Simple attributeเป็น attribute ที่ประกอบด้วยองค์ประกอบเดี่ยวที่มีความเป็นอิสระในการขึ้นต่อกัน เช่น เงินเดือน • Composite attributeเป็นกลุ่มของ attribute ที่มีความเป็นอิสระต่อกัน เช่น address สามารถแบ่งออกเป็น องค์ประกอบย่อยๆ ดังนี้ บ้านเลขที่ถนนตำบลอำเภอจังหวัดรหัสไปรษณีย์ เป็นต้น

  4. องค์ประกอบของ E-R Model • Single-valued attributeเป็น attribute ที่มีเพียงค่าๆ เดียว ในแต่ละ entity เช่น หมายเลขรหัสนักศึกษา • Multi-valued attributeเป็น attribute ที่มีค่ามากกว่าหนึ่งค่า เช่น เบอร์ติดต่อ มีมากกว่าหนึ่งหมายเลข ใช้สัญลักษณ์วงกลมซ้อนกัน • Derived attributeคือ attribute ที่คำนวณค่ามาจาก attribute อื่น เช่น attribute อายุของพนักงาน สามารถคำนวณได้จาก วันที่เกิด ดังนั้น attribute อายุกับ attribute วันที่เกิด จึงมีความเกี่ยวข้องกัน ใช้สัญลักษณ์เส้นปะ • 3. Keyคือ attribute ที่ถูกเลือก ให้เป็นตัวแทนของข้อมูล ในแต่ละเรคอร์ท • Candidate key(คีย์คู่แข่ง) คือ attribute หรือกลุ่มของ attributes ที่สามารถเป็นตัวแทนข้อมูลและมีค่าไม่ซ้ำกับเรคอร์ทอื่น เช่น รหัสนักศึกษา เลขบัตรประชาชน

  5. องค์ประกอบของ E-R Model • Primary key (คีย์หลัก) คือ candidate key ที่ถูกเลือกให้เป็นคีย์หลัก เช่น รหัสนักศึกษา ใช้สัญลักษณ์ขีดเส้นใต้ชื่อ attribute ที่เป็นคีย์หลัก • Composite keyคือ กลุ่มattributes ที่มีค่าเป็นเอกลักษณ์ ใช้เป็นตัวแทนข้อมูลได้ เช่น ใน entity การลงทะเบียนมี หมายเลขรหัสนักศึกษา และ รหัสรายวิชาประกอบกันเป็น key เป็นต้น Composite attribute Single valued attribute Primary key Mutivalued attribute Derived attribute

  6. องค์ประกอบของ E-R Model 4. Relationship (relationship occurrence /relationship instance) คือคำกริยาที่แสดงความสัมพันธ์ระหว่าง entity เช่น นักศึกษาสังกัดคณะ Entity type Relationship type รูปแสดง relationship type สังกัด Entity type

  7. องค์ประกอบของ E-R Model 5. Degree of a Relationship(cardinality ratio)คือ จำนวน entities ที่มีความสัมพันธ์กันใน relationship แบ่งได้ดังนี้ 5.1 Unary relationship/Recursive relationshipเป็นความสัมพันธ์ของ entities เดียว เช่น พนักงานที่เป็นผู้จัดการมีอำนาจในการบังคับบัญชาพนักงานที่เป็นลูกน้อง รูปแสดง unary relationship

  8. องค์ประกอบของ E-R Model 5.2 Binary relationshipเป็นความสัมพันธ์ของ2entity เช่น 5.3 Ternary relationship เป็นความสัมพันธ์ของ 3 entities

  9. องค์ประกอบของ E-R Model • 5.4 Quaternary relationshipเป็นความสัมพันธ์ของ 4 entities เช่น บริษัทขายรถยนต์ ที่มีความสัมพันธ์ ขาย ระหว่างพนักงานขายรถยนต์ให้กับลูกค้าโดยผ่านบริษัทสินเชื่อ รูปแสดง Quaternary relationship

  10. องค์ประกอบของ E-R Model 6. Structural Constraints คือ กฎข้อบังคับของความสัมพันธ์ระหว่างเอนติตี้ แบ่งออกเป็น 2 ประเภท ดังนี้ 6.1 Cardinality constraintsจะเป็นข้อบังคับที่อ้างอิงกับกฎเกณฑ์ที่ใช้ในองค์กร(Business rules) เช่น นักศึกษาสามารถยืมหนังสือห้องสมุดได้ครั้งละ 7 เล่ม 6.2 Participation constraintsเป็นการกำหนดถึงสถานการณ์การคงอยู่ของ entity ที่ขึ้นกับ entity อื่น แบบทั้งหมดหรือแบบบางส่วน

  11. 6.1 Cardinality Constraints • cardinality ratio คือจำนวนของความสัมพันธ์ระหว่างentities ที่มีความสัมพันธ์กัน เช่น ความสัมพันธ์แบบ binary relationship ซึ่งสามารถแบ่งออกเป็น One to one (1:1) // One to many (1:M / 1:N) // Many to many (M:N / N:N) • One to One (1:1)เป็นความสัมพันธ์แบบหนึ่งต่อหนึ่ง เช่น ประชาชนแต่ละคนมีเลขประจำตัวประชาชนคนละ 1 หมายเลข ประชาชน เลขบัตรประชาชน Semantic netคือการแสดงข้อมูลตัวอย่างของแต่ละเอนติตี้ในความสัมพันธ์ รูปแสดง semantic net ของ ER model แบบ One to one relationship

  12. 6.1 Cardinality Constraints • One to Many (1:M / 1:N)เป็นความสัมพันธ์แบบหนึ่ง entity ต่อหลาย เช่น อาจารย์หนึ่งคนสามารถมีนักศึกษาในที่ปรึกษามากกว่าหนึ่งคน ในขณะที่นักศึกษาแต่ละคนสามารถมีอาจารย์ที่ปรึกษาได้เพียงหนึ่งคนเท่านั้น อาจารย์ นักศึกษา รูปแสดง semantic net ของ ER model แบบ One to Many relationship

  13. 6.1 Cardinality Constraints • Many to many (M:N / N:N)เป็นความสัมพันธ์แบบหลายต่อหลายเช่นอาจารย์หนึ่งท่านสามารถ สอนได้มากกว่าหนึ่งรายวิชา ในขณะที่แต่ละวิชาสามารถมีอาจารย์สอนได้มากกว่าหนึ่งท่าน อาจารย์ รายวิชา รูปแสดง Semantic net ของ ER model แบบ Many to Many relationship

  14. 6.2 Participation Constraints • เป็นการกำหนดถึงสถานการณ์การคงอยู่ของ entity ที่ขึ้นอยู่กับ entity อื่นมี 2 ประเภท ดังนี้ • 6.2.1 Total participationหมายถึง ทุกๆ entitiesที่อยู่ใน entity หนึ่ง ต้องมีความสัมพันธ์กับ entity อื่น เช่น อาจารย์ทุกคนต้องสังกัดคณะ แสดง Total (Mandatory) participation หรืออาจเรียกว่า existence dependency

  15. 6.2 Participation Constraints 6.2.2Partial participation หรือ Optional participationหมายถึง บาง entitiesมีความสัมพันธ์กับ entity อื่น เช่น มีอาจารย์บางท่านที่เป็นผู้บริหารคณะเท่านั้น แสดงสัญลักษณ์ Partial (Optional) participationและTotal (Mandatory) participation

  16. 6.2 Participation Constraints • การแสดงค่าสูงสุด(maximum) และ ค่าน้อยสุด(minimum) ของความสัมพันธ์(Min,Max)เช่น • นักศึกษาสามารถมีอาจารย์ที่ปรึกษาได้สูงสุด 1 ท่าน และ • อาจารย์แต่ละท่านสามารถ รับจำนวนนักศึกษาได้สูงสุด 45 คน สามารถแสดง (Min,Max) ดังนี้

  17. 7. Weak entity type • 7. Weak entity คือ entity ที่เป็นคำกริยาและขึ้นอยู่กับ entity อื่น เช่น การขายขึ้นกับพนักงานขาย ซึ่งคีย์ของ weak entity จะประกอบด้วยคีย์ของ entity หลัก ใช้สัญลักษณ์ • สาเหตุของการเกิด weak entity คือ multivalued attribute หรือ repeating group • repeating groupคือ กลุ่มของข้อมูลที่ซ้ำกัน(multi valued attribute) ตั้งแต่สองเรคอร์ทขึ้นไป เช่น พนักงานขายคนเดียวกัน ขายสินค้าให้กับลูกค้าหลายคน ข้อมูลพนักงานขายเป็น repeating group

  18. วิธีจัดการMultivalued หรือ Repeating group 7.1 กรณีที่สามารถกำหนดค่าของ multivalued attribute หรือ repeating groupและเป็นค่าที่สามารถกำหนดได้ว่ามีจำนวนไม่มากจะใช้วิธีการ แตก multivalued attribute หรือ repeating group ออกเป็น single valued attributes

  19. การกำจัด Multivalued หรือ Repeating group 7.2 กรณีที่ไม่สามารถระบุค่าของ multivalued attribute หรือ repeating group จะทำการแตก multivalued attribute หรือ repeating group เป็น weak entity ข้อสังเกต คีย์ที่อยู่ใน entity นักศึกษา จะเป็น คีย์ที่อยู่ใน weak entity ประวัติ ด้วย

  20. คุณสมบัติของแผนภาพ E-R ที่ดี • Expressivenessสามารถอธิบายโครงสร้างของข้อมูลได้อย่างดีและครบถ้วน • Simplicity มีรูปแบบง่ายต่อการเข้าใจ • Minimalityมีความชัดเจนและไม่สามารถตีความเป็นอย่างอื่นได้ • Formality มีรายละเอียดของข้อมูลที่ไม่ซ้ำซ้อนและมีรูปแบบเป็นมาตรฐาน

  21. ขั้นตอนการออกแบบแผนภาพ E-R • Collecting Data จากแบบฟอร์มหรือรายงาน • กำหนด Entity • กำหนดความสัมพันธ์ของเอนติตี้ • กำหนด Constraint ทั้ง Totalและ Partial • กำหนด attribute • กำหนด attribute domain • กำหนด key • แปลงแผนภาพ E-R ให้อยู่ในรูปของ Relation

  22. ตัวอย่างการ Collecting Data • บริษัทประกอบกิจการรับเหมาก่อสร้าง • มีการส่งคนงานไปตามสถานที่ก่อสร้างต่างๆ • คนงานมีความชำนาญและระดับความชำนาญที่ต่างกัน • มีการกำหนดอัตราค่าแรงตามความชำนาญ และระดับความชำนาญ(แบ่งเป็นคนงานและผู้ควบคุมงาน) • มีอัตราค่าแรงพิเศษ ขึ้นอยู่กับความชำนาญ และจำนวนชั่วโมงขั้นต่ำที่ต้องทำ

  23. ตัวอย่างการวิเคราะห์หา Entity วิเคราะห์ข้อมูลที่ได้จากลักษณะการทำงานของระบบงานนั้นๆ เพื่อให้ได้คำนามที่มีความหมายและมีความสำคัญที่สุด จาก ตัวอย่างนี้จะได้ Entity • คนงาน • ความชำนาญ • สถานที่ก่อสร้าง

  24. ตัวอย่างการวิเคราะห์หา Relation วิเคราะห์ข้อมูลที่ได้จากการสอบถามเพิ่มเติม ซึ่งนำมากำหนดเป็นความสัมพันธ์ ระหว่าง Entity N 1 ความชำนาญ ของ คนงาน M N คนงาน มีการทำงาน สถานที่ก่อสร้าง สำหรับความสัมพันธ์แบบ M:Nให้เปลี่ยนความสัมพันธ์เป็น Entity เพื่อให้ความสัมพันธ์เป็นแบบ 1:N ดังรูป 1 1 N N คนงาน การทำงาน สถานที่ก่อสร้าง ได้รับมอบหมาย ทำงานที่

  25. รหัสสถานที่ รหัสคนงาน วันที่เริ่ม ชื่อคนงาน จน.ชั่วโมง อัตราค่าแรง ที่อยู่ 1 1 N N การทำงาน คนงาน สถานที่ก่อสร้าง ได้รับมอบหมาย ทำงานที่ 1 N N ของ 1 ความชำนาญ ประเภท ชั่วโมงขั้นต่ำ อัตราโบนัส แผนภาพ E-R ประเภท ถูกควบคุมโดย

  26. งานบทที่ 3 1. จงกำหนด Entity และความสัมพันธ์จากข้อมูลต่อไปนี้ 1.1 นักศึกษา 1 คน สามารถเข้าชมรมมากกว่า 1 ชมรมขึ้นไปและ ชมรม 1 ชมรม สามารถรับนักศึกษาได้มากกว่า 1 คน 1.2 ลูกค้า 1 คน สามารถเป็นเจ้าของรถยนต์ได้มากกว่า 1 คันและรถยนต์ 1 คัน สามารถถูกครอบครองได้โดยลูกค้าเพียง 1 คน 1.3 ลูกค้า 1 คน สามารถจองตั๋วเครื่องบินในราคาพิเศษได้เพียง 1 ใบ เท่านั้น ตั๋วเครื่องบินในราคาพิเศษ 1 ใบ สามารถถูกครอบครองโดยลูกค้าเพียง 1 คน 1.4 นักเขียน 1 คน สามารถแต่งหนังสือหลายรายการ หนังสือ 1 รายการ สามารถถูกแต่งโดยนักเขียนเพียง 1 คน

  27. งานบทที่ 3 2. ณ ห้องปฏิบัติการแห่งหนึ่ง มีนักเคมีเป็นผู้ทดลองโครงการต่างๆ ซึ่งมีการใช้อุปกรณ์ เป็นเครื่องมือในการทดลองโครงการนั้นๆ โดยมีการกำหนด Entity Attribute และ Relationships ดังนี้ • Chemist(ChemId,ChemNm,Addr,Tel) • Project(ProId,ProName,ProStart), • Equipment(EqId,EqName,EQNum,EQPrice) โดยกำหนดความสัมพันธ์เป็นดังนี้ 1. นักเคมีแต่ละคนทำโครงการได้มากกว่า 1 โครงการ 2. โครงการ 1 โครงการใช้อุปกรณ์อย่าง 1 อย่างหรือมากกว่า จากข้อมูลข้างต้นจงเขียน E-R diagram พร้อมระบุ primary key

  28. งานบทที่ 3 3. จงออกแบบแผนภาพ E-R ของฐานข้อมูลการลงทะเบียนของ นักศึกษาที่ต้องใช้จัดเก็บข้อมูลวิชาเรียน ที่นักศึกษาแต่ละคนลงทะเบียน เรียนในภาคการศึกษา นั้นๆ วิชาเรียนต่างๆ ที่เปิดสอนในภาคการศึกษานั้นซึ่งจะต้องประกอบด้วย รหัสวิชา ชื่อวิชา จำนวนหน่วยกิต กลุ่มเรียน วันเวลาและสถานที่เรียน ชื่ออาจารย์ผู้สอน ส่วนข้อกำหนดคือแต่ละวิชาจะมีผู้สอนได้เพียงคนเดียวเท่านั้น และข้อมูลการลงทะเบียนของนักศึกษาจะต้องสามารถนำไปใช้กำหนดเกรดที่นักศึกษาแต่ละคนได้รับในแต่ละรายวิชา ด้วย

  29. The Enhanced Entity-Relationship Model (EER) • EER model คือโมเดลข้อมูลที่พัฒนามาจาก E-R Model เพื่อให้การสร้างแบบจำลองมีความทันสมัยและนำมาใช้อธิบาย ความหมายของข้อมูลที่มีความซับซ้อนและเหมาะสมกับความเป็นจริงในทางปฏิบัติมากขึ้น • EER model เป็นลักษณะการจัดกลุ่มข้อมูลของเอนติตี้ในรูปแบบของ Superclass/ Subclassโดยอาศัยกระบวนการ Specialization / Generalization และ Categorization รวมทั้งกระบวนการถ่ายทอด Attribute • 1. Superclassเป็น entity ซึ่งประกอบด้วย subclasses ที่แตกต่างกัน เช่น พนักงาน • 2. Subclassเป็น entity ที่มีลักษณะและกฎข้อบังคับที่แตกต่างกัน เช่น พนักงานประจำ และ พนักงานชั่วคราว

  30. 3. Specialization Specializationเป็นการกำหนดคุณสมบัติของ subclasses ที่แตกต่างจาก superclass โดยใช้วิธีการแบบ top-down จากรูป พนักงานประจำ และพนักงานชั่วคราว ต่างมี attributes ที่แตกต่างกัน เรียกว่า specific attribute แต่ทั้งสอง subclasses ยังคงมีattributes inheritanceที่เป็น attributes หลักที่ได้รับการถ่ายทอดมาจาก superclass นั่นคือ ทั้งสอง subclasses ยังคงมี attributes รหัส ชื่อ เพศ ที่อยู่ ด้วย

  31. ขั้นตอนของขบวนการ specialization • พิจารณา superclass เช่น พนักงาน • กำหนดกลุ่มของ subclasses เช่น วิศวกร เลขา พนักงานประจำ พนักงานชั่วคราว เป็น subclasses ของพนักงาน • กำหนดความเด่นเฉพาะของ subclasses โดยกำหนด แอตริบิวต์(specific attributes) เช่น วิศวกร สังกัดสาขาที่แตกต่างกัน • กำหนดความสัมพันธ์ระหว่าง subclass กับ entity type หรือ subclass อื่นๆ

  32. แผนผังแบบ specialization ของ EER diagram 1 3 2 1. แสดง specialization โดยใช้วงกลม ในการเชื่อมต่อกับ superclass 2. subclass จะมี attributes ที่แสดงคุณสมบัติที่แตกต่างกัน (specific attributes) เช่น เลขา มี attribute ความเร็วในการพิมพ์ 3. ผู้จัดการ มี relationship type บริหารกับแผนก ซึ่งเป็น ความสัมพันธ์เฉพาะ(specific relationship type)

  33. เหตุผลหลักในการแบ่งออกเป็น superclass กับ subclasses 1. บาง attributes ไม่สามารถกำหนดลงใน superclass ได้ เช่น ความเร็วในการพิมพ์ ของเลขา 2. บางครั้ง subclass มีความสัมพันธ์กันในระดับ subclassเช่น บริหาร มีความสัมพันธ์กับ ผู้จัดการ เป็นต้น

  34. 4. Generalization 4. Generalizationเป็นการหาความเหมือนจากหลายๆ entity แล้วกำหนดเป็น Superclass ใช้วิธีการแบบ bottom-up ในการกำหนด superclass กับกลุ่มของ subclasses เช่น รถยนต์ และรถบรรทุก สามารถใช้ขบวนการ generalization ได้ superclass ยานยนต์

  35. 4. Generalization Generalization specialization รูปแสดง generalization ของ superclass ยานยนต์ วิธี generalization ใช้สัญลักษณ์เส้นที่เชื่อมขึ้นจาก subclassesไปยัง superclassส่วนเส้นที่เชื่อมจาก superclassไปยัง subclasses แสดงวิธีการแบบ specialization

  36. ข้อบังคับของ Specialization/Generalization • สามารถกำหนดข้อบังคับที่เกี่ยวข้องมีดังนี้ • 1. Disjoint constraint • 2. Overlapping constraint • 3. Completeness constraint

  37. 1. Disjoint constraint เป็นข้อบังคับที่กำหนดความแตกต่างของ subclass อย่างชัดเจนซึ่งสามารถ ระบุได้อย่างชัดเจนว่าพนักงานคนใดเป็นพนักงานประจำหรือชั่วคราว และใช้สัญลักษณ์ “d” แทนในวงกลมที่เชื่อมระหว่าง subclasses กับ superclass ดังรูป

  38. 2. Overlapping constraint เป็นข้อบังคับที่ไม่สามารถแบ่งsubclasses ออกจาก superclass ได้อย่างชัดเจน ซึ่งหมายถึงใน entity หนึ่งๆ อาจเป็นสมาชิกมากกว่าหนึ่ง subclasses ใช้สัญลักษณ์ “o” เช่น ในการผลิตเฟอร์นิเจอร์ ซึ่งมีวัตถุดิบบางประเภทที่ทางบริษัทสามารถผลิตได้เอง แต่ในบางครั้งอาจผลิตไม่ทันขบวนการผลิต จึงต้องมีการสั่งซื้อวัตถุดิบนั้นจากผู้จัดจำหน่ายภายนอก ดังนั้นจึงมีความคลุมเครือเกิดขึ้น เพราะไม่สามารถระบุได้ชัดเจนว่าเป็น subclasses ใดของ specialization

  39. 3. Completeness constraint • Completeness constraintแบ่งออกเป็น total และ partial • Total participation constraint เป็นข้อบังคับที่กำหนดว่าทุกๆ entity ใน superclassต้องเป็นสมาชิกของ subclass ใด subclass หนึ่ง เช่นพนักงาน ต้องเป็นพนักงานประจำ หรือชั่วคราว ซึ่งใช้สัญลักษณ์เส้นคู่ในการเชื่อม

  40. 3. Completeness constraint Partial participation constraintเป็นข้อบังคับที่กำหนดว่า entity ที่อยู่ใน superclassไม่จำเป็นต้องเป็นสมาชิกของsubclass ใด subclass หนึ่ง เช่น พนักงาน ไม่จำเป็นต้องเป็นเลขา วิศวกร หรือพนักงานขายซึ่งใช้สัญลักษณ์เส้นเดี่ยว

  41. ข้อบังคับของ Specialization/Generalization จากข้อบังคับทั้งสามของ specialization และ generalization สามารถนำมาสัมพันธ์กันได้ 4 constraints ดังนี้ 1. Disjoint &Total พนักงานต้องเป็นพนักงานประจำหรือชั่วคราวอย่างใดอย่างหนึ่ง 2. Disjoint & Partial พนักงานมีตำแหน่งใดตำแหน่งหนึ่งหรือไม่เป็นก็ได้ 3. Overlapping &Total พนักงานทุกคนจะเป็นสมาชิกอย่างน้อยหนึ่ง subclass หรือมากกว่าได้ เช่น พนักงานต้องมีตำแหน่งอย่างน้อยหนึ่งหรือมากกว่าก็ได้ 4. Overlapping & Partialพนักงานเป็นสมาชิกได้หลาย subclassหรือไม่เป็นเลยก็ได้

  42. ข้อบังคับของ Specialization/Generalization • กฎของการ insertion และ deletionที่ประยุกต์ใช้กับ specialization สามารถกำหนดดังนี้ • การลบ entity จาก superclass จะหมายถึงการลบ entity ที่อยู่ใน subclasses แบบอัตโนมัติ • การเพิ่ม entity สู่ superclass จะหมายถึงการเพิ่ม entity นั้นให้กับทุกๆ subclasses ที่เกี่ยวข้อง • การเพิ่ม entity ใน superclass แบบ total participation constraint จะหมายถึง entity ใน subclass ของ specialization จะถูกเพิ่มอย่างน้อยหนึ่ง subclass

  43. Specialization/generalization hierarchies and lattices • specialization hierarchy หรือ single inheritance มีลักษณะคือ ทุกๆ subclass จะมีหนึ่ง superclass • specialization lattices(multiple inheritance) มีลักษณะคือ ในหนึ่ง subclass มี superclass มากกว่าหนึ่ง specialization hierarchy specialization lattices การแชร์ subclass ระหว่าง subclass วิศวกรและ subclass ผู้จัดการ

  44. Categorization แสดง categorization ใช้สัญลักษณ์ “U” จากรูปแสดงถึงบุคคลหรือนิติบุคคล สามารถเป็นเจ้าของยานพาหนะได้

  45. เปรียบเทียบระหว่าง lattices กับ category 1. ใน latticesข้อบังคับที่เกิดขึ้นระหว่าง superclasses ที่มีความสัมพันธ์กันเป็นกลุ่มของการ intersectionระหว่าง superclassses เช่น entity วิศวกรบริหารจะหมายถึงผู้ที่เป็นทั้งวิศวกรและผู้บริหาร 2. ใน categoryมีความสัมพันธ์กันเป็นกลุ่มของการ unionระหว่าง superclasses เช่น entity ผู้ถือกรรมสิทธิ จะหมายถึงบุคคล หรือนิติบุคคล 3. ใน categoryมีคุณสมบัติ selective inheritanceหมายถึงการเลือก subclass ใดๆ ในsuperclasses เช่น กรณี entity ผู้ถือกรรมสิทธิ อาจเป็นบุคคลหรือนิติบุคคล

  46. ปัญหาที่เกิดใน ER models • เป็นปัญหาที่เกี่ยวข้องกับการกำหนดความหมายของความสัมพันธ์ระหว่าง entity เรียกว่า connection traps แบ่งออกเป็น 2 ประเภท • 1. Fan traps คือความสัมพันธ์ระหว่าง entity บางกรณีเกิดความคลุมเครือ • 2. Chasm traps คือการแสดงความสัมพันธ์ระหว่าง entity บางกรณีไม่เกิดขึ้น • ดังนั้น ในการกำหนดความหมายของความสัมพันธ์ที่เกิดขึ้นระหว่าง entity ต้องมีความเข้าใจและชัดเจนในความสัมพันธ์ที่กำหนดนั้นๆ

  47. ปัญหาที่เกิดใน ER models (1.fan traps) 1. กรณีของ fan trapsจะเกิดกับ entity ที่มีความสัมพันธ์กับ 2 entities แบบ one to many เช่น แผนก จากรูปแสดงความสัมพันธ์ของแผนก กับพนักงาน และแผนกกับสาขา ซึ่งปัญหาที่เกิดขึ้น เมื่อต้องการทราบว่าพนักงานคนใดบ้างที่ทำงานที่สาขา เมื่อใช้ Semantic net model ในการตอบคำถาม “ พนักงานที่ S1 ทำงานที่สาขาไหน? “ คำตอบที่ออกมาคือพนักงานรหัส S1 ทำงานที่สาขา B1 และ B2 ซึ่งคำตอบที่ออกมาไม่ถูกต้อง

  48. การแก้ปัญหา Fan trap แก้ปัญหาโดยปรับ entity ที่คลุมเครือ โดยทำการสลับ entity สาขากับแผนกและปรับความสัมพันธ์ จากรูป ในการตอบคำถาม “ พนักงานที่ S1 ทำงานที่สาขาไหน? “ คำตอบที่ออกมาคือพนักงานรหัส S1 ทำงานที่สาขา B1 ซึ่งสาขา B1 ถูกจัดการโดยแผนก D1

  49. ปัญหาที่เกิดใน ER models(2.Chasm Traps) 2. กรณีของ Chasm Traps คือการแสดงความสัมพันธ์ระหว่าง entity บางกรณีไม่เกิดขึ้น จากรูปแสดงความสัมพันธ์ของสาขา กับพนักงาน และพนักงาน กับรถยนต์เช่า โดยสาขาหนึ่งจะมีพนักงานได้หลายๆ คน ซึ่งพนักงานบางส่วนเหล่านั้นเป็นผู้ดูแลรถยนต์ที่จะให้ลูกค้าทำการเช่า

  50. ปัญหา Chasm Traps • เกิดปัญหา เมื่อต้องการทราบว่า • มีรถยนต์ในสาขาใดบ้างที่ไม่ถูกลูกค้าเช่าหรือ หมายเลขรถยนต์ที่ C3 มีสถานะพร้อมที่จะให้ลูกค้าเช่าหรือไม่? ซึ่งไม่สามารถตอบได้ เพราะเกิดการสูญหายของข้อมูลความสัมพันธ์ของข้อมูลหมายเลขรถยนต์เช่า C3

More Related