CS240 Ch02
CS240 Ch02
Introduction to Database
Development
Outline
I. Context for database development
II. Goals of database development
III. Phases of database development
IV. Impact of CASE tools
2-2
Information System case study
INPUTS OUTPUTS
Loan Applications
PROCESSES Delinquency
Notices
ENVIRONMENT
Student Loan ENVIRONMENT
Payments Processing Statements
System
Cash
Status
Disbursements
Changes
DATABASE
2-3
Traditional Life Cycle
Problem Statement,
Preliminary Feasibility Study A.K.A. Waterfall or
Investigation Linear-Sequential Process
System Requirements
Systems
Analysis
Design Specifications
Systems
Feedback Design
Operational
Systems System
Feedback Implementation
Maintenance
Feedback
2-4
Development Alternatives
Difficulties
Operational system is often produced late
Rush to begin implementation (skip req’s)
Requirements are difficult to capture
Alternative methodologies
Spiral approaches
Rapid application development
Prototypes may reduce risk
Provides early feedback
2-5
Graphical Models
Explicit or implicit
Data model (e.g., E.R.D.)
Process model (e.g., Transition Diagram)
Environment interaction model (e.g., UML)
We’ll emphasize the data model in this
course as the others are taught elsewhere
(CS407)
2-6
II. Broad Goals of Database
Development: (outline)
Develop a common vocabulary
Define data meaning
Ensure data quality
Provide efficient implementation
2-7
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
2-8
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
2-9
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
2-10
Data Quality Measures
Completeness
Lack of ambiguity
Timeliness
Correctness
Consistency
Reliability
2-11
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
2-12
III. Database Development Phases
Conceptual Data
Data Modeling
requirements
ERD
Logical Database
Design
Tables
Distributed Database
Design
Distribution Schema
2-13
Conceptual Data Modeling
Information content of the database
Entity relationship diagram (ERD) showing
entity types and relationships
Historically, DBMSs did not support many
constraints.
Diverse formats for database requirements
2-14
Logical Database Design
Refine conceptual design
Convert ERD to table design
Analyze design for excessive
redundancies
Normalization: tool to reason about
redundancies
Add constraints to enforce business rules
2-15
Distributed Database Design
Location of data and processing
Performance orientation, not information
content orientation
Allocate subsets of database to different
sites
Replicate subsets of database to improve
availability
2-16
Physical Database Design
Performed at each independent database
site
Minimize response time without
consuming excessive resources
Tradeoffs: retrieval versus update
Decisions: indexes, data placement
2-17
Splitting Conceptual Design
Conceptual Data Modeling
Data Requirements
View Design
View ERDs
View Integration
2-18
Cross Checking Requirements
System
Requirements
Database Application
Development Cross
Development
Checking Process Models,
ERDs, Table Design, Interaction Models,
... Prototypes
Operational Operational
Database Applications
Operational
System
2-19
Design Skills
“Soft” Skills
Qualitative
Degree of subjectivity
People-oriented
E.g., soliciting and documenting requirements
“Hard” Skills
Quantitative
Objective
Intensive data analysis
E.g., coding precise SQL statements
2-20
Design Skills in Phases
Data Requirements Design Skills
Entity Relationship
Diagrams
Logical Database
Design
Relational Database
Tables
Distributed
Database Design
Distribution Schema
Physical
Database Design
2-21
IV. Features of CASE Tools
Diagramming (modeling)
Documentation
Analysis
Prototyping
Code Generation (e.g., SQL, VB, Java)
2-22
Classification of CASE Tools
Front-end vs. Back-end
Front-end emphasize data modeling and
logical analysis
Back-end emphasize code generation and
physical design
DBMS dependent vs. DBMS independent
2-23
Commercial CASE Tools
PowerDesigner 10
Oracle Designer 10g
Visual Studio .Net Enterprise Architect
ERWin Data Modeler
ER/Studio (E.R.D.)
Visible Analyst
Tabledesigner (S.O.M.)
2-24
ER Assistant
CASE tool distributed with the textbook
Customized for this textbook: supports the
ERD notation used in Chapters 5 and 6
Drawing tool
Diagram checking
Easy to use and powerful tool
Version lacks SQL code generation
See O:/ drive for software
2-25
ER Assistant
2-28
Summary
Background for Chapters 5 to 8
Relationship to information systems
development
Broad goals
Development phases
CASE tool features
Be prepared to use ER-Assistant in the lab
for future assignments.
2-29
Assignment
Use ER-Assistant to create a design of
your own choosing. It must contain 3
entities that are related and each entity
must have at least 3 attributes. Place your
name in the “notes” section on the
diagram. Print your design and hand in at
the beginning of our next class meeting.
Note that ER-Assistant can be used to
create complex designs (schemas):
2-30
2-31