740 likes | 956 Views
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
E N D
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
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
Relational data structure Rows (tuples) Columns (attributes) Domains Degrees Cardinality Normalization RelationalModel Terminology
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
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
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 DatabaseDesign Life Cycle
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
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
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
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 Logical data model creation Logical data model creation Normalization Normalization Data model refinement Data model refinement
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
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