Upload
ferris-atkinson
View
72
Download
0
Tags:
Embed Size (px)
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