37
1 CSBP430 – Database Systems Chapter 16: Practical Database Design and Tuning Elarbi Badidi College of Information Technology United Arab Emirates University [email protected]

CSBP430 – Database Systems Chapter 16: Practical Database Design and Tuning

  • Upload
    sailor

  • View
    51

  • Download
    0

Embed Size (px)

DESCRIPTION

CSBP430 – Database Systems Chapter 16: Practical Database Design and Tuning. Elarbi Badidi College of Information Technology United Arab Emirates University [email protected]. The Information System. Database Carefully designed and constructed repository of facts - PowerPoint PPT Presentation

Citation preview

Page 1: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

1

CSBP430 – Database Systems

Chapter 16: Practical Database Design and Tuning

Elarbi BadidiCollege of Information TechnologyUnited Arab Emirates [email protected]

Page 2: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

2

The Information System

Database Carefully designed and constructed repository of facts Part of an information system

Information SystemProvides data collection, storage, and retrievalFacilitates data transformationComponents include:

– People– Hardware– Software

– Database(s)– Application programs– Procedures

Page 3: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

3

Information System Life CycleSystem Development Life Cycle (Macro Life Cycle)

Feasibility analysis: This phase is concerned with analyzing potential application areas, identifying the economics of information gathering and dissemination, performing preliminary cost-benefit studies, and determining the complexity of data and processes. Requirements collection and analysis: Detailed requirements are collected by interacting with potential users and user groups to identify their particular problems and needs. Design: This phase has two aspects: the design of the database system, and the design of the application systems (programs) that use and process the database. Implementation: The information system is implemented, the database is loaded, and the database transactions are implemented and tested. Validation and acceptance testing: The system is tested against performance criteria and behavior specifications. Deployment, operation and maintenance: The operational phase starts when all system functions are operational and have been validated. Monitoring of system performance and system maintenance are important activities during the operational phase.

Page 4: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

4

Database Lifecycle (DBLC) Micro Life Cycle

Page 5: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

5

Overview of the Methodology

AnalysisSpecificationDesignImplementation

1

2

3

4

InformationFlow

Diagram1

2b 3b 4b

2a 3a 4a

Tasks

ERDiagram

RelationalSchema

AbstractCode

w/SQL

RelationalPlatform

3GL Codew/SQL

Page 6: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

6

Phase 1: Database Initial Study

(Requirements Collection and Analysis)

Page 7: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

7

Phase 1: Database Initial Study

Purposes

Analyze company situation• Operating environment• Organizational structure

Define problems and constraintsAnalyze and study existing documentation concerning the application (forms, reports, policy manual).Analyze the expectations of the usersDetermine system requirementsDefine objectivesDefine scope and boundariesAnalyze flow of information

Page 8: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

8

Phase 1: Database Initial Study

Analysis

Input:descriptions of documents and tasks; scenarios; usage statistics; plans for the future system; relevant laws, constraints, and policies

Output:Information Flow Diagram (IFD) modeling, external documents, internal documents, tasks, and system boundary.

Techniques:interviews with people at all levels of the enterpriseanalysis of documents, scenarios, tasksreviews of short and long-term plans, manuals, files, and formsabstraction

Tools:Information Flow Diagrams

Page 9: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

9

Information Flow Diagram

D1

T1

T2T3

Database

D2

D6

D3

D5

D4

T4

documentname

taskname information

flowsystem boundary

Page 10: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

10

Example: Information Flow Diagram

ProcessCheck-in

Check-In Reservation/CancellationTicket

Assign Planes

BoardingPass

Create Flight Inst

FlightSchedule

Airplanes

Airports

Inquiry

MakeReservation/Cancellation

AnswerInquiry

EnterAirports

CreateFlight Inst

Enter FlightSchedule

AssignPlanes

EnterPlanes

DB

Passengerlist

Page 11: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

11

Phase 2: Database Design

Page 12: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

12

Phase 2: Database Design

Database Design

Most Critical DBLC phaseMakes sure final product meets requirementsFocus on data requirementsSubphases

Create conceptual database designCreate logical database design (Data Model Mapping)Create physical database designDBMS software selection

Page 13: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

13

Phase 2: Database Design

Database Design (Con’t.)

Purpose:create detailed design of normalized relational database schemacreate detailed design of tasks using abstract code with embedded SQLidentify need for views

Input:Analysis Report, IFD.

Output:relational schema w/primary and foreign keys, constraint definitions in SQL, abstract code w/SQL, view definitions

Techniques:database normalization; abstract coding

Tools:mapping: ER-Model Relational Modelabstract code; SQL; views

Page 14: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

14

Database Design (Con’t.)

Page 15: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

15

Phase 2: Database Design

I. Conceptual Database Design

Conceptual schema design:Data modeling creates abstract data structure to represent real-world itemsHigh level of abstractionThree steps• Data analysis and requirements• Entity relationship modeling and normalization• Data model verification

transaction design: Design the database transaction• Retrieval transaction, update transaction, mixed

transaction

Page 16: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

16

Phase 2: Database Design

Data analysis and Requirements

Focus on:Information needsInformation usersInformation sourcesInformation constitution

Data sourcesDeveloping and gathering end-user data viewsDirect observation of current systemInterfacing with systems design group

Business rules

I. Conceptual Database Design

Page 17: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

17

Phase 2: Database Design

Entity Relationship Modeling and Normalization

I. Conceptual Database Design

Page 18: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

18

Phase 2: Database Design

Example ER-Diagram

City Airport

Name

State

AirportCode

AirportsAirport Code Name City State

- - - - - - - -

I. Conceptual Database Design

Page 19: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

19

City Airport

Name

State

AirportCode From

To

Flt Schedule

Flt Instance

Atime

Date

DtimeAirline

Price

Miles

Flt#

Assigned

Customer

Airplane

Plane# PlaneType

Weekday

InstanceOf

Total#Seats

Reser-Vation

#AvailSeats

CustomerAddress

Street

State

City

Zip

CustomerName

Middle

First

Last Cust#Phone#

Check-InStatus

Seat#

1

1

1

1

n

n

n

n

n

n

Example ER-Diagram

Ticket#

Page 20: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

20

E-R Modeling is Iterative

Page 21: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

21

Phase 2: Database Design

DB Design Strategy Notes

Top-down (Fig 16.2 page 540)1) Identify data sets2) Define data elements

Bottom-up (Fig 16.3 page 541)1) Identify data elements2) Group them into data sets

I. Conceptual Database Design

Page 22: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

22

Phase 2: Database Design

Top-Down vs. Bottom-Up

I. Conceptual Database Design

Page 23: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

23

Phase 2: Database Design

II. DBMS Software Selection

DBMS software selection is critical Advantages and disadvantages need studyFactors affecting purchasing decision

Cost (software, maintenance, hardware, training, etc)DBMS features and toolsUnderlying modelPortabilityDBMS hardware requirements

Page 24: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

24

Phase 2: Database Design

III. Logical Design (Data Model Mapping)

Translates conceptual design into internal model Maps objects in model to specific DBMS constructsDesign components

TablesIndexes ViewsTransactionsAccess authoritiesOthers

Page 25: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

25

Phase 2: Database Design

IV. Physical Design

Choose specific storage structure and access paths

Very technicalMore important in older hierarchical and network modelsIndexing, clustering of related records on disk, linking related records via pointers.

Designers favor software that hides physical details

Page 26: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

26

Phase 3: Implementation and Loading

Page 27: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

27

Phase3: Implementation and Loading

Implementation and Loading

Creation of special storage-related constructs to house end-user tablesData loaded into tablesOther issues

PerformanceSecurityBackup and recoveryIntegrityCompany standardsConcurrency controls

Page 28: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

28

Phase3: Implementation and Loading

Implementation

Input:relational schema w/primary and foreign keys, data representation, constraints in SQL, abstract code w/SQL, task decompositions, view definitions

Output:conceptual schema, internal schema, host-language code w/embedded SQL

Tools:SQL, host-languagerelational database management system, pre-compilerhost-language compiler

Page 29: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

29

Example Conceptual Schema Implementation

CREATE DOMAIN AIRPORT-CODE CHAR(3)CREATE DOMAIN FLIGHTNUMBER CHAR(5);CREATE DOMAIN WEEKDAY CHAR(2)

CONSTRAINT DAYS CHECK ( VALUE IN(‘MO’,’TU’,’WE’,’TH’,’FR’,’SA’,’SU’));

CREATE TABLE FLT-SCHEDULE(FLT# FLIGHTNUMBER NOT NULL,AIRLINE VARCHAR(25),DTIME TIME,FROM-AIRPORTCODE AIRPORT-CODE,ATIME TIME,TO-AIRPORTCODE AIRPORT-CODE,MILES SMALLINT,PRICE DECIMAL(7,2),PRIMARY KEY (FLT#),FOREIGN KEY (FROM-AIRPORTCODE) REFERENCES AIRPORT(AIRPORTCODE),FOREIGN KEY (TO_AIRPORTCODE) REFERENCES AIRPORT(AIRPORTCODE));

Page 30: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

30

Example Conceptual Schema Implementation CREATE TABLE FLT-WEEKDAY(FLT# FLIGHTNUMBER NOT NULL,WEEKDAY WEEKDAY,UNIQUE(FLT#, WEEKDAY),FOREIGN KEY (FLT#) REFERENCES

FLT-SCHEDULE(FLT#));

CREATE TABLE FLT-INSTANCE(FLT# FLIGHTNUMBER NOT NULL,DATE DATE NOT NULL,PLANE# INTEGER,PRIMARY KEY(FLT#, DATE),FOREIGN KEY FLT# REFERENCES

FLT-SCHEDULE(FLT#),FOREIGN KEY PLANE# REFERENCES AIRPLANE(PLANE#));

Page 31: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

31

Example Task Implementation some C code

Direct-Flights T1.1/* read(Inquiry, :Departure-Airport, :Arrival-Airport,:Date); *//* convert :Date to :Weekday; */ more C code

EXEC SQL WHENEVER NOT FOUND GOTO endloop; more C code

EXEC SQL DECLARE DIRECT-FLIGHTS CURSOR FOR SELECT FROM-AIRPORTCODE, TO-AIRPORTCODE, FLT-SCHEDULE.FLT#, DTIME, ATIME FROM FLT-SCHEDULE, FLT-WEEKDAY WHERE FLT-SCHEDULE.FLT#=FLT-WEEKDAY.FLT# AND FROM-AIRPORTCODE=:Departure-Airport AND TO-AIRPORTCODE=:Arrival-Airport AND WEEKDAY=:Weekday ORDER BY DTIME; more C code

EXEC SQL OPEN DIRECT-FLIGHTS;while EXEC SQL FETCH DIRECT-FLIGHTS INTO :From, :To, :Flt#, :Dtime, :Atime; write(Inquiry, :From, :To, :Flt#, :Date, :Dtime, :Atime) endwhile; more C code

endloop:Exec SQL CLOSE DIRECT-FLIGHTS;

Page 32: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

32

Phase 4: Testing and Evaluation

Page 33: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

33

Testing and Evaluation

Database is tested and fine-tuned for performance, integrity, concurrent access, and security constraintsDone in parallel with application programmingActions taken if tests fail

Fine-tuning based on the DBMS reference manualsModification of physical designModification of logical designUpgrade or change DBMS software or hardware

Page 34: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

34

Phase 5: Operation

Page 35: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

35

Operation

Database considered operationalStarts process of system evaluationUnforeseen problems may surfaceDemand for change is constant

Page 36: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

36

Phase 6: Maintenance and Evaluation

Page 37: CSBP430 – Database Systems Chapter 16:  Practical Database Design and Tuning

37

Maintenance and Evaluation

Preventative maintenanceCorrective maintenance Adaptive maintenanceAssignment of access permissions Generation of database access statistics to monitor performancePeriodic security audits based on system-generated statisticsPeriodic system usage-summaries