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
- 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