SZ

Fundamentals of Database Systems

Overview of Database Systems

  • Database Systems store, manage, and retrieve data efficiently.

Data Models

  • Definition: Concepts that define the structure of a database, operations for manipulating, and constraints to enforce.
  • Structure and Constraints:
    • Use constructs to define structure (elements, data types, groups of elements).
    • Include constraints to restrict valid data and ensure integrity.
Operations on Data Models
  • Specify retrieval and updates.
  • Types of operations include:
    • Basic operations: insert, delete, update.
    • User-defined: e.g., computestudentgpa, update_inventory.

Categories of Data Models

  1. Conceptual Models: High-level view representing how users perceive data (e.g., ER model).
  2. Physical Models: Low-level detail on how data is stored (e.g., files, indexes).
  3. Implementation Models: Bridges between conceptual and physical, used in commercial DBMS (e.g., relational model).
  4. Self-Describing Models: Embed data description with data values (e.g., XML).

Schemas vs. Instances

  • Schema: Definition of database (structure, data types, constraints).
  • Database State: Actual data at a point in time; dynamic and changes frequently.
  • Valid State: State that adheres to schema constraints.

Three-Schema Architecture

  • Purpose: Achieve program-data independence and multiple data views.
  • Three Levels:
    • Internal Schema: Physical storage structure.
    • Conceptual Schema: Overall structure for user community.
    • External Schemas: User-specific views.

Data Independence

  • Logical Data Independence: Change conceptual schema without altering external schemas.
  • Physical Data Independence: Update internal schema without modifying conceptual schema.

DBMS Languages

  1. Data Definition Language (DDL): Defines schema; used by DBA.
  2. Data Manipulation Language (DML): For data retrieval and updates, can be embedded in applications.
  3. High-Level Languages: Non-procedural languages like SQL.
  4. Low-Level Languages: Procedural languages for detailed operations.

DBMS Interfaces

  • Stand-alone and mobile interfaces, user-friendly with forms, graphics, and natural language queries.
  • Programmer Interfaces: Allow embedding of DML in client language, e.g., JDBC, ODBC.

Database Utilities and Tools

  • Include data loading, backup, performance monitoring, reporting, and data dictionary management.

Centralized vs. Client-Server Architectures

  • Centralized DBMS: Single system for all components; remote access possible.
  • Client-Server Architecture: Specialized servers providing services to clients, enhancing modularity and efficiency.
    • Two-tier and Three-tier architectures allow for enhanced data security and structured processing.

Classification of DBMSs

  • Based on data models: e.g., relational, object-oriented, NoSQL.
  • Others: single-user vs. multi-user, centralized vs. distributed.

Historical Context of Data Models

  • Evolution from network and hierarchical to relational and object-oriented models.
  • Current trends incorporate various data types and structures within relational systems.

Conclusion

  • Understanding different data models, architectures, and languages is vital for managing databases effectively.