Database Design (Data Modeling) DCO11310 Database Systems and Design By Rose Chang.

24
Database Design (Data Modeling) DCO11310 Database Systems and Design By Rose Chang
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    223
  • download

    4

Transcript of Database Design (Data Modeling) DCO11310 Database Systems and Design By Rose Chang.

Database Design (Data Modeling)

DCO11310

Database Systems and Design

By Rose Chang

2

System Development Life Cycle

Analysis

Design

Implement

Testing

Production

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 DBMSRelations

4

Data Models

Model ofsystem

in client’smind

Entity model ofclient’s model

Table modelof entity model

Tables on disk

Oracleserver

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 Entity Relationship Modelling

Transformation into Data Structures Transformation into Data Structures

Normalisation of Data Structures Normalisation of Data Structures

Analysis of RequirementsAnalysis 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

ViewsProgram 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 types2. Identify relationship types3. Identify and associate attributes with entity or

relationship types4. Determine attribute domain5. 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

EMPLOYEEEMPLOYEE numbernumber namename job titlejob title

DEPARTMENTDEPARTMENT numbernumber namename locationlocation

have

Child entity Parent 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

EmailEmailStudentStudentStudent-idStudent-nameCourse-code

Account-idusagepassword

have

StudentStudent ProgramProgramStudent-idStudent-nameProgram-code

Program-codeProgram-namehave

Master EntityDetail Entity

21

Many-to-many Relationship

You should resolve it by adding link entity

StudentStudent CourseCourse

MarkMark

Master Entity Master Entity

Link Entity

Student-idStudent-nameProgram-code

Student-idCourse-codemark

Course-codeCourse-name

StudentStudent CourseCourse

Student-idStudent-nameProgram-codeCourse-code

Course-codeCourse-name

take

have

get

belongto

have

for

22

Optional vs. Mandatory Relationship

“A course must be taught by only one lecturer.”

LecturerLecturer CourseCourseteach

“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