database design methodology

72
Copyright © 2003 ProsoftTraining. All rights reserved. Database Design Methodology

Upload: ferris-atkinson

Post on 03-Jan-2016

73 views

Category:

Documents


0 download

DESCRIPTION

Database Design Methodology. Lesson 1: Introduction to Databases. Objectives. Define a database Identify and discuss file-based data systems Define relational database Define and describe DBMSs, and identify their advantages and disadvantages Choose the correct type of database - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

DatabaseDesign Methodology

Page 2: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 1:Introduction to Databases

Page 3: Database Design Methodology

Objectives

• Define a database• Identify and discuss file-based data systems• Define relational database• Define and describe DBMSs, and identify their

advantages and disadvantages• Choose the correct type of database• Discuss the origins of relational databases

Page 4: Database Design Methodology

What Isa Database?

• File-based databases– Flat-file databases

• The evolution of databases

Page 5: Database Design Methodology

Relational Databasesand DBMSs

• Relational databases• Structured Query Language• Database administrator• Advantages and disadvantages of DBMSs• Choosing the correct database type

Page 6: Database Design Methodology

The Origins ofRelational Databases

• Codd first proposed the relational data model in 1970

• System R• Development of SQL• INGRES• IBM UK Scientific Center

Page 7: Database Design Methodology

Summary

Define a database Identify and discuss file-based data systems Define relational database Define and describe DBMSs, and identify their

advantages and disadvantages Choose the correct type of database Discuss the origins of relational databases

Page 8: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 2:Relational

Database Fundamentals

Page 9: Database Design Methodology

Objectives

• Define and discuss multitier database architecture

• Define relational model terminology• Describe different relational table types• Explain primary and foreign keys• Discuss data models and data relationships• Define database languages

Page 10: Database Design Methodology

MultitierDatabase Architecture

• Two-tier client-server architecture– Fat client

• Three-tier client-server architecture– Thin client

• n-tier architecture

Page 11: Database Design Methodology

RelationalModel Terminology

• Relational data structure

• Rows (tuples)• Columns (attributes)

• Domains• Degrees• Cardinality• Normalization

Page 12: Database Design Methodology

Using Tablesto Represent Data

• Entities• Characteristics of relations• Types of tables• Primary keys• Foreign keys

Page 13: Database Design Methodology

Data Models

• Components– Structural information– Manipulative information– Integrity information

Page 14: Database Design Methodology

Entities andData Relationships

• Entity-Relationship modeling• Strong entities• Weak entities

Page 15: Database Design Methodology

Relational Integrity

• Domain constraints• Entity integrity• Referential integrity• Views

Page 16: Database Design Methodology

Database Languages

• Data definition language• Data manipulation language• Data control language• Data dictionaries

Page 17: Database Design Methodology

Summary

Define and discuss multitier database architecture

Define relational model terminology Describe different relational table types Explain primary and foreign keys Discuss data models and data relationships Define database languages

Page 18: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 3:Database Planning

Page 19: Database Design Methodology

Objectives

• Explain the database design life cycle• Discuss database planning• Describe a database requirements document• Discuss the criteria for selecting a DBMS• Discuss the criteria for selecting an

application interface

Page 20: Database Design Methodology

DatabaseDesign Life Cycle

• Create a database strategy

• Define database application scope

• Create a database requirements document

• Design the database• Select a DBMS• Design the database

application

• Create database prototypes

• Test the database application

• Implement the database application

• Convert legacy data

• Maintain the database

Page 21: Database Design Methodology

DatabaseRequirements Document

• Conducting interviews• Requirements document information

Page 22: Database Design Methodology

Selecting a DBMS

• Selection criteria– Data definition functionality– Physical criteria– Access criteria– Transactions– Utilities– Development tools– Miscellaneous features

Page 23: Database Design Methodology

Selecting anApplication Interface

• GUI considerations– Descriptive page titles– Clear instructions– Consistent grouping of input fields– Logically labeled fields– Consistent color use– Properly sized data entry fields– Logical cursor movement– Error messages– Clearly indicated optional fields– Completion message

Page 24: Database Design Methodology

Summary

Explain the database design life cycle Discuss database planning Describe a database requirements document Discuss the criteria for selecting a DBMS Discuss the criteria for selecting an

application interface

Page 25: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 4:Overview of DatabaseDesign Methodology

Page 26: Database Design Methodology

Objectives

• Describe relational database design methodology

• Identify the effects of poor design practices• Create Entity-Relationship models• Identify entities and relationship types• Identify entity attributes and domains• Determine primary and candidate keys

Page 27: Database Design Methodology

Effects ofPoor Database Design

• Insertion anomalies• Deletion anomalies• Update anomalies

Page 28: Database Design Methodology

DatabaseDesign Phases

• Conceptual phase• Logical phase• Physical phase

Page 29: Database Design Methodology

ConceptualDatabase Design

• Identifying entities• Identifying attributes and attribute domains for

entities• Identifying relationships• Identifying candidate and primary keys for

entities• Creating an Entity-Relationship diagram• Reviewing the ER model by the user and

design team

Page 30: Database Design Methodology

Entity-Relationship Models

• Creating ER models• Defining domains• Common SQL data types• Determining data relationships

– Recursive relationships

Page 31: Database Design Methodology

Summary

Describe relational database design methodology

Identify the effects of poor design practices Create Entity-Relationship models Identify entities and relationship types Identify entity attributes and domains Determine primary and candidate keys

Page 32: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 5:Normalization

Page 33: Database Design Methodology

Objectives

• Define normalization• Explain normal forms• Define and discuss 1NF• Define and discuss 2NF• Define and discuss 3NF• Define and discuss BCNF• Explain the normalization process

Page 34: Database Design Methodology

What IsNormalization?

• Normal forms• First normal form

– First normal form anomalies• Second normal form

– Second normal form anomalies• Third normal form• Boyce-Codd normal form

Page 35: Database Design Methodology

Related Concepts

• Decomposition• Atomic value• Partial functional dependency• Transitive dependency• Denormalization

Page 36: Database Design Methodology

Summary

Define normalization Explain normal forms Define and discuss 1NF Define and discuss 2NF Define and discuss 3NF Define and discuss BCNF Explain the normalization process

Page 37: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 6:Logical Database Design

Page 38: Database Design Methodology

Objectives

• Identify logical database design issues• Identify the cardinality of data relationships• Create a logical data model from a conceptual

data model• Use a database definition language• Define integrity constraints• Create and validate an enterprise data model

Page 39: Database Design Methodology

LogicalDatabase Design

• Logical data models– One-to-one– One-to-many– Many-to-many

Page 40: Database Design Methodology

Creating aLogical Data Model

Data model refinement

Logical data model creation

Normalization

Logical data model creation

Data model refinement

Normalization

Page 41: Database Design Methodology

Using a DatabaseDefinition Language

• Data dictionaries• Validating the logical data model

Page 42: Database Design Methodology

DefiningIntegrity Constraints

• Necessary data• Domain constraints• Entity integrity• Referential integrity• Enterprise constraints

Page 43: Database Design Methodology

Creating anEnterprise Data Model

• User views• Normalization• Validating data operations

Page 44: Database Design Methodology

Summary

Identify logical database design issues Identify the cardinality of data relationships Create a logical data model from a conceptual

data model Use a database definition language Define integrity constraints Create and validate an enterprise data model

Page 45: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 7:Physical Database Design

Page 46: Database Design Methodology

Objectives

• Identify physical database design issues• Describe how to create base relations for a

target DBMS using a DDL• Identify and create enterprise constraints for a

target DBMS• Define secondary indexes• Define denormalization• Create user views• Design database access rules

Page 47: Database Design Methodology

PhysicalDatabase Design

• Creating base relations for a target DBMS• Data definition language

Page 48: Database Design Methodology

CreatingEnterprise Constraints

• Determining referential constraints

Page 49: Database Design Methodology

UsingSecondary Indexes

• A secondary index is a mechanism that creates an additional key for a relation

Page 50: Database Design Methodology

Denormalization

• The process of reuniting relations that were split during the normalization process to improve performance

Page 51: Database Design Methodology

CreatingUser Views

• Determine the appropriate data to be included with each particular view

Page 52: Database Design Methodology

DesigningDatabase Access Rules

• Identifiers• Privileges

– SELECT– UPDATE– DELETE

Page 53: Database Design Methodology

Summary

Identify physical database design issues Describe how to create base relations for a

target DBMS using a DDL Identify and create enterprise constraints for a

target DBMS Define secondary indexes Define denormalization Create user views Design database access rules

Page 54: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 8:Structured Query Language

Page 55: Database Design Methodology

Objectives

• Define and use SQL• Identify SQL commands and syntax• Use DDL statements• Use DML statements• Use DCL statements

Page 56: Database Design Methodology

SQL Basics

• Subsets of SQL• SQL features• Data types

Page 57: Database Design Methodology

DataDefinition Language

• Creating a schema• Altering and dropping relations, domains and

views

Page 58: Database Design Methodology

DataManipulation Language

• Inserting values into relations• Deleting records from relations• Updating values in relations• Retrieving data from relations• SQL special operators and ORDER BY clauses

Page 59: Database Design Methodology

DataControl Language

• Granting privileges• Revoking privileges

Page 60: Database Design Methodology

Summary

Define and use SQL Identify SQL commands and syntax Use DDL statements Use DML statements Use DCL statements

Page 61: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 9:Relational Algebra

Page 62: Database Design Methodology

Objectives

• Define and describe relational algebra• Explain and use selection, projection,

Cartesian product, union, set difference and intersection operations

• Explain and use various types of joins

Page 63: Database Design Methodology

DefiningRelational Algebra

• Selection• Projection• Cartesian

product

• Union• Difference• Intersection• Joins

Page 64: Database Design Methodology

Summary

Define and describe relational algebra Explain and use selection, projection,

Cartesian product, union, set difference and intersection operations

Explain and use various types of joins

Page 65: Database Design Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 10:Transactions and

Database Security

Page 66: Database Design Methodology

Objectives

• Define transactions, concurrency control, and serializability

• Explain locking techniques• Define timestamps• Explain optimistic concurrency• Define database security and identify the

types of security threats• Explain the types of protection techniques

Page 67: Database Design Methodology

Transactions

• Commit• Rollback• ACID properties

– Atomicity– Consistency– Isolation– Durability

Page 68: Database Design Methodology

Concurrency Control

• Lost updates• Uncommitted updates• Unrepeatable query results• Serializability• Concurrency control methods

– Locking– Timestamps

• Optimistic concurrency control

Page 69: Database Design Methodology

DatabaseSecurity

• The scope of database security• Types of security threats• Types of protection techniques

Page 70: Database Design Methodology

Summary

Define transactions, concurrency control, and serializability

Explain locking techniques Define timestamps Explain optimistic concurrency Define database security and identify the

types of security threats Explain the types of protection techniques

Page 71: Database Design Methodology

DatabaseDesign Methodology

Introduction to Databases Relational Database Fundamentals Database Planning Overview of Database Design Methodology Normalization

Page 72: Database Design Methodology

DatabaseDesign Methodology

Logical Database Design Physical Database Design Structured Query Language Relational Algebra Transactions and Database Security