Database Design Overview
description
Transcript of Database Design Overview
Database Design Overview
Overview of Database Design• Assist in understanding of the semantics of data• Facilitate the communication about information
requirements
Purpose of Data Modeling
Criteria for Optimal Data Models
Shareability
Diagrammatic Representation
Extensibility
Expressability
Structural Validity
Nonredundancy
Integrity
Simplicity
Database Design Methodology• A structured approach that uses procedures, techniques,
tools and documentation aids to support and facilitate the process of design
Interaction with users
Structured methodology
Data-driven approach
Structural and integrity
considerations
Data dictionary
validate
diagrams
DBDL
Repeat
Broad Goals of Database Development
• Develop a common vocabulary• Define data meaning• Ensure data quality• Provide efficient implementation
Develop a Common Vocabulary
• Diverse groups of users• Difficult to obtain acceptance of a common
vocabulary• Compromise to find least objectionable
solution• Unify organization by establishing a common
vocabulary
Define Meaning of Data• Business rules support organizational
policies• Restrictiveness of business rules
– Too restrictive: reject valid business interactions– Too loose: allow erroneous business interactions
• Exceptions allow flexibility
Example: - Faculty assignment to courses: timing issue - Prerequisite check: allow prerequisites to be violated
Data Quality
• Poor data quality leads to poor decision making– Difficult customer communication– Inventory shortages
• Cost-benefit tradeoff to achieve desired level of data quality
• Long-term effects of poor data quality
Data Quality Measures
• Completeness• Lack of ambiguity• Timeliness• Correctness• Consistency• Reliability
Data Quality Measures• Completeness:
– database represents all important parts of an information system• Lack of ambiguity:
– each part of a database has only one meaning• Timeliness:
– business changes are posted to a database without excessive delays• Correctness:
– database contains values perceived by the user• Consistency:
– different parts of a database do not conflict• Reliability:
– failures or interference do not corrupt database
Importance of measure depends on the database, system, and organizationEach measure can be quantified
Efficient Implementation
• Supersedes other goals• Optimization problem
– Maximize performance– Subject to constraints of data quality, data
meaning, and resource usage• Difficult problem:
– Number of choices– Relationships among choices– DBMS specific
Database Development Phases
Conceptual Data Modeling
Logical Database Design
Distributed Database Design
Physical Database Design
ERD
Tables
Distribution Schema
Internal Schema, Populated DB
Data requirements
OPTIONAL
13
Database Design
Conceptual database design - the process of constructing a model of the information used in an organization, independent of all physical considerations
Step 1 Build local conceptual data model for each user view
14
Database Design
Logical database design for the relational model - the process of constructing a model of the info used in an organization based on a specific data model, but independent of a particular DBMS and other physical considerationsStep 2 Build and validate local data model for each user viewStep 3 Build and validate global logical data model
15
Database Design
Physical database design for relational databases - the process of producing a description of the implementation of the database on secondary storage.
Step 4 Translate global data model for target DBMS
Step 5 Design physical representationStep 6 Design security mechanismsStep 7 Monitor and tune the operational
system
Phases of Database Design
• Process of constructing a model of the information used in an enterprise independent of all physical considerations
Conceptual Database Design
• Process of constructing a model of information used in an enterprise based on a specific data model but independent of a particular DBMS or any other physical considerations
Logical Database Design
• (Optional)Process of deciding about the placement of data across the sites of a computer network. Involves designing the network itself, as well as distribution of DBMS software, DB applications and data
Distributed Database Design
• Description of the implementation of the database on secondary storage. It describes the storage structures and access methods for efficient access.
Physical Database Design
Overview of Database Design
Build local conceptual data model for each user view
Build and Validate local logical data model for each user view
Build and validate global logical Model
Translate global logical model for target DBMS
Design Physical representation
Design Security Mechanisms
Monitor and Tune operational system
Conceptual
Logical
Physical
Conceptual Database Design
1.1 • Identify entity types
1.2 • Identify relationship
types
1.3 • Identify and associate
attributes with entity or relationship types
1.4 • Determine Attribute
Domains
1.5 • Determine candidate
and primary key attributes
1.6 • Specialize/generalize
entity types
1.7 • Draw Entity-
Relationship Diagram
1.8 • Review local
conceptual data model with user
1. Build local logical data model for each user view
Logical Database Design
2.1 • Map local Conceptual
data model to local logical data model
2.2 • Derive relations from
local logical data model
2.3 • Validate model using
normalization
2.4 • Validate model against
user transactions
2.5 • Draw Entity
relationship Diagram
2.6 • Define integrity
constraints
2.7 • Review Local logical
data model with user
2. Build and validate local logical data model
Logical Database Design
3.1 • Merge local logical
data models into global model
3.2 • Validate global logical
data model
3.3 • Check for future
growth
3.4 • Draw final Entity
Relationship diagram
3.5 • Review global logical
data model with users
3. Build and Validate Global Logical data model
Physical Database Design
4. Translate Global Logical Data Model for target DBMS
4.1 Design base relations for target DBMS4.2 Design enterprise constraints for target DBMS
5. Design Physical Representations5.1 Analyze transactions5.2 Choose file organizations
Physical Database design
5.3 Choose secondary indexes5.4 Consider introduction of controlled redundancy
6. Design Security Mechanisms6.1 Design user views6.2 Design access rules
7. Monitor and tune operational system