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
- Conceptual Models: High-level view representing how users perceive data (e.g., ER model).
- Physical Models: Low-level detail on how data is stored (e.g., files, indexes).
- Implementation Models: Bridges between conceptual and physical, used in commercial DBMS (e.g., relational model).
- 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
- Data Definition Language (DDL): Defines schema; used by DBA.
- Data Manipulation Language (DML): For data retrieval and updates, can be embedded in applications.
- High-Level Languages: Non-procedural languages like SQL.
- 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.
- 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.