Components in Database Environment
Components in Database Environment
• People
• Hardware
• Software
• Data
• Procedures / Processes
People
• Those who use or interact with Data/Database
– Database administrators (DBAs)
– Developers and analysts
– Security and operations personnel
– End users
Hardware
• Servers, storage devices, network
Infrastructure
• Disaster recovery
• Backup solutions
Software
• Operating system and virtualization platforms
• Middleware and database tools
• Application development tools and languages
Data
• Structured, semi-structured, unstructured
• Internal vs. external sources
• Data quality control
Procedures
• Data modeling and normalization
• Database design and implementation
• Data security and access control
• Backup and recovery procedures
• Performance monitoring and tuning
DBMS Functions
• Data Management
– Data Definition
• Defining the structure and relationships of data within the
database.
– Data Manipulation
• Adding, deleting, and modifying data in the database.
– Data Retrieval
• Searching and extracting data from the database based on
specific criteria.
DBMS Functions
• Data Integrity and Security:
– Data Validation: Ensuring data accuracy and
consistency within defined rules.
– User Access Control: Restricting access to data
based on user roles and permissions.
– Backup and Recovery: Protecting data from loss or
corruption and enabling restoration.
DBMS Functions
• Other Key Functions:
– Concurrency Control: Managing multiple user
access to the database simultaneously.
– Performance Optimization: Tuning the database
for efficient data access and retrieval.
– Query Processing: Analyzing and interpreting user
queries to retrieve relevant data.
– Transaction Management: Grouping related
database operations to ensure data consistency.
Systems Development Life Cycle (SDLC)
Phases:
• Planning: Define project scope, goals, and resources.
• Analysis: Gather requirements, understand user needs, and
analyze feasibility.
• Design: Create system architecture, interfaces, and data models.
• Development: Build the system according to the design
specifications.
• Testing: Ensure the system meets requirements and functions
properly.
• Deployment: Release the system to production and train users.
• Maintenance: Monitor, troubleshoot, and update the system
continuously.
Systems Development Life Cycle (SDLC)
Benefits:
• Structured approach: Provides a roadmap for
development, reducing risk and errors.
• Improved quality: Encourages thorough testing
and defect prevention.
• Enhanced communication: Facilitates
collaboration among stakeholders.
• Efficiency and cost control: Optimizes resource
allocation and project timelines.
Systems Development Life Cycle (SDLC)
Popular Methodologies:
• Waterfall: Sequential and structured, ideal for
well-defined projects.
• Agile: Iterative and flexible, good for adapting
to changing requirements.
• Spiral: Combines elements of waterfall and
agile, suitable for complex projects.
Database Life Cycle (DBLC)
• DBLC is an iterative process
• Phases may overlap and revisitations may occur to ensure
successful database implementation and ongoing operation
– Planning: Define project goals, scope, resources, and feasibility.
– Analysis: Understand user needs, gather requirements, and analyze data
model and storage needs.
– Design: Create logical and physical database design, including
schema, relationships, and access controls.
– Development: Build the database according to the design
specifications, implementing code and scripts.
– Testing: Perform rigorous testing to ensure data integrity, functionality, and
performance.
– Deployment: Release the database to production environment, including user
training and documentation.
– Maintenance: Monitor performance, implement updates, manage
security, and respond to incidents.
– Optimization: Continuously improve database efficiency and scalability based
on usage and changing needs.
Performance Criteria in DBMS
• Responsiveness: How quickly the system responds to
user requests and queries.
• Throughput: The number of operations or transactions
the system can handle per unit time.
• Scalability: The ability of the system to handle
increasing demands and data volumes.
• Resource utilization: Efficient use of processing
power, memory, storage, and network bandwidth.
• Availability: The system's uptime and resistance to
downtime or outages.
Security Criteria in DBMS
• Confidentiality: Protecting data from unauthorized access or
disclosure.
• Integrity: Ensuring data accuracy and
completeness, preventing unauthorized modification.
• Availability: Maintaining system and data accessibility for
authorized users.
• Authentication: Verifying user identities and access control
privileges.
• Authorization: Enforcing access restrictions based on user
roles and permissions.
• Encryption: Protecting sensitive data at rest and in transit.
• Logging and auditing: Tracking system activity and user access
for accountability.
• Incident response: Having a plan to detect, respond to, and
recover from security breaches.