methodology conceptual databases design roll no. 99 & 111

36
Chapter 15 Methodology - Conceptual Databases Design Presented By: Manoj Nolkha 99 Swarna Murthy 111 Database Management Systems

Upload: manoj-nolkha

Post on 19-May-2015

1.442 views

Category:

Education


2 download

DESCRIPTION

Data Base Design

TRANSCRIPT

Page 1: Methodology conceptual databases design roll no. 99 & 111

Chapter 15

Methodology - Conceptual Databases Design

Presented By:Manoj Nolkha

99Swarna

Murthy 111

Database Management Systems

Page 2: Methodology conceptual databases design roll no. 99 & 111

2

Contents

• Objectives of a Good Design

• Objectives of Database Design

• Database Design Methodology

• Phases of Database Design

• Critical Success factors in Database Design

• Methodology Overview

• Building Conceptual Data

Page 3: Methodology conceptual databases design roll no. 99 & 111

3

Objectives of a Good Design

• Information requirements must be determined during the design process, and the database must store the data necessary to support those requirements and requests.

• Database describes only one subject, has relatively distinct fields, contains an absolute minimum amount of redundant data, and is identified by a field with unique values.

• Ensure that the data provides valid and accurate information that is always meaningful to the business.

• Ensure that the database structure will be easy to modify or expand as the information requirements of the business change and grow.

Page 4: Methodology conceptual databases design roll no. 99 & 111

4

Objectives of Database Design

• How to decompose the scope of the design into specific views of the enterprise

• How to use Entity–Relationship (ER) modeling to build a conceptual data model based on the data requirements of an enterprise

• How to validate the resultant conceptual model to ensure it is a true and accurate representation of the data requirements enterprise

• How to document the process of conceptual database design

• End-users play an integral role throughout the process of conceptual database design

Page 5: Methodology conceptual databases design roll no. 99 & 111

5

Design Methodology

• A structured approach that uses procedures, techniques, tools, and documentation aids to support and facilitate the process of design.

• Three main phases– Conceptual database design– Logical database design– Physical database design

Page 6: Methodology conceptual databases design roll no. 99 & 111

6

Phases of Database Design

• Conceptual:Process of constructing a model of the data used in an enterprise, independent of all physical considerations

• Logical:Process of constructing a model of the data used in an enterprise based on a specific data model (e.g. relational), but independent of a particular DBMS and other physical considerations

Page 7: Methodology conceptual databases design roll no. 99 & 111

7

Phases of Database Design

• Physical:– The process of producing a description of the

implementation of the database on secondary storage

– It describes the • base relations• file organizations, and • indexes design used to achieve efficient access to the data, and

any associatedintegrity constraints and security measures

Page 8: Methodology conceptual databases design roll no. 99 & 111

8

Critical Success Factors in Database Design

• Work interactively with the users as much as possible

• Follow a structured methodology throughout the data

modeling 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 modeling

methodology

Page 9: Methodology conceptual databases design roll no. 99 & 111

9

Critical Success Factors in Database Design

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

• Use a Database Design Language (DBDL) to represent additional data semantics

• Build a data dictionary to supplement the data model diagrams

• Be willing to repeat steps

Page 10: Methodology conceptual databases design roll no. 99 & 111

10

Methodology Overview -Conceptual Database Design

Page 11: Methodology conceptual databases design roll no. 99 & 111

11

Overview Database Design Methodology

Conceptual database design

• Step 1 Build conceptual data model

– 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, primary, and alternate key

attributes

Page 12: Methodology conceptual databases design roll no. 99 & 111

12

Overview Database Design Methodology

• Step 1 Build conceptual data model (continue)

– Step 1.6 Consider use of enhanced modeling

concepts (optional step)

– Step 1.7 Check model for redundancy

– Step 1.8 Validate conceptual model against user

transactions

– Step 1.9 Review conceptual data model with user

Page 13: Methodology conceptual databases design roll no. 99 & 111

13

Methodology Overview -Logical Database Design

Page 14: Methodology conceptual databases design roll no. 99 & 111

14

Overview Database Design Methodology

Logical database design for the relational model

• Step 2 Build and validate logical data model

– Step 2.1 Derive relations for logical data model

– Step 2.2 Validate relations using normalization

– Step 2.3 Validate relations against user transactions

– Step 2.4 Define integrity constraints

Page 15: Methodology conceptual databases design roll no. 99 & 111

15

Overview Database Design Methodology

• Step 2 Build and validate logical data model (continue)

– Step 2.5 Review logical data model with user

– Step 2.6 Merge logical data models into global model

(optional step)

– Step 2.7 Check for future growth

Page 16: Methodology conceptual databases design roll no. 99 & 111

16

Methodology Overview -Physical Database Design

Page 17: Methodology conceptual databases design roll no. 99 & 111

17

Overview Database Design Methodology

Physical database design for relational database

• Step 3 Translate logical data model for target DBMS

– Step 3.1 Design base relations

– Step 3.2 Design representation of derived data

– Step 3.3 Design general constraints

Page 18: Methodology conceptual databases design roll no. 99 & 111

18

Overview Database Design Methodology

• Step 4 Design file organizations and indexes

– Step 4.1 Analyze transactions

– Step 4.2 Choose file organization

– Step 4.3 Choose indexes

– Step 4.4 Estimate disk space requirements

Page 19: Methodology conceptual databases design roll no. 99 & 111

19

Overview Database Design Methodology

• Step 5 Design user views

• Step 6 Design security mechanisms

• Step 7 Consider the introduction of controlled

redundancy

• Step 8 Monitor and tune the operational

system

Page 20: Methodology conceptual databases design roll no. 99 & 111

20

Building Conceptual Data

Page 21: Methodology conceptual databases design roll no. 99 & 111

21

Step 1 Build Conceptual Data

• To build a conceptual data model of an enterprise for each specific view.– Model comprises entity types, relationship

types, attributes and attribute domains, primary and alternate keys, and integrity constraints.

Step 1.1 Identify entity types– To identify the required entity types.

Staff, Businessowner, Property for Rent, Supervisor, Branch, Client, PrivateOwner, Lease, Preference

Page 22: Methodology conceptual databases design roll no. 99 & 111

22

Step 1 Build Conceptual Data

Step 1.2 Identify relationship types– To identify the important relationships that exist

between the entity types.

Page 23: Methodology conceptual databases design roll no. 99 & 111

23

Step 1 Build Conceptual Data

Step 1.3 Identify and associate attributes with entity or relationship types– To associate attributes with the appropriate entity

or relationship types and document the details of each attribute

Entity Type Attribute

Branch Branch_No, Address(Street,Area,City,Postcode), Tel_No, Fax_No

Staff Staff_No, Name(Fname and Lname), Address, Tel_No, Sex, DOB, Job_Title

Supervisor (Same attribute as the Staff entity)

Property_for_Rent Property_No, Address(Street, Area, City, Postcode), Type, Rooms, Rent

Page 24: Methodology conceptual databases design roll no. 99 & 111

24

Step 1 Build Conceptual Data

Step 1.4 Determine attribute domains– To determine domains for the attributes in the data

model and document the details of each domain

(e.g. Domain of Branch_No attribute of Branch entity includes a three-character string, with values ranging from B1 to B99)

Page 25: Methodology conceptual databases design roll no. 99 & 111

25

Step 1 Build Conceptual Data

Step 1.5 Determine candidate, primary, and alternate key attributes

– 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 and the others as alternate keysEntity Primary

KeyAlternate

Key

Branch Branch_No Tel_No

Fax_No

Staff Staff_No

Supervisor Staff_No

Property_for_Rent

Property_No

Business_Owner

Owner_No

Page 26: Methodology conceptual databases design roll no. 99 & 111

26

Step 1 Build Conceptual Data

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

– To consider the use of enhanced modeling

concepts, such as specialization / generalization, aggregation, and composition

Page 27: Methodology conceptual databases design roll no. 99 & 111

27

Step 1 Build Conceptual Data Model

• Step 1.7 Check model for redundancy – To check for the presence of any redundancy in the

model and to remove any that does exist

• Step 1.8 Validate conceptual model against user transactions – To ensure that the conceptual model supports the

required transactions required by the view

• Step1.9 Review conceptual data model with user– To review the conceptual data model with the user

to ensure that the model is a ‘true’ representation of the data requirements of the enterprise

Page 28: Methodology conceptual databases design roll no. 99 & 111

28

Extract from data dictionary for Staff user views of DreamHome showing description of

entities

Entity Description Aliases Occurrence

Staff General term describing all staff employed by DreamHome

Employee

Each member of staff works at one particular branch

PropertyForRent

General term describing all property for rent

Property

Each property has a single owner and is available at one specific branch, where the property is managed by one member of staff. A property is viewed by many clients and rented by a single client, at any one time.

Page 29: Methodology conceptual databases design roll no. 99 & 111

29

First-cut ER diagram for Staff user views of DreamHome

Page 30: Methodology conceptual databases design roll no. 99 & 111

30

Extract from data dictionary for Staff user views of DreamHome showing description of

relationships

Page 31: Methodology conceptual databases design roll no. 99 & 111

31

Extract from data dictionary for Staff user views of DreamHome showing description of

attributes

Page 32: Methodology conceptual databases design roll no. 99 & 111

32

ER diagram for Staff user views of DreamHome with primary keys added

Page 33: Methodology conceptual databases design roll no. 99 & 111

33

Revised ER diagram for Staff user views of DreamHome with specialization /

generalization

Page 34: Methodology conceptual databases design roll no. 99 & 111

34

Example of removing a redundant relationship called Rents

Page 35: Methodology conceptual databases design roll no. 99 & 111

35

Example of a non-redundant relationship FatherOf

Page 36: Methodology conceptual databases design roll no. 99 & 111

36

Using pathways to check that the conceptual model supports the user transactions