02 Database Design ER Model
02 Database Design ER Model
Database Design
The database design process can be divided into six steps. The ER model is most relevant to the first three steps.
1. Requirements Analysis 2. Conceptual Database Design 3. Logical Database Design
The remaining three steps of database design 4. Schema Refinement 5. Physical Database Design 6. Application and Security Design
Cardinality Constraints
Cardinality of relationship
One to one One to many Many to many
Participation Constraints
Participation Constraints
Specialisation
This is the process of maximising the differences between members of an entity by identifying their distinguishing characteristics.
Here we have shown that the manages relationship is only applicable to the Manager subclass, whereas the works_for relationship is applicable to all staff. It is possible to have subclasses of subclasses.
Generalisation
Generalisation is the process of minimising the differences between entities by identifying common features. This is the identification of a generalised superclass from the original subclasses. This is the process of identifying the common attributes and relationships. For instance, taking:
car(regno,colour,make,model,numSeats) motorbike(regno,colour,make,model,hasWindshield)
And forming:
vehicle(regno,colour,make,model,numSeats,hasWindshielf)
Categorisation ? Aggregation ?
General Constraints
The domain in the attribute
Normalization
Schema Refinement
Why do we need decomposition? What is Functional Dependency (FD)? Normal forms
1NF 2NF 3NF Boyce-Codd (BCNF) 4NF 5NF