星期日, 3月 14, 2010

The Database Environment and Development Process

Objectives
  • Define terms
  • Name limitations of conventional file processing
  • Explain advantages of databases
  • Identify costs and risks of databases
  • List components of database environment
  • Identify categories of database applications
  • Describe database system development life cycle
  • Explain prototyping and agile development approaches
  • Explain roles of individuals
  • Explain the three-schema architecture for databases

 

 
Definitions
  • Database: organized collection of logically related data
  • Data: stored representations of meaningful objects and events
  • Structured: numbers, text, dates
  • Unstructured: images, video, documents
  • Information: data processed to increase knowledge in the person using the data
  • Metadata: data that describes the properties and context of user data

 

 

 
Disadvantages of File Processing
  • Program-Data Dependence
    • All programs maintain metadata for each file they use
  • Duplication of Data
    • Different systems/programs have separate copies of the same data
  • Limited Data Sharing
    • No centralized control of data
  • Lengthy Development Times
    • Programmers must design their own file formats
  • Excessive Program Maintenance
    • 80% of information systems budget

 

 

 
Problems with Data Dependency
  • Each application programmer must maintain his/her own data
  • Each application program needs to include code for the metadata of each file
  • Each application program must have its own processing routines for reading, inserting, updating, and deleting data
  • Lack of coordination and central control
  • Non-standard file formats

 

 

 
Problems with Data Redundancy
  • Waste of space to have duplicate data
  • Causes more maintenance headaches
  • The biggest problem:
    • Data changes in one file could cause inconsistencies
    • Compromises in data integrity

 

 

 
SOLUTION: The DATABASE Approach
  • Central repository of shared data
  • Data is managed by a controlling agent
  • Stored in a standardized, convenient form

 

 

 
Advantages of the Database Approach
  • Program-data independence
  • Planned data redundancy
  • Improved data consistency
  • Improved data sharing
  • Increased application development productivity
  • Enforcement of standards
  • Improved data quality
  • Improved data accessibility and responsiveness
  • Reduced program maintenance
  • Improved decision support

 

 

 
Costs and Risks of the Database Approach
  • New, specialized personnel
  • Installation and management cost and complexity
  • Conversion costs
  • Need for explicit backup and recovery
  • Organizational conflict

 

 

 
Elements of the Database Approach
  • Data models
    • Graphical system capturing nature and relationship of data
    • Enterprise Data Model–high-level entities and relationships for the organization
    • Project Data Model–more detailed view, matching data structure in database or data warehouse
  • Entities
    • Noun form describing a person, place, object, event, or concept
    • Composed of attributes
  • Relationships
    • Between entities
    • Usually one-to-many (1:M) or many-to-many (M:N)
  • Relational Databases
    • Database technology involving tables (relations) representing entities and primary/foreign keys representing relationships

 

 

 
Components of the Database Environment
  • CASE Tools–computer-aided software engineering
  • Repository–centralized storehouse of metadata
  • Database Management System (DBMS) –software for managing the database
  • Database–storehouse of the data
  • Application Programs–software using the data
  • User Interface–text and graphical displays to users
  • Data/Database Administrators–personnel responsible for maintaining the database
  • System Developers–personnel responsible for designing databases and software
  • End Users–people who use the applications and databases

 

 

 
The Range of Database Applications
  • Personal databases
  • Two-tier Client/Server databases
  • Multitier Client/Server databases
  • Enterprise applications
  • Enterprise resource planning (ERP) systems
  • Data warehousing implementations

 

 

 
Enterprise Database Applications
  • Enterprise Resource Planning (ERP)
    • Integrate all enterprise functions (manufacturing, finance, sales, marketing, inventory, accounting, human resources)
  • Data Warehouse
    • Integrated decision support system derived from various operational databases

 

 

 
Enterprise Data Model
  • First step in database development
  • Specifies scope and general content
  • Overall picture of organizational data at high level of abstraction
  • Entity-relationship diagram
  • Descriptions of entity types
  • Relationships between entities
  • Business rules

 

 

 
Two Approaches to Database and IS Development
  • SDLC
    • System Development Life Cycle
    • Detailed, well-planned development process
    • Time-consuming, but comprehensive
    • Long development cycle
  • Prototyping
    • Rapid application development (RAD)
    • Cursory attempt at conceptual data modeling
    • Define database during development of initial prototype
    • Repeat implementation and maintenance activities with new prototype versions

 

 

 
Database Schema
  • External Schema
    • User Views
    • Subsets of Conceptual Schema
    • Can be determined from business-function/data entity matrices
    • DBA determines schema for different users
  • Conceptual Schema
    • E-R models
  • Internal Schema
    • Logical structures
    • Physical structures
         

 

 

 
Managing Projects
  • Project–a planned undertaking of related activities to reach an objective that has a beginning and an end
  • Involves use of review points for:
    • Validation of satisfactory progress
    • Step back from detail to overall view
    • Renew commitment of stakeholders
  • Incremental commitment–review of systems development project after each development phase with rejustification after each phase

 

 

 
Managing Projects: People Involved
  • Business analysts
  • Systems analysts
  • Database analysts and data modelers
  • Users
  • Programmers
  • Database architects
  • Data administrators
  • Project managers
  • Other technical experts