Logical Database Design Flashcards
(15 cards)
1) conceptual database design (CDD)
- process of constructing a model of the data used in an enterprise
- independent of all physical considerations
2) logical database design (LDD)
- process of constructing a model of the data used in an enterprise based on a specific data model
- independent of a particular DBMS and other physical considerations
3) physical database design (PDD)
- process of producing a description of the implementation of the database on secondary storage
- describes the base relations; file organizations, indexes used to achieve efficient access to the data, any associated integrity constraints and security measures
DATABASE DESIGN METHODOLOGY
step 1: CDD (ER model, data dictionary)
step 2: LDD (relational schema)
step 3: PDD (base relations, indexes, user views, security mechanisms, de-normalized relations)
checking the model for redundancy (CDD)
- to check for the presence of any redundancy in the model
validate conceptual data model against user transactions (CDD)
- to ensure that the conceptual data model supports the required transactions
> all required attributes are present in the data model
> there is an identifiable relationship, either direct or indirect, between the 2 entities (where attributes have to be taken from than one entity, that there is a pathway between the 2 entities)
derive relations for logical data model (LDD)
- examine the structures present in the data model
1) strong entity
2) weak entity
3) 1..* binary relationship
4) 1..1 binary relationship
5) .. binary relationship
6) superclass/subclass relationship
7) multi-valued attributes
strong entity types
- create a relation that includes all simple attributes of that entity
- for composite attributes include only constituent simple attributes
weak entity types
- create a relation that includes all simple attributes of that entity
- primary key is partially or fully derived from each owner entity
1..* binary relationship types
- entity on ‘one side’ is designated the parent entity and entity on ‘many side’ is the child entity
- post copy of the primary key attribute(s) of parent entity into relation representing child entity (as a foreign key)
1..1 binary relationship types
- cardinality cannot be used to identify parent and child entities in a relationship
- participation used to decide whether to combine entities into one relation or to create two relations
a) mandatory participation on both sides of the 1..1 relationship
b) mandatory participation on one side of the 1..1 relationship
c) optional participation on both sides of the 1..1 relationship
a) mandatory participation on both sides of the 1..1 relationship
- combine entities involved into one relation (1..1 entity and 1..1 entity)
- choose one of the primary keys of original entities to be PK of new relation, while other (if it exists) is used as alt key
b) mandatory participation on one side of the 1..1 relationship
1..1 entity (mandatory)
0..1 (optional) (FK is PK of 1..1 entity)
c) optional participation on both sides of the 1..1 relationship
- choice of parent entity is arbitrary/random
- both entities have optional participation towards each other (either can be parent or inherit the PK of the other)