Database Design Methodology

Preview:

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

Citation preview

Copyright © 2003 ProsoftTraining. All rights reserved.

DatabaseDesign Methodology

Copyright © 2003 ProsoftTraining. All rights reserved.

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• Discuss the origins of relational databases

What Isa Database?

• File-based databases– Flat-file databases

• The evolution of databases

Relational Databasesand DBMSs

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

The Origins ofRelational Databases

• Codd first proposed the relational data model in 1970

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

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 2:Relational

Database Fundamentals

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

MultitierDatabase Architecture

• Two-tier client-server architecture– Fat client

• Three-tier client-server architecture– Thin client

• n-tier architecture

RelationalModel Terminology

• Relational data structure

• Rows (tuples)• Columns (attributes)

• Domains• Degrees• Cardinality• Normalization

Using Tablesto Represent Data

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

Data Models

• Components– Structural information– Manipulative information– Integrity information

Entities andData Relationships

• Entity-Relationship modeling• Strong entities• Weak entities

Relational Integrity

• Domain constraints• Entity integrity• Referential integrity• Views

Database Languages

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

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 3:Database Planning

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

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

DatabaseRequirements Document

• Conducting interviews• Requirements document information

Selecting a DBMS

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

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

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 4:Overview of DatabaseDesign 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

Effects ofPoor Database Design

• Insertion anomalies• Deletion anomalies• Update anomalies

DatabaseDesign Phases

• Conceptual phase• Logical phase• Physical phase

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

Entity-Relationship Models

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

– Recursive relationships

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 5:Normalization

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

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

Related Concepts

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

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 6:Logical Database Design

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

LogicalDatabase Design

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

Creating aLogical Data Model

Data model refinement

Logical data model creation

Normalization

Logical data model creation

Data model refinement

Normalization

Using a DatabaseDefinition Language

• Data dictionaries• Validating the logical data model

DefiningIntegrity Constraints

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

Creating anEnterprise Data Model

• User views• Normalization• Validating data operations

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 7:Physical Database Design

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

PhysicalDatabase Design

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

CreatingEnterprise Constraints

• Determining referential constraints

UsingSecondary Indexes

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

Denormalization

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

CreatingUser Views

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

DesigningDatabase Access Rules

• Identifiers• Privileges

– SELECT– UPDATE– DELETE

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 8:Structured Query Language

Objectives

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

SQL Basics

• Subsets of SQL• SQL features• Data types

DataDefinition Language

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

views

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

DataControl Language

• Granting privileges• Revoking privileges

Summary

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 9:Relational Algebra

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

DefiningRelational Algebra

• Selection• Projection• Cartesian

product

• Union• Difference• Intersection• Joins

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

Copyright © 2003 ProsoftTraining. All rights reserved.

Lesson 10:Transactions and

Database Security

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

Transactions

• Commit• Rollback• ACID properties

– Atomicity– Consistency– Isolation– Durability

Concurrency Control

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

– Locking– Timestamps

• Optimistic concurrency control

DatabaseSecurity

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

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

DatabaseDesign Methodology

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

DatabaseDesign Methodology

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

Recommended