2 copyright © 2006, oracle. all rights reserved. introduction to database development chapter 2
TRANSCRIPT
2- 2
Outline
• Context for database development
• Goals of database development
• Phases of database development
• CASE tools
2- 3
Information System
Student LoanProcessing
System
Loan Applications
Payments Statements
StatusChanges
CashDisbursements
DATABASE
DelinquencyNotices
INPUTS OUTPUTS
PROCESSES
ENVIRONMENTENVIRONMENT
現金收支
滯納通知
Environment Environment
2- 4
Traditional Life Cycle of System Development
PreliminaryInvestigation
SystemsAnalysis
SystemsDesign
SystemsImplementation
OperationalSystem
Feedback
Feedback
Problem Statement,Feasibility Study
System Requirements
Design Specifications
MaintenanceFeedback
2- 5
Development Alternatives
Criticism about traditional life cycle of S.D.
• Operational system is produced late
• Rush to begin implementation
• Requirements are difficult to capture
Alternative methodologies
• Spiral approaches
• Rapid application development
– Prototypes (雛型系統 ) may reduce risk
2- 6
Graphical Models
The graphical models of the followings should be
produced in all development alternatives:
• Data model
• Data and relationships
• Process model
• Relationships among processes
• Environment interaction model
• Relationship between events and processes
2- 7
Goals of Database Development
• Develop a common vocabulary
• Define data meaning
• Ensure data quality
• Provide efficient implementation
2- 8
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- 9
Define Meaning of Data
• Business rules support organizational policies
Example : An order must precede a shipment
• Restrictiveness (嚴謹性 ) of business rules
– Too restrictive: reject (排拒 ) valid business interactions
(May force work-around solutions to handle exceptions)
(Exception handling allows flexibility)
– Too loose: allow erroneous business interactions
(May allow incorrect data in a database)
2- 10
Data Quality
• Poor data quality leads to poor decision making
– Poor customer communication
– Inventory shortages
• Cost-benefit tradeoff to achieve desired level of
data quality
• Long-term effects of poor data quality
2- 11
Data Quality Measures
• CompletenessD/B represents all important parts of the IS
• Lack of ambiguity (缺乏模糊性 )Each part of the D/B has only one meaning
• TimelinessBusiness changes posted to the D/B without delay
• CorrectnessD/B contains values preceived by users
• ConsistencyDifferent parts of the D/B do not conflict
• ReliabilityFailures or interferences do not corrupt D/B
2- 12
Efficient Implementation
Even if other design goals are met, a slow-performing
database will not be used.
• Supersedes and respects (考量 ) other goals as
possible
• An 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- 13
Database Development Phases
Conceptual Data Modeling
Logical Database Design
Distributed Database Design
Physical Database Design
ERD
Tables
Distribution Schema
Internal Schema, Populated D/B
Data requirements
(可移植的資料庫 )
2- 14
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- 15
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- 16
Distributed Database Design
• Performance orientation, not information content
orientation
• Decisions: location of data and processing
– Allocate subsets of database to different sites
– Replicate subsets of database to improve availability
2- 17
Physical Database Design
• Performed at each independent database site
• Minimize response time without consuming
excessive resources
• Tradeoffs: retrieval versus update
• Flexible designs versus specialized designs
• Decisions: indexes, data placement
2- 18
Splitting Conceptual Design
View Design
View Integration
Data Requirements
View ERDs
Entity Relationship Diagrams
Conceptual Data Modeling
2- 19
Cross Checking (交叉檢查 ) Requirements
DatabaseDevelopment
ERDs, Table Design,...
ApplicationDevelopmentProcess Models,
Interaction Models,Prototypes
SystemRequirements
Data Requirements Application Requirements
OperationalSystem
OperationalDatabase
OperationalApplications
CrossChecking
2- 20
Design Skills in Phases
Conceptual DataModeling
Logical DatabaseDesign
PhysicalDatabase Design
DistributedDatabase Design
Entity RelationshipDiagrams
Relational DatabaseTables
Distribution Schema
Internal Schema, Populated Database
Data Requirements
Soft
Hard
Design Skills
Soft• Qualitative• subjective
(主觀性的 )• People-oriented
Hard• Quantitative• Objective• Intensive data analysis
(密集的資料分析 )
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
• Visible Analyst
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
2- 25
Visio Professional
• Entry level version of Visual Studio .Net Enterprise
Architect
• Excellent drawing tools
• Stencils (樣板 ) for database diagrams
• Glue (黏合 ) feature to retain connections
• Useful analysis tools
• Diagram layout
• Reverse engineering
• Data dictionary support