Database Design Methodology
Database Design Methodology
Methodology
What Is a Design Methodology?
• A structured approach that uses procedures, techniques, tools, and
documentation aids to support and facilitate the process of design.
• Conceptual Database Design for the Relational Model
• Logical Database Design for the Relational Model
• Physical Database Design for Relational Databases
Critical Success Factors in Database Design
• Work interactively with the users as much as possible.
• Follow a structured methodology throughout the data modeling process
• Employ a data-driven approach.
• Incorporate structural and integrity considerations into the data models.
• Combine conceptualization, normalization, and transaction validation
techniques into the data modeling methodology.
Continue….
• Use diagrams to represent as much of the data models as possible.
• Build a data dictionary to supplement the data model diagrams.
• Be willing to repeat steps.
Conceptual database design
• Objective: Build conceptual data model
• Identify entity types
• Identify relationship types
• Identify and associate attributes with entity or relationship types
• Determine attribute domains
• Determine candidate, primary, and alternate key attributes
• Consider use of enhanced modeling concepts (optional step)
• Check model for redundancy
• Validate conceptual data model against user transactions
• Review conceptual data model with user
Logical database design
Objective: Build logical data model
• Derive relations for logical data model
• Validate relations using normalization
• Validate relations against user transactions
• Check integrity constraints
• Review logical data model with user
• Merge logical data models into global model (optional step)
• Check for future growth
Physical database design
Objective: Translate logical data model for target DBMS
• Design base relations
• Design representation of derived data
• Design general constraints
Objective: Design file organizations and indexes
• Analyze transactions
• Choose file organizations
• Choose indexes
• Estimate disk space requirements
• Design user views
• Design security mechanisms
• Consider the introduction of controlled redundancy
• Monitor and tune the operational system