database designkiyang/teaching/gdb/s16/... · 2020. 5. 2. · cell phone: work phone. vulcan: male....

17
Database Design Entity Relationship Model

Upload: others

Post on 26-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

  • Database DesignEntity Relationship Model

  • Main Components of the ER Model Entities 개체

    • Thing about which to collect data→ e.g., STUDENT, TEACHER

    Attributes 속성• Characteristics of entities

    → Attribute Domain ⇒ set of possible values

    Relationships 관계• Association between entities

    Entity Relationship Diagram (ERD) ER model forms the basis of an ER diagram ERD represents the conceptual view 개념뷰 of the database

    Main Components of the ER Model Entities 개체

    • Thing about which to collect data→ e.g., STUDENT, TEACHER

    Attributes 속성• Characteristics of entities

    → Attribute Domain ⇒ set of possible values

    Relationships 관계• Association between entities

    Entity Relationship Diagram (ERD) ER model forms the basis of an ER diagram ERD represents the conceptual view 개념뷰 of the database

    Entity Relationship Model

    STUDENT TEACHER

    ID

    GPA

    Major Name

    email

    Office

    Database Systems Seminar 2

  • E-R Model: Attribute TypesSimple attribute 단순 속성 Composite attribute 복합 속성→ cannot be subdivided → can be subdivided into multiple attributes

    → Replace with multiple simple attributesAge Gender Marital Status Name

    ⇒First Name Middle Name Last Name

    34 Male Single James T. Kirk James Tiberius Kirk

    Single-valued attribute 일가 속성 Multi-valued attribute 다가 속성→ can have only one value → can have many values

    → Avoid if possibleRace Gender Birthdate Phone

    ⇒Home Phone Cell Phone Work Phone

    Vulcan Male 1945-03-22 070-1234-5678 010-1234-5678

    070-1234-5678 010-1234-5678

    SimpleSimple Simple

    CompositeDatabase Systems Seminar 3

    Name First Name

    Middle Name

    Last Name

  • Avoid Multi-valued attributes (MVA)1. Replace with multiple single-valued attributes (SVA).

    • Car_Color Car_TopColor, Car_TrimColor, Car_BodyColor, Car_InteriorColor• could be problematic

    2. Create a new entity composed of original multi-valued attribute’s components• Car_Color CAR_COLOR (Car_Vin, Col_Section, Col_Color)

    Database Systems: Design, Implementation, & Management: Rob & Coronel

    E-R Model: Multi-valued Attributes

    Database Systems Seminar 4

  • E-R Model: Multi-valued Attributes MVA → multiple SVA

    MVA → Entity

    ID Name HomePhone CellPhone WorkPhone

    1234 James Kirk 070-1234-5678 010-1234-5678 053-1234-5678

    2345 Spock 010-2345-6789

    3456 Khan 010-3456-7890

    CellPhone2 CellPhone3

    010-4567-7890 010-5678-7890

    ID Name

    1234 James Kirk

    2345 Spock

    3456 Khan

    ID PhoneType PhoneNumber

    1234 home 070-1234-5678

    1234 cell 010-1234-5678

    1234 work 053-1234-5678

    2345 cell 010-2345-6789

    3456 cell 010-3456-7890

    3456 cell2 010-4567-7890

    3456 cell3 010-5678-7890

    3456 cell4 010-6789-7890

    Database Systems Seminar 5

  • E-R Model: Relationships Relationship 관계

    Association between entities→ Connectivity & Cardinality are established by business rules

    Connectivity 관계유형Type/Classification of Relationships

    → 1:1, 1:M, M:N

    Cardinality 관계차수(min, max) = minimum/maximum number of occurrences of the related entity

    Database Systems: Design, Implementation, & Management: Rob & Coronel

    Database Systems Seminar 6

  • Weak (non-identifying) Relationship PK of related entity does not contain PK component of parent entity

    Strong (identifying) RelationshipPK of related entity contains PK component of parent entity

    ERM: Relationship Strength

    CRS_ID CRS_Name Credit

    DB Database Design 3

    IT Internet Technology 3

    WP Web Programming 3

    Class_ID CRS_ID Room

    DB-s15 DB 421

    IT-s15 IT 403

    DB-s16 DB 421

    IT-s16 IT 403

    CRS_ID CRS_Name Credit

    DB Database Design 3

    IT Internet Technology 3

    WP Web Programming 3

    CRS_ID Section Room

    DB s15 421

    IT s15 403

    DB s16 421

    IT s16 403

    Database Systems Seminar 7

  • Relationship strength is determined by table design (PK),but it can be driven by Business rules A student can decide his/her major after 2 years

    A student must decide his/her major in the beginning

    ERM: Relationship Strength

    Dpt_ID CRS_Name

    LIS Library & Information Science

    CS Computer Science

    HIST History

    Stud_ID Dpt_ID Name

    12345 LIS Kirk

    23456 LIS Spock

    34567 CS Sulu

    45678 Kahn

    Dpt_ID CRS_Name

    LIS Library & Information Science

    CS Computer Science

    HIST History

    Dpt_ID Snum Name

    LIS 15001 Kirk

    LIS 15002 Spock

    CS 15001 Sulu

    LIS 16001 Kahn

    Database Systems Seminar 8

  • Optional Participation 선택관계(Child) Entity is not required to participate in a relationship→Minimum cardinality of the optional entity is 0

    CLASS is optional to Course- i.e., Course does not have to generate a class

    ERM: Relationship Participation

    CRS_ID CRS_Name Credit

    DB Database Design 3

    IT Internet Technology 3

    WP Web Programming 3

    CRS_ID Section Room

    DB s15 421

    IT s15 403

    DB s16 421

    COURSE CLASS

    Database Systems Seminar 9

  • Mandatory Participation 필수관계 Entities must participate in a relationship

    →Minimum cardinality of the mandatory entity is 1

    CLASS is mandatory to Course- i.e., Course has to generate a class

    ERM: Relationship Participation

    CRS_ID CRS_Name Credit

    DB Database Design 3

    IT Internet Technology 3

    WP Web Programming 3

    Class_ID CRS_ID Room

    DBs15 DB 421

    ITs15 IT 403

    DBs16 DB 421

    CRS_ID CRS_Name Credit

    DB Database Design 3

    IT Internet Technology 3

    COURSE CLASS

    Database Systems Seminar 10

  • Participation & Strength do not determine each other Relationship strength is determined by the composition of the related table’s PK Relationship participation is based on business rules

    EMPLOYEE and DEPENDENT Strong & Optional relationship

    An employee has many dependent.→ An employee may not have any dependent→ DEPENDENT is optional to EMPLOYEE

    A dependent belong to one employee.→A dependent must belong to an employee→PK of DEPENDENT must contain PK of EMPLOYEE⇒ Strong relationship

    ERM: Relationship Strength vs. Participation

    EMPLOYEE DEPENDENThas1 M

    (1,1)(0,M)

    Dpd_ID Emp_ID Name

    123s1 123 Kirk

    234s1 234 Spock

    345s2 Sulu

    123s2 123 Kahn

    Dseq Emp_ID Name

    s1 123 Kirk

    s1 234 Spock

    s2 123 Kahn

    s2 Sulu

    DEPENDENT(weak)

    DEPENDENT(strong)

    Database Systems Seminar 11

  • Participation & Strength do not determine each other Relationship strength is determined by the composition of the related table’s PK Relationship participation is based on business rules

    PHD_STUD and CLASS Weak & Mandatory relationship

    A doctoral student can teach many classes.→ A doctoral student must teach a class→ CLASS is mandatory to PHD_STUD

    A class is taught by one doctoral student.→A class can be taught by a professor→PK of CLASS does not contain PK of PHD_STUD⇒Weak relationship

    ERM: Relationship Strength vs. Participation

    PHD_STUD CLASSteaches1 M

    (1,1)(1,M)

    Class_ID CRS_ID st_ID pf_ID Room

    DBs15a DB g123 403

    DBs15b DB kiyang 403

    ITs15a IT kiyang 421

    ITs16a IT g123 403

    CRS_ID Section st_ID pf_ID Room

    DB s15 g123 403

    DB s15 kiyang 403

    IT s15 kiyang 421

    IT S15 g123 403

    CLASS(weak)

    CLASS(strong)

    Database Systems Seminar 12

  • ERM: Relationship Strength vs. Participation

    PHD_STUD CLASSteaches1 M

    (1,1)(1,M)

    Class_ID CRS_ID st_ID pf_ID Room

    DBs15a DB g123 403

    DBs15b DB kiyang 403

    ITs15a IT kiyang 421

    ITs16a IT g123 403

    PHD-CLASS (weak & mandatory)

    Database Systems Seminar 13

    PROF teaches1

    M(0,1)

    (0,M)

    (0,1)

    Class_ID CRS_ID tch_ID Room

    DBs15a DB g123 403

    DBs15b DB kiyang 403

    ITs15a IT kiyang 421

    ITs16a IT g123 403

    PROF-CLASS (weak & optional)

    PHD_STUD and CLASS Weak, Mandatory CLASS & Optional PHD_STUD relationship

    PROF and CLASS Weak & Optional relationship

    A professor can teach many classes.→ A professor does not have to teach a class.⇒ CLASS is optional to PROF

    A class is taught by one professor.→ A class may be taught by a doctoral student.⇒ PROF is optional to CLASS→ PK of CLASS does not contain PK of PROF⇒ Weak relationship

  • ERM: Relationship Degree Relationship Degree indicates

    the number of associated entities.

    Unary RelationshipRelationship exists between occurrences of same entity sete.g., Recursive relationship

    Binary RelationshipTwo entities associatedMost common• higher-order relationships are often

    decomposed into binary relationships

    TernaryThree entities associatede.g., DOCTOR, PATIENT, DRUG

    CRS_ID CRSname Prereq

    DB1 Database Design

    DB2 Web Database DB1

    DB3 Database Projects DB2

    PRS_ID Dr_ID Pat_ID Drug_ID expireDate

    160101-121 Frnknstein55 4567 hrn21pr 16/06/25

    100415-001 Strangelove21 4567 thc16ts 20/04/15

    160101-122 DrWho6 1234 trs10by 16/12/31

    Database Systems Seminar 14

  • ERM: Composite Entities Composite Entity (i.e., Bridge Entity)

    Transforms a M:N relationship into two 1:M relationships

    Contains primary keys of the “bridged” entities• May also contain additional attributes that play no role in connective

    process

    Typically has strong relationships with the “bridged” entities

    STUDENT CLASSenrolls inM N

    (0,M) (10,M)

    A student doesn’t have to enroll in a class A class has to have minimum 10 students

    STUDENT CLASS1 M

    (0,M) (10,M)

    ENROLLM 1

    (1,1)(1,1)

    Class_ID Stud_ID Grade

    DB-s15 1234 A

    IT-s15 1234 A

    DB-s16 2345 B

    IT-s16 3456 C

    Database Systems Seminar 15

  • ERM: Entity Supertype & Subtype Problem

    ⇒ Unshared characteristics of certain entity subtypes (e.g. EMPLOYEE & PILOT)

    Solution• Supertype (parent) & lower-level Subtype (child) entities

    → Subtypes inherit the attributes and relationships of the supertype→ 1:1 relationship

    EMPLOYEE(Supertype)

    PILOT(Subtype)

    is

    1

    1

    EMP_ID Name email Phone

    1234 Kirk [email protected] 010-1111-1111

    2345 Spock [email protected] 010-2222-2222

    3456 Sulu [email protected] 070-1212-3456

    0007 Pike [email protected] 011-0001-0007

    EMP_ID Pilot_License FlightHR

    1234 enpr-sc213g 1923

    0007 enpr-cg123k 355

    Shared attributes

    Unique attributes

    Database Systems Seminar 16

    mailto:[email protected]

  • Subtypes: Overlapping vs. Non-overlappingNon-overlapping (Disjoint)

    Overlapping

    Database Systems: Design, Implementation, & Management: Rob & Coronel

    Database Systems Seminar 17

    Database DesignEntity Relationship ModelE-R Model: Attribute TypesE-R Model: Multi-valued AttributesE-R Model: Multi-valued AttributesE-R Model: RelationshipsERM: Relationship StrengthERM: Relationship StrengthERM: Relationship ParticipationERM: Relationship ParticipationERM: Relationship Strength vs. ParticipationERM: Relationship Strength vs. ParticipationERM: Relationship Strength vs. ParticipationERM: Relationship DegreeERM: Composite EntitiesERM: Entity Supertype & SubtypeSubtypes: Overlapping vs. Non-overlapping