1 Entity-Relationship Model © Pearson Education Limited 1995, 2005
2 แนวคิดเกี่ยวกับ E-R Model u E-R Model เป็นแบบจำลองข้อมูลที่ได้รับการ ประยุกต์มาจาก แนวคิดของ Semantic Model u E-R Model เป็นที่นิยมอย่างมากสำหรับนำมาใช้ เพื่อการออกแบบฐานข้อมูลในระดับแนวคิด Conceptual Data model u พัฒนาโดย Chen (1976) เพื่อช่วย Design Database u E-R Model เป็นแบบจำลองข้อมูลซึ่งแสดงถึง โครงสร้างของฐานข้อมูลที่เป็นอิสระจากซอฟต์แวร์ ที่จะใช้ในการพัฒนาฐานข้อมูล
3 แนวคิดเกี่ยวกับ E-R Model u E-R Model แสดงรายละเอียดและความสัมพันธ์ ระหว่างข้อมูลในระบบในลักษณะที่เป็นภาพรวม ทำ ให้เป็นประโยชน์อย่างมากต่อการรวบรวมและ วิเคราะห์รายละเอียด ตลอดจนความสัมพันธ์ของ ข้อมูลต่าง ๆ u E-R Model มีการใช้สัญลักษณ์ต่างๆ ที่เรียกว่า Entity Relationship Diagram หรือ อี - อาร์ ไดอะแกรม แทนรูปแบบของข้อมูลเชิงตรรกะของ องค์กร
4 Concept of E-R Model u Concept ของ E-R Model ประกอบด้วย –Entity types (object ใน real world) –Attributes –Relationship Types
5 ER diagram of Branch user views of DreamHome => Crow’s foot © Pearson Education Limited 1995, 2005
6 ER diagram of Branch user views of DreamHome => Chen © Pearson Education Limited 1995, 2005
7 1. Entity Types © Pearson Education Limited 1995, 2005 u Strong Entity Type –Entity type that is not existence-dependent on some other entity type. u Weak Entity Type –Entity type that is existence-dependent on some other entity type.
8 Primary Keys u Underlined in the ER diagram u Ideally composed of only a single attribute u Possible to use a composite key: –Primary key composed of more than one attribute นักศึกษา PK ชื่อ PK สกุล บ้านเลขที่ ถนน แขวง เขต จังหวัด
9 Keys u Candidate Key –Minimal set of attributes that uniquely identifies each occurrence of an entity type. u Primary Key –Candidate key selected to uniquely identify each occurrence of an entity type. u Composite Key –A candidate key that consists of two or more attributes. © Pearson Education Limited 1995, 2005
10 ER diagram of Staff and Branch entities and their attributes © Pearson Education Limited 1995, 2005
11 2. Attributes u Simple Attribute –Attribute composed of a single component with an independent existence. © Pearson Education Limited 1995, 2005
12 2. Attributes u Composite Attribute –Attribute composed of multiple components, each with an independent existence. นักศึกษา PK รหัสประจำตัว ชื่อ สกุล บ้านเลขที่ ถนน แขวง เขต จังหวัด
13 2. Attributes u Single-valued Attribute –Attribute that holds a single value for each occurrence of an entity type. u Multi-valued Attribute –Attribute that holds multiple values for each occurrence of an entity type. © Pearson Education Limited 1995, 2005
14 2. Attributes u Derived Attribute –Attribute that represents a value that is derivable from value of a related attribute, or set of attributes, not necessarily in the same entity type. © Pearson Education Limited 1995, 2005
15 3. Relationship Types u Relationship type –R types เป็น association ที่มีความหมาย ระหว่าง entity types – แต่ละ R type จะกำหนดชื่อที่ใช้บอกหน้าที่ ของ R type นั้น ๆ –Relationship จะเป็นความสัมพันธ์ระหว่าง entity ซึ่งประกอบด้วย entity ตัวหนึ่งที่อยู่ใน แต่ละ entity type อาจเรียกว่า Relationship occurrence หรือ Relationship instance © Pearson Education Limited 1995, 2005
16 3. Relationship Types u Sematic Net –Sematic Net เป็น object-level diagram ซึ่งใช้ สัญลักษณ์ดังนี้ © Pearson Education Limited 1995, 2005
17 3. Relationship Types Semantic net of Has relationship type © Pearson Education Limited 1995, 2005
18 3. Relationship Types ER diagram of Branch Has Staff relationship Crow’s Foot Model
19 3. Relationship Types ER diagram of Branch Has Staff relationship StaffBranch Has Chen Model
20 3. Relationship Types u สำหรับ E-R Diagram relationship จะแทนด้วย สี่เหลี่ยมขนมเปียกปูน (diamond) u Relationships แบ่งเป็น 2 แบบ –Strong Relationship แทนด้วยสัญลักษณ์ diamond –Weak Relationship แทนด้วยสัญลักษณ์ double diamond
21 3. Relationship Types u Degree of a Relationship –Number of participating entities in relationship. u Relationship of degree : - one is unary or recursive จะมี degree = 1 –two is binary จะมี degree = 2 –three is ternary จะมี degree = 3 –four is quaternary จะมี degree = 4 Chen Model
22 3. Relationship Types Recursive Or Unary relationship called Supervises with role names Crow’s Foot Model
23 3. Relationship Types Recursive Or Unary relationship called Supervises with role names
24 3. Relationship Types Crow’s Foot Model Binary relationship called POwns
25 3. Relationship Types Crow’s Foot Model Ternary relationship
26 3. Relationship Types Quaternary relationship called Arranges
27 3. Relationship Types u ในกรณี Entity อาจมีความสัมพันธ์กัน มากกว่า 1 ความสัมพันธ์ ก็ได้ ดังนั้นในกรณี นี้ต้องใส่ชื่อกำกับที่เส้นความสัมพันธ์ด้วย © Pearson Education Limited 1995, 2005 Manager Branch Office Member of Staff Staff Branch
28 3. Relationship Types u ในกรณี Entity อาจมีความสัมพันธ์กัน มากกว่า 1 ความสัมพันธ์ ก็ได้ ดังนั้นในกรณี นี้ต้องใส่ชื่อกำกับที่เส้นความสัมพันธ์ด้วย © Pearson Education Limited 1995, 2005 Manager Branch Office Member of Staff Staff Branch
29 Three Types of Relationships
30 Structural Constraints u Constraint – เงื่อนไขหรือข้อจำกัดต่าง ๆ ที่อาจจะ กำหนดบน entites ที่ participate ใน relationship – ข้อจำกัดต่าง ๆ บน relationship ควรจะ สะท้อนให้เห็นใน real world – มีอยู่ 2 ลักษณะใหญ่ ๆ คือ Cardinality Constraints Paticipation Constraints
31 Structural Constraints u Cardinality Constraints – เป็นข้อจำกัดที่เกี่ยวกับจำนวน relationships สำหรับแต่ละ Entity ที่ Participate –Cardinality ratio เป็นจำนวน relationship ที่ เป็นไปได้สำหรับแต่ละ entity –Cardinality ratio ระห่าง entity เป็นฟังก์ชัน ของ policies ที่กำหนดขึ้นมาโดยองค์กร –Rule ที่ใช้กำหนด Cardinality เรียกว่า Business Rules – แต่บาง business rules ก้ไม่สามารถ represent ใน E-R Model ได้ เช่น กำหนดตามความ ต้องการที่พนักงานจะได้รับวันหยุดเพิ่ม สำหรับทุก ๆ ปีที่ทำงานกับองค์กรนั้น ๆ
32 Structural Constraints u Cardinality Constraints –The most common degree for relationships is binary. –Binary relationships are generally referred to as being –Connectivity คือชนิดของความสัมพันธ์ ซึ่ง แบ่งเป็น 3 แบบ –Cardinality คือ จำนวนต่ำสุด และสูงสุดของ entity ทีมีความสัมพันธ์ one-to-one (1:1) one-to-many (1:*) many-to-many (*:*)
33 Connectivity and Cardinality in an ERD The “Inside” symbols indicate a minimum The “Outside” symbols indicate a maximum minimum maximum
34 Semantic net of Staff Manages Branch relationship type © Pearson Education Limited 1995, 2005 one-to-one (1:1) Single Set ใน Entity หนึ่งจะ associate กับ single set ในอีก entity หนึ่ง
35 Semantic net of Staff Oversees PropertyForRent relationship type © Pearson Education Limited 1995, 2005 one-to-many (1:*) Single Set ใน Entity หนึ่งจะ associate กับ หลาย ๆ set ในอีก entity หนึ่ง
36 Semantic net of Newspaper Advertises PropertyForRent relationship type © Pearson Education Limited 1995, 2005 many-to-many (*:*) Single Set ใน Entity A จะ associate กับ หลาย ๆ set ใน entity B ในทางกลับกัน Single Set ใน Entity B จะ associate กับ หลาย ๆ set ใน entity A
37 Cardinality Ratio แสดง Cardinality Ratio แบบ Chen Model และ Crow’s Foot
38 Structural Constraints u Participation Constraints – มี participate constraints อยู่ 2 ประเภท ได้แก่ »Total หรือ Mandatory : One entity occurrence does not require a corresponding entity occurrence in a particular relationship » Partial หรือ Optional : One entity occurrence requires a corresponding entity occurrence in a particular relationship
39 An Optional CLASS Entity in the Relationship
40 Mandatory Relationship CLASS M
41 Exercise Mandatory and Optional Comment :
42 Exercise Mandatory and Optional Comment :
43 Exercise Mandatory and Optional Comment :
44 Summary of cardinality constraints © Pearson Education Limited 1995, 2005
45 Composite Entities u Also known as bridge entities u Composed of the primary keys of each of the entities to be connected u May also contain additional attributes that play no role in the connective process
46 The M:N Relationship
47 A Composite Entity in an ERD
48 Comparison Of Modeling Symbols
49 Problems with ER Models u ปัญหาที่อาจจะเกิดขึ้นเมื่อกำลัง designing conceptual data model คือ connection traps. u Connection Traps เกิดจากการ interpret ที่ ผิดพลาดของความหมายใน relationship แต่ละ ประเภท u Two main types of connection traps are called fan traps and chasm traps.
50 Problems with ER Models u Fan Trap – เป็น trap ที่เกิดขึ้น เมื่อ model ที่แสดง relationship นั้น ambigous –Fun trap จะเกิดขึ้นเมื่อ 1 : M relationship 2 ตัว หรือมากกว่า fan out ออกมาจาก Entity เดียวกัน u Chasm Trap – เกิดขึ้นเมื่อ Model ที่สร้างขึ้นมี relationship ระหว่าง entity type แต่ว่า pathway ไม่ exit ระหว่าง entity occurrence
51 An Example of a Fan Trap © Pearson Education Limited 1995, 2005
52 Semantic Net of ER Model with Fan Trap u At which branch office does staff number SG37 work? © Pearson Education Limited 1995, 2005
53 An Example of a Fan Trap © Pearson Education Limited 1995, 2005
54 Restructuring ER model to remove Fan Trap © Pearson Education Limited 1995, 2005
55 Semantic Net of Restructured ER Model with Fan Trap Removed u SG37 works at branch B003. © Pearson Education Limited 1995, 2005
56 Restructuring ER model to remove Fan Trap © Pearson Education Limited 1995, 2005
57 An Example of a Chasm Trap © Pearson Education Limited 1995, 2005
58 Semantic Net of ER Model with Chasm Trap u At which branch office is property PA14 available? © Pearson Education Limited 1995, 2005
59 An Example of a Chasm Trap © Pearson Education Limited 1995, 2005
60 ER Model restructured to remove Chasm Trap © Pearson Education Limited 1995, 2005
61 Semantic Net of Restructured ER Model with Chasm Trap Removed © Pearson Education Limited 1995, 2005
62 ER Model restructured to remove Chasm Trap © Pearson Education Limited 1995, 2005