Logical Database Design and Entity-Relationship Mapping “To Err is Human; to Forgive, Divine.” ~ Alexander Pope ~
Feb 05, 2016
Logical Database Design andEntity-Relationship Mapping
“To Err is Human; to Forgive, Divine.”~ Alexander Pope ~
What exactly is a Logical Model?
• A Blueprint of your database.• It is DBMS independent, and does not rely on
an specific product.• It is a technical communications tool.• Concepts from relational theory are re-
introduced (PK, FK, Table, Column, data type)• Any person knowledgeable in SQL should be
able to read a logical model and create a real database implementation from it.
Concept Map: Conceptual vs. Logical
CONCEPTUAL LOGICAL
ERD Relational Diagram
Entity Relation (Table)
Attribute Column
Relationship Foreign Key (FK)
N/A PK, Constraints
Important: Rows (sample data) MUST be considered in the Logical Model !!!
Relational Notation is Simple
• Table or relation is a box. Name of relation is at the top.
• Columns / Attributes are placed below the relation name in the box.
• Primary Key columns are Underlined and labeled with PK
• Foreign Key columns are labeled with FK
• A PK/FK Relationship between tables are established with an arrow (), which always POINTS TO THE PRIMARY KEY of the relationship.
SUID PKLnameFnameHtWt
Students
CardNo PKSUID FKCardTypeExpDate
CreditCards
Mapping
Mapping is the process of transforming a conceptual model
into a logical model.
Basic Attribute Mapping• Table name is plural• Use Naming
conventions• Assign data types• PK for each table• Break down composite
into simple• Set required to not null• Set Unique and check
constraints
Conceptual
Logical
Mapping 1-M Relationships• FK goes on the
many side• If required on
the one side (aka Weak Entity), then set the FK to not allow null
Conceptual
Logical
Mapping Multi-Valued Attributes
• Similar to 1-M:Place [m] attributes in new table. PK from original table is FK in the new table.C
onceptual
Logical
Mapping Multi-Valued Attributes
• Similar to 1-M:Place [m] attributes in new table. PK from original table is FK in the new table.C
onceptual
Logical
Mapping 1-1 Relationships• Similar to 1-M:
Since the FK goes to the optional side of the relationship, but the FK is set to PK.C
onceptual
Logical
Mapping M-M Relationships
• Make a “bridge table” place FKs in bridge table and set as composite PK
Conceptual
Logical
Mapping Weak Entities
• Make sure the foreign key does not allow null
Conceptual
Logical
Advanced Mapping
Edge cases which are variations on the same themes. Examples provided
for reference.
Ex: Mapping a Unary 1-M RelationshipConceptual
Logical
EmpIDENamePhoneHireDate
Employee
The FK inside the table forms the recursive relationship
Manages
EmpID PKENamePhoneHireDateManagerEmpID FK
Employee
Ex: Mapping a Unary N-M RelationshipConceptual
Logical
ItemNo PKItmNameUnitCost
Item
Bridge Table with both FK’s relating back to the same table PK
ContainsItemNoItmNameUnitCost
Item
ItemNo PK FKComponentItemNo PK FKQty
Component
Ex: Mapping Sub/Super Type
Conceptual Logical
EmpNoENameHireDate
Employee
Discriminator
HourlyRate
EmpHourly
AnnualRateStockOptns
EmpSalary
EmpNo PKENameHireDateEmpType
Employee
EmpNo PK FKHourlyRate
EmpHourly
EmpNo PK FKAnnualRateStockOptns
EmpSalary
Logical Database Design andEntity-Relationship Mapping
Questions?