HN

Database Systems Flashcards

Information, Data, and Databases

  • Data: Raw facts and figures.
  • Information: Processed data that is meaningful.
  • Database: Organized collection of related data managed by a DBMS.
  • Database Management System (DBMS): Software for creating and maintaining databases.
  • Database System: DBMS software + data (+ applications).

Evolution of Database Systems

  • Early DBMS (1960s): Based on file systems with limited capabilities.
  • Hierarchical Data Model: Tree-based model (e.g., IBM's IMS).
  • Network Data Model: Graph-based model, allowing multiple parent and child records.
  • Relational Database Systems (1970s): Defined by Edgar Frank "Ted" Codd.
    • Based on relations.
    • SQL (developed by IBM in 1974) became the standard query language.
    • Oracle v.2 (1979): First commercial RDBMS using SQL.

Relational Database Example and SQL

  • Example shows BOOK relation with attributes like Title, Author, Publisher, Year.
  • SQL INSERT, DELETE, UPDATE, and SELECT examples are provided.

Trends in Database Systems

  • Smaller systems: DBMS available for PCs and mobile devices.
  • Bigger systems: Databases storing petabytes of data.

Information Integration

  • Joining information from multiple related databases.
  • Approaches:
    • Data warehouses: Central database with periodically copied and translated data.
    • Middleware (Mediator): Integrated model of data with translation between models.

DBMS Components

  • Includes database users, database language (DDL, DML), and relational databases.

Database Users

  • Database Administrators: Authorize access, coordinate, monitor use, manage resources.
  • Database Designers: Define content, structure, constraints, and transactions.
  • Database End Users: Use data for queries, reports, and updates.

DDL - Data Definition Language

  • Used for defining data structure (schema).
  • Commands: CREATE, ALTER, DROP.

DML - Data Manipulation Language

  • Used for retrieving, inserting, deleting, and updating data.
  • Subsystems:
    • Answering the query: Parsing, optimizing (query compiler), and executing (execution engine).
    • Transaction processing: Managing groups of database operations (transactions).

Trends of DB Design and DBMS

  • Non-relational databases (NoSQL):
    • Examples: MongoDB, Redis.
  • Multi-model databases:
    • Examples: Oracle Database, ArangoDB.