database design methodology
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 PresentationTRANSCRIPT
![Page 1: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/1.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
DatabaseDesign Methodology
![Page 2: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/2.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 1:Introduction to Databases
![Page 3: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/4.jpg)
What Isa Database?
• File-based databases– Flat-file databases
• The evolution of databases
![Page 5: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/8.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 2:Relational
Database Fundamentals
![Page 9: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/10.jpg)
MultitierDatabase Architecture
• Two-tier client-server architecture– Fat client
• Three-tier client-server architecture– Thin client
• n-tier architecture
![Page 11: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/11.jpg)
RelationalModel Terminology
• Relational data structure
• Rows (tuples)• Columns (attributes)
• Domains• Degrees• Cardinality• Normalization
![Page 12: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/12.jpg)
Using Tablesto Represent Data
• Entities• Characteristics of relations• Types of tables• Primary keys• Foreign keys
![Page 13: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/13.jpg)
Data Models
• Components– Structural information– Manipulative information– Integrity information
![Page 14: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/14.jpg)
Entities andData Relationships
• Entity-Relationship modeling• Strong entities• Weak entities
![Page 15: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/15.jpg)
Relational Integrity
• Domain constraints• Entity integrity• Referential integrity• Views
![Page 16: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/16.jpg)
Database Languages
• Data definition language• Data manipulation language• Data control language• Data dictionaries
![Page 17: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/18.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 3:Database Planning
![Page 19: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/21.jpg)
DatabaseRequirements Document
• Conducting interviews• Requirements document information
![Page 22: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/22.jpg)
Selecting a DBMS
• Selection criteria– Data definition functionality– Physical criteria– Access criteria– Transactions– Utilities– Development tools– Miscellaneous features
![Page 23: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/25.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 4:Overview of DatabaseDesign Methodology
![Page 26: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/27.jpg)
Effects ofPoor Database Design
• Insertion anomalies• Deletion anomalies• Update anomalies
![Page 28: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/28.jpg)
DatabaseDesign Phases
• Conceptual phase• Logical phase• Physical phase
![Page 29: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/30.jpg)
Entity-Relationship Models
• Creating ER models• Defining domains• Common SQL data types• Determining data relationships
– Recursive relationships
![Page 31: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/32.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 5:Normalization
![Page 33: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/35.jpg)
Related Concepts
• Decomposition• Atomic value• Partial functional dependency• Transitive dependency• Denormalization
![Page 36: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/37.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 6:Logical Database Design
![Page 38: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/39.jpg)
LogicalDatabase Design
• Logical data models– One-to-one– One-to-many– Many-to-many
![Page 40: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/41.jpg)
Using a DatabaseDefinition Language
• Data dictionaries• Validating the logical data model
![Page 42: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/42.jpg)
DefiningIntegrity Constraints
• Necessary data• Domain constraints• Entity integrity• Referential integrity• Enterprise constraints
![Page 43: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/43.jpg)
Creating anEnterprise Data Model
• User views• Normalization• Validating data operations
![Page 44: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/45.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 7:Physical Database Design
![Page 46: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/47.jpg)
PhysicalDatabase Design
• Creating base relations for a target DBMS• Data definition language
![Page 48: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/48.jpg)
CreatingEnterprise Constraints
• Determining referential constraints
![Page 49: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/49.jpg)
UsingSecondary Indexes
• A secondary index is a mechanism that creates an additional key for a relation
![Page 50: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/50.jpg)
Denormalization
• The process of reuniting relations that were split during the normalization process to improve performance
![Page 51: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/51.jpg)
CreatingUser Views
• Determine the appropriate data to be included with each particular view
![Page 52: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/52.jpg)
DesigningDatabase Access Rules
• Identifiers• Privileges
– SELECT– UPDATE– DELETE
![Page 53: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/54.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 8:Structured Query Language
![Page 55: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/55.jpg)
Objectives
• Define and use SQL• Identify SQL commands and syntax• Use DDL statements• Use DML statements• Use DCL statements
![Page 56: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/56.jpg)
SQL Basics
• Subsets of SQL• SQL features• Data types
![Page 57: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/57.jpg)
DataDefinition Language
• Creating a schema• Altering and dropping relations, domains and
views
![Page 58: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/58.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/59.jpg)
DataControl Language
• Granting privileges• Revoking privileges
![Page 60: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/60.jpg)
Summary
Define and use SQL Identify SQL commands and syntax Use DDL statements Use DML statements Use DCL statements
![Page 61: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/61.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 9:Relational Algebra
![Page 62: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/62.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/63.jpg)
DefiningRelational Algebra
• Selection• Projection• Cartesian
product
• Union• Difference• Intersection• Joins
![Page 64: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/64.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/65.jpg)
Copyright © 2003 ProsoftTraining. All rights reserved.
Lesson 10:Transactions and
Database Security
![Page 66: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/66.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/67.jpg)
Transactions
• Commit• Rollback• ACID properties
– Atomicity– Consistency– Isolation– Durability
![Page 68: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/68.jpg)
Concurrency Control
• Lost updates• Uncommitted updates• Unrepeatable query results• Serializability• Concurrency control methods
– Locking– Timestamps
• Optimistic concurrency control
![Page 69: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/69.jpg)
DatabaseSecurity
• The scope of database security• Types of security threats• Types of protection techniques
![Page 70: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/70.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/71.jpg)
DatabaseDesign Methodology
Introduction to Databases Relational Database Fundamentals Database Planning Overview of Database Design Methodology Normalization
![Page 72: Database Design Methodology](https://reader036.vdocuments.mx/reader036/viewer/2022062304/5681361c550346895d9d91f9/html5/thumbnails/72.jpg)
DatabaseDesign Methodology
Logical Database Design Physical Database Design Structured Query Language Relational Algebra Transactions and Database Security