DBMS Summary
Introduction to DBMS
- Data: Known facts that can be recorded and have implicit meaning.
- Database: An organized collection of logically related data and its description, designed to meet an organization's information requirements.
- DBMS (Database Management System): Software that interacts with end-users, applications, and the database to capture and analyze data.
Applications of Database Technology
- Supermarkets, banking, libraries, airline reservations, universities, e-commerce, social media, healthcare, weather monitoring, Google, and GIS.
- Storage and retrieval of multimedia and web content.
- Autonomous monitoring and action in real-time systems (e.g., stock market, weather forecasting).
Evolution of Database Technology
- Prehistory: File systems, hierarchical and network systems.
- Revolution: Relational database technology.
- Post-relational era: Complex data organizations, object technology influence, complex applications (distributed and web-based).
File-Based Approach
- Each application program defines and manages its own data.
- Limitations:
- Separation and isolation of data.
- Duplication of data.
- Data dependence.
- Incompatible file formats.
- Fixed queries/proliferation of application programs.
- Manual filing systems fail with large data or cross-referencing.
Data Redundancy
- Storing the same data multiple times which leads to:
- Unnecessary increase in size of databases.
- Data inconsistency.
- Decreased efficiency.
Relational Database Approach
- Introduced in 1970 by T. Codd.
- Aims to remove limitations of file-based approach.
- Data definition is stored separately and independently.
Database Management System (DBMS)
- Collection of programs for creating and maintaining a database.
- Facilitates defining, constructing, manipulating, and sharing databases.
- Examples: MSAccess, MySQL, Oracle, SQL Server.
- Common features: Relational model, SQL as query language.
- Functions includes:
- Transactions, data storage, retrieval, update.
Characteristics of the Database Approach
- Self-describing nature (metadata, database catalog, data dictionary).
- Insulation between programs and data (program-data independence).
- Data abstraction: Hiding irrelevant details.
- Multiple views of the data.
- Sharing of data and multiuser transaction processing.
Advantages of using a DBMS
- Minimal data redundancy.
- Restricting unauthorized access (Database Security).
- Efficient query processing (Indexing, hashing, query optimization).
- Enforcing integrity constraints (Data type, primary key, business rules).
- Providing multiple user interfaces.
- Backup and Recovery.
- Reduced application development time.
- Concurrent access and crash recovery.
- Database facilitate sharing of data.
Disadvantages of using a DBMS
- High initial investment in hardware, software, and training.
- Need for specialized personnel (experts).
- Higher impact of failure.
- Complexity.
- Overhead for security, concurrency control, recovery, and integrity functions.
Functions of a DBMS
- Data Storage, Retrieval, and Update.
- Transaction Support.
- Concurrency Control Services.
- Recovery Services.
- Security/Authorization Services.
- Integrity Services.
Components of the DBMS environment
- Hardware, Software (DBMS, Network software, Programming languages).
- Data, Procedures.
- People (Data & database administrators, Database designers, Application developers, End-users).
People Involved
- End-Users: Clients needing information from the database.
- Practitioners: Responsible for the database system and its software (e.g., DBAs, designers, developers).
Database Administrators (DBA)
- Responsible for authorizing access, coordinating use, and acquiring resources.
- Accountable for security breaches and poor system response time.
- Database Designers
- Responsible for identifying data and choosing appropriate structures to represent and store this data.
Object-Oriented and NOSQL Databases
- OODBs emerged with OOP languages to store complex objects.
- NOSQL (Not Only SQL) databases for managing large amounts of data with fast search and retrieval.