Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

24
Chapter 8 Methodology - Methodology - Conceptual Database Conceptual Database Design Design Chapter 15 in Textbook

Transcript of Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

Page 1: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

Chapter 8

Methodology - Methodology -

Conceptual Database DesignConceptual Database Design

Chapter 15 in Textbook

Page 2: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

2

Design MethodologyDesign Methodology

A structured approach that uses procedures, techniques, tools,

and documentation aids to support and facilitate the process of

design.

Conceptual DB Design

Page 3: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

3

Database DesignDatabase Design

Physical DB design

LogicalDB design

ConceptualDB design

Hardware dependentSoftware dependent

Hardware independentSoftware dependent

Hardware independentSoftware independent

Conceptual DB Design

Page 4: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

4

Success Factors in Database Success Factors in Database DesignDesign

• Work interactively with users as much as possible.

• Follow a structured methodology throughout the data modelling process.

• Employ a data-driven approach.

• Incorporate structural and integrity considerations into the data models.

• Combine conceptualization, normalization, and transaction validation techniques into the data modelling methodology.

• Use diagrams to represent as much of the data models as possible.

• Build a data dictionary to supplement the data model diagrams.

• Be willing to repeat steps.

Conceptual DB Design

Page 5: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

5

Design Methodology OverviewDesign Methodology Overview

Step 1 Build local conceptual data model for each user view.

Step 2 Build and validate local logical data model for each view.

Step 3 Build and validate global logical data model.

Step 4 Translate global logical data model for target DBMS.

Step 5 Design physical representation.

Step 6 Design user views.

Step 7 Design security mechanisms.

Step 8 Consider the introduction of controlled redundancy.

Step 9 Monitor and tune the operational system.

Conceptual DB Design

Page 6: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

6

Methodology Overview – Methodology Overview – Conceptual Database DesignConceptual Database Design

Step 1 Build local conceptual data model for each user view

Step 1.1 Identify entity types.

Step 1.2 Identify relationship types.

Step 1.3 Identify and associate attributes with entity or relationship types.

Step 1.4 Determine attribute domains.

Step 1.5 Determine candidate and primary key attributes.

Step 1.6 Consider use of enhanced modeling concepts (optional step).

Step 1.7 Check model for redundancy.

Step 1.8 Validate local conceptual model against user transactions.

Step 1.9 Review local conceptual data model with user.

Page 7: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

7

Methodology Overview – Methodology Overview – Logical Database Design for Logical Database Design for

Relational ModelRelational Model

Step 2 Build and validate local logical data model for each view

Step 2.1 Derive relations for local logical data model.

Step 2.2 Validate relations using normalization.

Step 2.3 Validate relations against user transactions.

Step 2.4 Define integrity constraints.

Step 2.5 Review local logical data model with user.

Conceptual DB Design

Page 8: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

8

Methodology Overview – Methodology Overview – Logical Database Design for Logical Database Design for

Relational ModelRelational Model

Step 3 Build and validate global logical data model

Step 3.1 Merge local logical data models into global model.

Step 3.2 Validate global logical data model.

Step 3.3 Check for future growth.

Step 3.4 Review global logical data model with users.

Conceptual DB Design

Page 9: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

9

Methodology Overview – Methodology Overview – Physical Database Design for Physical Database Design for

Relational ModelRelational Model Step 4 Translate global logical data model for target DBMS

Step 4.1 Design base relations.

Step 4.2 Design representation of derived data.

Step 4.3 Design enterprise constraints.

Step 5 Design physical representation

Step 5.1 Analyze transactions.

Step 5.2 Choose file organization.

Step 5.3 Choose indexes.

Step 5.4 Estimate disk space requirements.

Page 10: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

10

Methodology Overview – Methodology Overview – Physical Database Design for Physical Database Design for

Relational ModelRelational Model

Step 6 Design user views

Step 7 Design security mechanisms

Step 8 Consider the introduction of controlled redundancy

Step 9 Monitor and tune the operational system

Conceptual DB Design

Page 11: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

11

Step 1Step 1 Build Local Conceptual Build Local Conceptual Data Model for Each ViewData Model for Each View

Objective: To build a local conceptual data model of an enterprise for each

specific view.

Step 1.1 Identify entity types

Objective: To identify the main entity types that are required by the view;

Document entity types in data dictionary.

Conceptual DB Design

Page 12: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

12

Data Dictionary for Staff View Data Dictionary for Staff View ShowingShowing Description of EntitiesDescription of Entities

Entity Name Description Aliases Occurrence

Staff General term describing all staff Employee Each member of staff works at one

employed by DearmHome particular branch

PropertyForRent General term describing all Property Each property has a single owner &

property for rent is available at one specific branch,

where the property is managed by 1

member of staff. A property is viewed

by many clients and rented by a single

client at a time

Conceptual DB Design

Page 13: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

13

Step 1Step 1 Build Local Conceptual Build Local Conceptual Data Model for Each ViewData Model for Each View

Step 1.2 Identify relationship types

Objective: To identify the important relationships that exist between the

entity types that have been identified.

– Check for binary, complex, recursive relationship types.

– Check for explicit, and implicit relationship types.

– Use ER diagrams.

– Determine multiplicity of relationships.

– Check for fan and chasm traps.

– Check that each entity participate in at least one relationship.

– Document relationship type.

Conceptual DB Design

Page 14: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

ERD for Staff View of ERD for Staff View of DreamHomeDreamHome

BUSINESSOWNER

STAFF

PROPERTY

PRIVATEOWNER

LEASE

CLIENT

PREFERENCE

POwn

holdassociate

manage

state

supervise register

BOwn

(1:1)

(1:1)

(1:1)

(1:1)

(1:1)

(0,*) (0,*)

(0,*)

(0,*)

(0,*)

(0,1)

(1,*)

(1,*)

(0,1)

(0,1)

(0,100)

views (0,*)(0,*)

supervisor

supervisee

Page 15: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

15

Data Dictionary for Staff View Data Dictionary for Staff View Showing Description of RelationshipsShowing Description of Relationships

Entity Name Multiplicity Relationship Entity Name Multiplicity

Staff 0..1 Manages PropertyForRent 0..100

0..1 Supervises Staff 0..10

PropertyForRent 1..1 AssociatedWith Lease 0..*

Conceptual DB Design

Page 16: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

16

Step 1Step 1 Build Local Conceptual Build Local Conceptual Data Model for Each ViewData Model for Each View

Step 1.3 Identify and associate attributes with entity or relationship types

Objective: To identify and associate attributes with the appropriate entity or

relationship types and document the details of each attribute.

For entity list what information are we required to hold on?

–Check simple & composite attributes.

–Check single & multi-valued attributes.

–Derived attributes.

–Check for shared attributes.

–Document the attribute.

Conceptual DB Design

Page 17: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

17

Step 1Step 1 Build Local Conceptual Build Local Conceptual Data Model for Each ViewData Model for Each View

Step 1.4 Determine attribute domains

Objective: To determine domains for the attributes in the local conceptual model and document the details of each domain.

–Data type.

–Size.

–Allowable value.

–Default value.

Conceptual DB Design

Page 18: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

18

Data Dictionary for Staff View Data Dictionary for Staff View Showing Description of AttributesShowing Description of Attributes

Entity Attribute Description Data Length Nulls Multi- Default Range PKName Type Valued Value

Staff StaffNo Uniquely identifies a staff member varchar 5 No No Y

name

FName First name of Staff varchar 15 No No

Lname Last name of Staff varchar 15 No No

position Job title of member of staff varchar 10 No No

sex Gender of member of staff character 1 Yes No M F, M

DOB Date of Birth of member of staff Date Yes No 1960-1990

Conceptual DB Design

Page 19: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

19

Step 1Step 1 Build Local Conceptual Build Local Conceptual Data Model for Each ViewData Model for Each View

Step 1.5 Determine candidate and primary key attributes

Objective: To identify the candidate key(s) for each entity and if there is more than

one candidate key, to choose one to be the primary key.

CK must be:

– minimal set of attributes.

– least likely to have its value changed.

– fewest size or smallest maximum number.

– easiest to use from the user’s point of view.

Step 1.6 Consider use of enhanced modeling concepts

Objective: To consider the use of enhanced modeling concepts, such as

specialization / generalization, aggregation, and composition.

Conceptual DB Design

Page 20: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

ERD with PKERD with PK

BUSINESSOWNER

STAFF

PROPERTY

PRIVATEOWNER

LEASE

CLIENT

PREFERENCE

POwn

holdassociate

manage

state

supervise register

BOwn

(1:1)

(1:1)

(1:1)

(1:1)

(1:1)

(0,*) (0,*)

(0,*)

(0,*)

(0,*)

(0,1)

(1,*)

(1,*)

(0,1)

(0,1)

(0,100)

views (0,*)(0,*)

supervisor

supervisee

OwnerNo

OwnerNo

LeaseNo

StaffNo

PropertyNo

ClientNo

CommentVDate

Page 21: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

EERD for Staff View of EERD for Staff View of DreamHomeDreamHome

BUSINESSOWNER

STAFF

PROPERTY

PRIVATEOWNER

LEASE

CLIENT

PREFERENCE

holdassociate

manage

state

register

BOwn

(1:1)

(1:1)

(1:1)

(1:1)

(1:1)

(0,*) (0,*)

(0,*)

(1,1)(1,*)

(0,1)

(0,100)

views (0,*)(0,*)

OwnerNo

LeaseNo

StaffNo

PropertyNo

ClientNo

CommentVDate

OWNER

d

SUPERVISOR

Page 22: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

22

Step 1Step 1 Build Local Conceptual Build Local Conceptual Data Model for Each ViewData Model for Each View

Step 1.7 Check model for redundancy

Objective: To check for the presence of any redundancy in the model.

1. Re-examine 1:1 relationships.

2. Remove redundant relationships.

Step 1.8 Validate local conceptual model against user transactions

Objective: To ensure that the local conceptual model supports the transactions required by the view.

–Describe the transaction.

–Use transaction pathways: diagrammatically represent the pathway taken by each transaction on the ERD.

Conceptual DB Design

Page 23: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

Using transaction’s PathwaysUsing transaction’s Pathways

BUSINESSOWNER

STAFF

PROPERTY

PRIVATEOWNER

LEASE

CLIENT

PREFERENCE

holdassociate

manage

state

register

BOwn

(1:1)

(1:1)

(1:1)

(1:1)

(1:1)

(0,*) (0,*)

(0,*)

(1,1)(1,*)

(0,1)

(0,100)

views (0,*)(0,*)

OwnerNo

LeaseNo

StaffNo

PropertyNo

ClientNo

CommentVDate

OWNER

d

SUPERVISOR(a)

(e)(d)

(h,i)

(j)

(l)

(c,g)

(m)

(k)

(b)

Page 24: Chapter 8 Methodology - Conceptual Database Design Chapter 15 in Textbook.

24

Step 1Step 1 Build Local Conceptual Build Local Conceptual Data Model for Each ViewData Model for Each View

Step1.9 Review local conceptual data model with user

Objective: To review the local conceptual data model with the user to ensure that the model is a ‘true’ representation of the user’s view of the enterprise.

Conceptual DB Design