Upload
ania
View
49
Download
2
Tags:
Embed Size (px)
DESCRIPTION
DATA MODELING AND DATABASE DESIGN Part 3. Objectives. Translate Logical to Physical design Steps for converting (mapping) Resolved ERD to set of Table Instance Charts Table Instance Charts symbols. Some mapping examples. Database Design - from Logical to Physical. - PowerPoint PPT Presentation
Citation preview
DATA MODELING AND DATA MODELING AND DATABASE DESIGNDATABASE DESIGN
Part 3Part 3
Objectives
• Translate Logical to Physical design
• Steps for converting (mapping) Resolved ERD to set of Table Instance Charts
• Table Instance Charts symbols.
• Some mapping examples
Database Design -from Logical to Physical
• Map entities and attributes to tables and columns respectively.
• Naming conventions should be consistent.
• Consider primary, unique and foreign keys
and check constraints as well
• Additional requirements– Design the indexes
– Establish view definitions
– Plan the physical storage space
Steps to convert your Resolved ERD to TIC set
• Map ENTITIES to TABLES
• Map ATTRIBUTES to COLUMNS
• Map * to NOT NULL constraints
• Map UIDs to PRIMARY KEY constraints
• Map (#) Secondary UIDs to NOT NULL and UNIQUE Constraints
• Map RELATIONSHIPS to FKs
Table Instance Chart Symbols
• PK - Primary Key
• FK - Foreign Key
• FK1, FK1 - Composite Foreign Keys
• FK1, FK2 - Two foreign keys related to two separate tables
• NN - Not Null
• U - Unique
• U1, U1 - Two columns unique in combination with each other
• U1, U2 - Two unique (and indepenent) columns
Column nameKey typeNulls/UniqueFK tableFKcolumnDatatypeMax lengthValidate
emp_no
PK,FK
EMPLOYEEemp_no
NUM7
position
NN
CHAR25
salary
NN
NUM11,2
Comm
NUM4,2
Creating a TIC: ExampleCreate a Table Instance Chart (TIC) from the Logical Schema (Resolved ERD)
EMPLOYEE_NEW_FORCE TableEMPLOYEE_NEW_FORCE Table
Columns
Keys
Reference
< 10000 < 1
Steps for creating TIC1: Map Entities to Tables
• Create a frame for each TIC– Table name
– Column names
– Key types
– Not Null and Unique references
– Foreign key information
– Column datatype and maximum length
_ Validation (Check)
– Sample data
• Put the table name at the top of the chart.
Step 2: Map the Attributes to Columns
• Map each attribute from the entity to a column name in the table.
• Mandatory columns get a NN constraint
• Add sample data for each column (usually three rows)
• Do not use SQL reserved words for column names.
Step 3: Map the Unique Identifiers to Primary Keys
• Map the UID of the entity as the primary key in the table.
• Do NOT mark it as NN and U
• If there is an alternate UID, label it as NN and U,but choose only one for a PK.
• Add a FK column for each UID that is through a relationship (over UID bar)
Step 4: Map Relationships to Foreign Keys
• For One-to-Many relationships– Take the PK at the One end and create a
column under same or different name in the other table at the Many end.
– Mark it as a FK.
• For mandatory relationships, be sure to label the NN reference.
Step 4: Map Relationships to Foreign Keys --- continued
• For One-to-One relationships, label the U reference.– If the relationship is optional in both
directions, place the FK in the table at either end of the relationship.
– If the relationship is mandatory, place the unique FK in the table at the mandatory end.
• For mandatory relationships, be sure to label the NN reference.
MAPPING: Example
EMPLOYEE_NEW_FORCE ACTIVITY
EMPLOYEE_ACTIVITY
* per_diem_rate
# emp_no* positiono job_description* salaryo commission
# activity_id* descriptiono start_dateo end_date* internal
requires
for
performs
performedby
Entities to tablesEMPLOYEE_NEW_FORCE ACTIVITY
EMPLOYEE_ACTIVITY
Attributes to ColumnsColumn Name id description start_date end_date internal
KeyType Nulls/Uniques
FK RefTableFK ColumnDatatypeMAX LengthValidation
ACTIVITY
UID to PK and * to NOT NULL
KeyType Nulls/Uniques
FK RefTableFK ColumnDatatypeMAX LengthValidation
ACTIVITY
PK
NN NN
Column Name id description start_date end_date internal
If Entity on Many side, then add FK Column
KeyType Nulls/Uniques
FK RefTableFK ColumnDatatypeMAX LengthValidation
ACTIVITY
PK
NN NN
Column Name id description start_date end_date internal
NN
We do NOT have here a FK Column !
Validation (Check) on Columns with Limits
KeyType Nulls/Uniques
FK RefTableFK ColumnDatatypeMAX LengthValidation
ACTIVITY
PK
NN NN
Column Name id description start_date end_date internal
>= sysdate {Y,N}
NN
LINK - INTERSECTION ENTITIES
EMPLOYEE_ACTIVITY
forfor
PK and NN
Column Name emp_no activity_id per_diem_rate
KeyType PK PK
Nulls/Uniques NN
FK RefTable
FK refColumn DatatypeMAXLength
EMPLOYEE_ACTIVITY
Foreign KeysColumn Name emp_no activity_id per_diem_rateKeyType PK, FK1 PK, FK2
Nulls/Uniques NN
FK Ref . EMPLOYEE_ ACTIVITY table NEW_FORCE
FK refColumn emp_no activity_id Datatype Number Number NumberMAXLength 6 6 7,2
EMPLOYEE_ACTIVITY
Foreign Key Mapping Rules
• Map the Relationship to a foreign key.
• One to One optional in both directions - take the PK from either table and make it a FK in the other table.
• One to One mandatory in one direction, take the PK from the optional end and make it a FK in the entity at the mandatory end.
• One to Many - Take the PK at the one end and make it a FK in the entity at the many end.
• Do not forget to label mandatory relations with NN