[7] 6-Database Design and Agile
DATABASE DESIGN
Chapter Overview
Learning Objectives:
Changing Data Into Information
The Information System (IS)
The System Development Life Cycle (SDLC)
The Database Life Cycle (DBLC)
Database Design Strategies
Centralized vs Decentralized Design
Changing Data Into Information
Data:
Raw facts.
Building blocks of information.
Information:
Reveals meaning of data.
Data Process Flow
System components:
Contracts application programs.
Database entries and reports are utilized for data processing.
DBMS manages sales application programs and reports.
Database includes details and definitions for file management.
System Development Life Cycle (SDLC)
Phases of SDLC:
Initial Study
Database Design
Implementation & Loading
Testing & Evaluation
Operation
Maintenance & Evaluation
Purpose of SDLC:
To understand how an IS can support business needs.
To design, build, and deliver the system to users effectively.
Information System Structure
Components of IS:
Software, hardware, data, people, application programs, and procedures working together to produce quality information.
Databases are designed to store and manage data efficiently.
Functions of Database in IS:
Data collection, storage, and retrieval.
Transforming data into information using SQL.
SDLC Detailed Phases
Planning:
Assess information flow and system requirements.
Conduct a feasibility study on technical requirements and costs.
Analysis:
Audit user requirements and evaluate existing hardware/software.
Develop logical system design with ERD and DFD.
Design:
Create detailed specifications for screens, menus, reports, with training methods planned.
Implementation:
Install hardware, DBMS software, load database, and customize the system.
Conduct coding, testing, and debugging.
Maintenance:
Respond to user requests for changes, addressing corrective, adaptive, and perfective maintenance.
Utilize CASE technology for efficiency.
Agile Software Development
Agile methodology vs. SDLC process.
Agile Phases:
Plan/Requirements Collection
Design
Development
Testing
Deployment
Review
Benefits:
Speedy development, greater quality, and high customer satisfaction.
Database Life Cycle (DBLC)
Interrelated with IS life cycle (SDLC).
Stages are not strictly sequential; repetitions may occur through feedback loops.
Complexity varies based on database size and number of users.
DBLC Phases
Initial Study:
Analyze company situation, define problems, objectives, scope, and boundaries.
Database Design:
Selecting a DBMS, creating logical and physical designs.
Implementation & Loading:
Define security, access rights, backup, and recovery strategies.
Testing & Evaluation:
Test for performance, integrity, concurrent access, and security constraints.
Operation:
Begin operational phase with preventive, corrective, and adaptive maintenance.
Maintenance & Evaluation:
Continuous audits and updates based on user feedback and system performance.
Database Design Strategies
Two classical approaches:
Top-Down Design:
Start by identifying data sets and defining elements for each set; suitable for complex databases.
Bottom-Up Design:
Identify data elements grouped in data sets; suitable for smaller databases.
Influenced by:
Scope, size of the system, management style, and organization structure.
Centralized vs Decentralized Design
Centralized Design:
Managed by a single person for smaller databases, best for non-complex structures.
Decentralized Design:
Used for complex databases spread across various sites, requiring precise definitions of system boundaries.
Challenges:
Aggregation problems arise due to synonyms and homonyms in different departmental terminologies.
Business rules play a crucial role in defining entities, relationships, attributes, and constraints in organizational operations.