Entity-Relationship Model
Contents Entity-Relationship Model (E-R Model) Entities Relationships Degree of Relationship Weak Entity Multivalued Attribute Repeating Group Supertypes and Subtypes Business Rules
Entity-Relationship Model (E-R Model) Entities และ Relationship เป็นสิ่งที่ปรากฏอยู่จริง ใช้ในขั้นตอนการออกแบบระบบฐานข้อมูล สามารถใช้อธิบายขอบเขตของระบบฐานข้อมูลได้ง่าย ใช้สำหรับสร้าง Conceptual Data Model ไม่ขึ้นกับรูปแบบฐานข้อมูลใด ๆ คิดค้นโดย Chen ในปีค.ศ. 1976 และมีการพัฒนาต่อโดยหลายกลุ่มทำให้ไม่มีรูปแบบแน่นอน ใช้สัญลักษณแทนความหมายของฐานข้อมูล เรียกว่า Entity-Relationship Diagram (E-R Diagram)
Entities Entity Type Person: EMPLOYEE, STUDENT, PATIENT Place: PROVIENCE, COUNTRY Object: MACHINE, BUILDING, AUTOMOBILE Event: SALE, REGISTRATION, ORDER Concept: ACCOUNT, COURSE, INVENTORY
Attribute STUDENT: STUDENT NO, NAME, ADDRESS, PHONE NO AUTOMOBILE: VEHICLE ID, COLOR, WEIGHT, HORSEPOWER EMPLOYEE: EMPLOYEE NO, NAME, ADDRESS, SKILL
Entity Instance Entity Type: EMPLOYEE Attribute: EMPLOYEE NUMBER NAME ADDRESS CITY STATE ZIP YEAR HIRED BIRTHDATE
Instances of EMPLOYEE 642-17-8360 534-10-1971 642-17-8360 534-10-1971 Michelle Brady David Johnson 100 Pacific Ave. 450 Redwood Dr. San Francisco Redwood City CA CA 98173 97142 1989 1986 6-19-64 9-4-60
Primary Key Multivalued Attribute
Relationships Relationship
Attribute of relationship EMPLOYEE NO COURSE DATE COMPLETE 549 Basic Algebra March 1994 629 Software Quality June 1994 816 Software Quality February 1994 549 C Programming May 1994
Degree of Relationship Unary relationship
Binary relationship
Weak Entity
Multivalued Attribute
Repeating Group Patient Chart No : 012345 Name : Somchai Address : 123 hatyai songkhla Date Doctor Sympton 01-01-99 Ryan Fever 09-03-99 Nelson Sore throat 05-05-99 Ryan Cold
Supertypes and Subtypes
Business Rules ตัวอย่าง Entity Integrity - PK Referential integrity - FK Domains - ค่าที่เป็นไปได้ของ attribute Triggering Operations - วิธีป้องกันค่าของ attribute ให้มีความถูกต้อง ตัวอย่าง
Domains Name : Acct No Meaning : Customer Account Data type : Character Format : 999-9999 Uniqueness : Unique Null Support : Non-Null Name : Amount Meaning : Bath amount of transaction Data type : Numeric Format : 2 decimal place Range : 0-10,000 Uniqueness : Non-Unique
ส่วนประกอบของ Domain 1. Data type 2. Length 3. Format 4. Range 5. Allowable value 6. Meaning 7. Uniqueness 8. Null support
... Triggering Operations User rule : Withdraw amount may not exceed Account balance Event : Insert Entity Name : WITHDRAW Condition : Withdraw amount > Account balance Action : Reject the insert transaction
ตัวอย่าง ข้อมูลของบริษัทประกอบด้วย ข้อกำหนด พนักงาน (รหัส, ชื่อ, วันที่เริ่มทำงาน, เงินเดือน, ตำแหน่ง) แผนก (รหัส, ชื่อ, ที่ตั้ง) โครงงาน (รหัส, รายละเอียด, วันที่เริ่ม, วันที่สิ้นสุด, งบประมาณ) ครอบครัวพนักงาน (ชื่อ, ความเกี่ยวข้อง, วันเกิด) ข้อกำหนด พนักงานหนึ่งคน สังกัดอยู่หนึ่งแผนก แต่ละแผนกมีผู้จัดการ 1 คน แต่ละโครงงานมีพนักงานรับผิดชอบหลายคน พนักงานแต่ละคนรับผิดชอบหลายโครงงาน พนักงานแต่ละคน มีสมาชิกในครอบครัวหลายคน