480 likes | 1.42k Vues
Chapter 2-2. Entity-Relationship (E-R Diagram). โดย ...อาจารย์เกศแก้ว ประดิษฐ์ Kate_psu08@hotmail.com. Entity-Relationship (E-R Diagram). เนื้อหาที่เรียนในบทนี้ ขั้นตอนการพัฒนาฐานข้อมูล Business Rules Entity-Relationship (E-R Diagram ) Entity Attributes
E N D
Chapter 2-2 Entity-Relationship (E-R Diagram) โดย ...อาจารย์เกศแก้ว ประดิษฐ์ Kate_psu08@hotmail.com
Entity-Relationship (E-R Diagram) • เนื้อหาที่เรียนในบทนี้ • ขั้นตอนการพัฒนาฐานข้อมูล • Business Rules • Entity-Relationship (E-R Diagram) • Entity • Attributes • Relationships
Entity-Relationship (E-R Diagram) • เนื้อหาที่เรียนในบทนี้ (ต่อ) • Degree of a Relationship • Cardinality of Relationships • Weak Entities • Associative Entities
ขั้นตอนการพัฒนาฐานข้อมูล (ต่อ) • Planning • ระบบฐานข้อมูลจะรองรับงานอะไร • ทรัพยากรที่จำเป็นต้องใช้ รวมถึงงบประมาณต่าง ๆ • นโยบายด้านความปลอดภัย • ประสิทธิภาพในการทำงาน
ขั้นตอนการพัฒนาฐานข้อมูล (ต่อ) • Database System Definition • ขอบเขตของฐานข้อมูล • กลุ่มผู้ใช้งาน • การขยายงานในอนาคต • ความสัมพันธ์กับหน่วยงานอื่น ๆ
ขั้นตอนการพัฒนาฐานข้อมูล (ต่อ) • Database Analysis • การรวบรวมข้อมูล • รายการ Transaction ที่เกิดขึ้น • Data Flow Diagram (DFD)
ขั้นตอนการพัฒนาฐานข้อมูล (ต่อ) • Database Design • Conceptual Data Model • E-R Diagram • Logical Data Model • Relational Database • Physical Data Model • RDBMS
ขั้นตอนการพัฒนาฐานข้อมูล (ต่อ) • Application Design • Transaction Design • User Interface Design • DBMS Selection • งบประมาณ • การสนับสนุนหลังการขาย • ระบบปฏิบัติการ • คุณลักษณะของฮาร์ดแวร์ • Transaction, Recovery and Security
ขั้นตอนการพัฒนาฐานข้อมูล (ต่อ) • Business Rules กฎในการดำเนินธุรกิจใด ๆ เช่น • Business rules and policies are not universal. เงื่อนไขการลงทะเบียนรายวิชาเดียวกันแต่ต่างสถาบันจะไม่เหมือนกัน • Business rules and policies may change over time. เงื่อนไขต่าง ๆ โดยส่วนใหญ่จะใช้เวลานานก่อนที่จะมีการเปลี่ยนแปลง
ขั้นตอนการพัฒนาฐานข้อมูล (ต่อ) • Characteristics of A Good Business Rule–Declarative • อธิบายสิ่งที่ต้องการควบคุมโดยไม่ระบุวิธีการ • Precise • อธิบายความหมายชัดเจน กระชับได้ใจความ • Consistent • ไม่ขัดแย้ง หรือซ้ำซ้อนกับกฎข้ออื่น ๆ
ขั้นตอนการพัฒนาฐานข้อมูล (ต่อ) • Expressible • ใช้ภาษาที่เจ้าของระบบอ่านแล้วเข้าใจ • Business-oriented • ตรงตามเงื่อนไขของระบบ
Entity-Relationship Model • Entity-Relationship Model คิดค้นโดย Chen ในปีค.ศ.1976 • ใชสำหรับสร้าง Conceptual Database Model ในขั้นตอนของ การออกแบบฐานข้อมูล ไมขึ้นอยู่กับรูปแบบของฐานข้อมูลใด ๆ Entities และ Relationship เป็นสิ่งที่ปรากฏอยู่จริง ทำให้ สามารถใช้ในการอธิบายขอบเขตของฐานข้อมูลได้ง่าย
Entity-Relationship Model • Database Model แบ่งออกได้เป็น 2 ประเภทคือ Conceptual model และ Implementation model บทที่แล้ว ได้ศึกษาถึงคุณสมบัติของ Relational Database Model ซึ่งเป็นImplementation model ในบทนี้จะได้เรียนเรื่องการออกแบบฐานข้อมูล คือ การสร้างแบบจำลองที่เป็น Conceptual model ซึ่งจะทำให้สามารถมองเห็นภาพรวมของฐานข้อมูล Entity-Relationship Model ซึ่งเป็น Conceptual Model ที่ได้รับการนิยมอย่างแพร่หลายในปัจจุบัน
E-R Model Component • องค์ประกอบหลักของ E-R Model คือ Entity , Attribute และ Relationship มีสัญลักษณ์ที่ใช้เป็นตัวแทนขององค์ประกอบเหล่านี้ • Entity คือสิ่งต่าง ๆ ที่สามารถระบุได้ในความเป็นจริง ซึ่งอาจเป็นสิ่งที่จับต้องได้เช่น คน สัตว์ สิ่งของ สถานที่และเหตุการณ์ หรือสิ่งที่จับต้องไม่ได้ เช่น จำนวนวันหยุดนักขัตฤกษ์ จำนวนวันลาพักร้องของพนักงาน เป็นต้น ซึ่งเมื่อนำ Entity มารวมกันภายใต้คุณลักษณะใดคุณลักษณะหนึ่งที่เหมือนกันแล้ว Entity เหล่านั้นก็ถูกเรียกว่า Entity Set
E-R Model Component ตัวอย่าง Entity • บุคคล เช่น นักเรียน พนักงาน ผู้ป่วย ฯลฯ • สถานที่ เช่น จังหวัด ประเทศ มหาวิทยาลัย ฯลฯ • วัตถุ เช่น เครื่องจักร โทรศัพท์มือถือ อาคาร ฯลฯ • เหตุการณ์ เช่น การขาย ใบสั่งซื้อ ใบเสร็จรับเงิน ฯลฯ • อื่น ๆ เช่น บัญชี รายวิชา สินค้าคงคลัง
E-R Model Component • Attribute คือ Entity ที่มีคุณลักษณะที่แตกต่างกันออกไป เช่น • Entity นักเรียน มี Attribute คือ รหัสนักศึกษา ชื่อนักศึกษา เกรดเฉลี่ย รายวิชา วันที่เข้าเรียน ที่อยู่ • Entity เครื่องบิน มี Attribute คือ หมายเลขเครื่อง ชื่อเครื่องบิน วันสุดท้ายของการซ่อมแซม ระยะเวลาการบิน เป็นต้น
E-R Model Component • Attribute ใน E-R Model มีความหมายเดียวกันกับ attribute ใน Relational Database Model โดยสามารถเขียนเป็นสัญลักษณ์อย่างง่าย Table_Name (Key_Attribute , Attribute1 , Attribute2 , …) ตัวอย่างเช่น Student(Student_ID , Name ,Address)
Composit & Simple Attribute • Composit Attribute คือ attribute ที่มีค่าข้อมูลสามารถแบ่งเป็น attribute ย่อย ๆ ได้หากต้องการ เช่น Address แบ่งได้เป็น Street , City , State , Country เป็นต้น หรือ Name อาจแบ่งได้เป็น Title (นาย , นาง , นางสาว) , FirstName , LastName , Middle name • Simple Attribute คือ attribute ที่มีค่าข้อมูลที่ไม่สามารถแบ่งย่อยออกไปได้อีกแล้ว เช่น Age,Sex , Marital Status เป็นต้น
Single & Multi-Value Attribute • Single-value attribute คือ ค่าของข้อมูล attribute ที่มีเพียงค่าเดียว เช่น ชื่อ (มีชื่อเดียวนามสกุลเดียว) , เพศ ,นามสกุล , อาชีพ , เงินเดือน , ฯลฯ • Multi-value attribute คือ ค่าของข้อมูล attribute ที่มีหลายค่าใน attribute ตัวเดียว เช่น ทักษะความสามารถ , วุฒิการศึกษา เป็นต้น
ตัวอย่าง Attribute Derived Attribute Multi-value attribute
Identifier Attribute • Identifier attribute คือ Attribute ที่มีค่าข้อมูลเป็นเอกลักษณ์เฉพาะของแต่ Entity
ปกครอง ผู้ว่าราชการจังหวัด จังหวัด Relationship • Relationship ใน E-R Model แบ่งออกเป็น 3 ประเภท คือ one-to-one , one-to-many และ many-to-many • One-to-One Relationship(1:1) ตัวอย่างเช่น ความสัมพันธ์ระหว่าง Entityผู้ว่าราชการจังหวัด กับ Entity จังหวัด เป็น 1:1 เพราะ • ผู้ว่าราชการจังหวัดแต่ละคนปกครองจังหวัดได้เพียงจังหวัดเดียว • จังหวัดแต่ละจังหวัดปกครองโดยผู้ว่าราชการจังหวัดเพียงคนเดียว
อยู่ใน ประเภทสินค้า สินค้า Relationship • One-to-Many Relationship(1:M) • ตัวอย่างเช่น ความสัมพันธ์ระหว่าง Entityประเภทสินค้า กับ Entity สินค้า เป็น 1:M เพราะประเภทสินค้าแต่ละประเภทมีสินค้าได้หลายชนิดสินค้าแต่ละชนิดจัดอยู่ในประเภทสินค้าเพียงประเภทเดียว
M N ลงทะเบียน นักศึกษา รายวิชา 1 M M 1 ลงทะเบียน นักศึกษา รายวิชา Relationship • Many-to-Many Relationship(M:N) ตัวอย่างเช่น ความสัมพันธ์ระหว่าง Entity นักศึกษา กับ Entity รายวิชา เป็น M:N เพราะ • นักศึกษาแต่ละคนสามารถลงทะเบียนเรียนได้หลายวิชา • วิชาแต่ละวิชามีนักศึกษาลงทะเบียนเรียนได้หลายคน
จดทะเบียน สมรส ควบคุม บุคคล พนักงาน Relationship • Unary Relationship คือ ความสัมพันธ์ที่เกิดขึ้นภายใน Entity เดียวกัน
อยู่ใน วาด ประเภทสินค้า จิตรกร สินค้า ภาพ Relationship • Binary Relationship คือ ความสัมพันธ์ที่เกิดขึ้นระหว่าง 2 Entity
บริจาค ผู้บริจาคเงิน นักวิจัย กองทุน/มูลนิธิ Degree of Relationship • Ternary Relationship คือ ความสัมพันธ์ที่เกิดขึ้นระหว่าง 3 Entity
Degree of Relationship • ตัวอย่างข้อมูลในตาราง Ternary Relationship ตารางผู้บริจาค (Contributor) ตารางกองทุน (Fund)
Degree of Relationship • ตัวอย่างข้อมูลในตาราง Ternary Relationship (ตารางนักวิจัย Recipients) ตารางการบริจาค (CFR)
M N รับผิดชอบ Employee Project Relationship Cardinality • ระดับการมีส่วนร่วมใน Relationship มี 2 ชนิดคือ Optional และ Mandatory • Optional (ไม่จำเป็น) • Optional ไม่บังคับว่าจะต้องมีความสัมพันธ์ของสมาชิกใน Entity เช่น Employee อาจรับผิดชอบ Project มากกว่า 1 Project หรือไม่รับผิดชอบเลยก็ได้ แต่ Project แต่ละตัวต้องมี Employee รับผิดชอบอย่างน้อย 1 คน
Relationship Cardinality • Mandatory (จำเป็น) • Mandatory บังคับว่าจะต้องมีความสัมพันธ์ระหว่างสมาชิกของ Entity Patient 1 คน จะต้องมี Patient History อย่างน้อย 1 ใบ และ Patient History 1 ใบ จะต้องเป็นของ Patient หนึ่งคนเท่านั้น 1 M มี Patient Patient History
Weak Entity • Weak Entity คือ Entity อ่อนแอ ซึ่งหมายถึง สมาชิกของ Entity ประเภทนี้จะสามารถมีคุณสมบัติ Identity ได้ จะต้องอาศัย attribute ใด attribute หนึ่งของ strong Entity มาประกอบกับ attribute ของตัวมันเองเช่น Entity Time_In_Out ซึ่งสมาชิกของ Entity นี้ได้แก่ เวลาเข้าออกงานของพนักงานแต่ละคนในแต่ละวัน ประกอบด้วย Time_In_Out
Weak Entity • Entity Time_In_Out Identity attribute
Associative Entity • Associative Entity คือ Entity ที่เกิดจากความสัมพันธ์ระหว่าง 2 Entity ซึ่งทั้งสอง Entity มีความสัมพันธ์แบบ Many-to-Many