Database Design (Data Modeling) DCO11310 Database Systems and Design By Rose Chang
2 System Development Life Cycle Analysis Design Implement TestingProduction
3 Data Modeling A particular way of representing data Analysis of what information the database must hold Relationships among components of that information Ideas ODL, UML, etc. ER Object-Oriented DBMS Relational DBMS Relations
4 Data Models Model of system in client’s mind Entity model of client’s model Table model of entity model Tables on disk Oracle server
5 Why Use Data Modelling ? Programming relies very much on data model Provides a method to reconcile the very different end-user views of the nature and role of data Helps us to understand the complexity of a real world data environment Yields a proper “blueprint” of the database design
6 Steps in Data Modelling Entity Relationship Modelling Transformation into Data Structures Normalisation of Data Structures Analysis of Requirements
7 Requirement Analysis Must incorporate all necessary information from different major users Identify data requirements Description of data used or generated Details of how data is to be used and generated Describe information to be recorded Combine into a single global view Analyse the types of transactions to be performed
8 ER Modelling of Requirements Construct an ER model to describe the data objects and their interrelationships Identify key attributes Decide on the functionality of relationships (mandatory or optional) Construct a schematic ER model which gives a global view of the entire database
9 Transformation of the ER Model to a Schema Map the ER model onto a set of data structure, or schema Schema : the description of the organization of a database seen by the DBA
10 Normalisation of the Schema Reduce each relation to the highest stage of normalisation BUT designer may wish to refine the resultant schema in order to improve processing efficiency
11 Logical vs. Physical DB Design (II) Physical DB Design Logical DB Design Views Program Data Selected and derived tables and columns Tables and columns How the data is stored in the computer
12 Components of Database Design The four representations or abstractions will progressively get more details of the system : Data requirements (Textual Information) Conceptual data model (E-R Model) Logical schema (Normalized Entity) Physical Storage schema (Create Table Statements)
13 Conceptual Data Model (I) 1.Identify entity types 2.Identify relationship types 3.Identify and associate attributes with entity or relationship types 4.Determine attribute domain 5.Determine candidate, primary and alternate ket attributes
14 Conceptual Data Model (II) 6.Validate conceptual model against user transactions 7.Review conceptual data model with user
15 Entity-attribute-relationship Models (EAR) Used to produce conceptual data model Consists of : A formal description of each entity in terms of its attributes Descriptions of the meanings of relationships Descriptions of any constraints The ER diagram
16
17 Entity Relationship Model There are many notations for ERD such as UML, Chen, Crow’s feet Create an entity relationship diagram from business specifications or narratives A department have many employee EMPLOYEE number number name name job title job title DEPARTMENT number number name name location location have Child entityParent entity
18
19 Entities Relationship Define associations among entities All relationships are bi-directional Degrees of relationships One-to-one relationship (1:1) One-to-many relationship (1:M) Many-many relationship (M:N)
20 Degrees of Relationships One-to-many Relationship One-to-one Relationship Student Student-id Student-name Course-code Account-id usage password have Student Program Student-id Student-name Program-code Program-name have Master EntityDetail Entity
21 Many-to-many Relationship You should resolve it by adding link entity Student Course Mark Master Entity Link Entity Student-id Student-name Program-code Student-id Course-code mark Course-code Course-name Student Course Student-id Student-name Program-code Course-code Course-name take have get belong to have for
22 Optional vs. Mandatory Relationship “A course must be taught by only one lecturer.” Lecturer Course teach “A lecture may teach one or many courses.”
23 Draw an ERD Each company operates four departments, and each department belongs to one company. Each department employs one or more employees, and each employee works for one department. Each of the employee may or may not have one or more dependants, and each dependant belongs to one employee. Each employee may or may not have an employment history
24 Q & A