SZ

Fundamentals of Database Systems

Types of Databases and Applications

  • Traditional Applications:
    • Numeric and Textual Databases
  • Recent Applications:
    • Multimedia Databases
    • Geographic Information Systems (GIS)
    • Biological and Genome Databases
    • Data Warehouses
    • Mobile Databases
    • Real-time and Active Databases

Recent Developments

  • Social Networks (e.g., Facebook, Twitter, LinkedIn) capture extensive data about people and their communications.
  • Search Engines (e.g., Google, Bing, Yahoo) collect a repository of web pages for searching purposes.
  • New technologies from non-database software vendors manage vast amounts of web-generated data:
    • Big Data Storage Systems involving large clusters of distributed computers.
    • NoSQL Systems designed for specific data processing needs.
    • Cloud Storage maintains massive data centers to house extensive datasets.

Basic Definitions

  • Database: A collection of related data.
  • Data: Known facts that can be recorded and have meaning.
  • Mini-world: A subset of the real world represented in a database (e.g., student information).
  • Database Management System (DBMS): Software/ system that facilitates the creation and maintenance of databases.
  • Database System: The combination of DBMS software and the data itself, sometimes including applications.

Impact of Databases and Technology

  • Businesses: Critical in banking, insurance, retail, transportation, healthcare, and manufacturing.
  • Service Industries: Financial, real estate, legal, electronic commerce.
  • Education: Provides resources for content delivery.
  • Recent Fields: Increasing relevance in social networks, environmental applications, and personalized mobile apps.

Typical DBMS Functionality

  • Define database concerning data types, structures, and constraints.
  • Construct or load initial database contents on storage media.
  • Manipulation:
    • Retrieval: Querying and generating reports.
    • Modification: Insertions, deletions, updates.
  • Accessing the database through web applications.
  • Ensuring data validity and consistency during multi-user access.

Application Activities Against a Database

  • Queries: Accessing and formulating requests for specific data.
  • Transactions: Operations that read and update the database.
  • Ensuring Unauthorized access protection and adapting to changing user requirements.

Additional DBMS Functionality

  • Protection measures against unauthorized access.
  • Active processing (internal actions on data).
  • Data presentation and visualization.
  • Maintenance of the DBMS and underlying database.

Example of a University Database

Mini-World Components:

  • Entities:
    • Students, Courses, Sections, Departments, Instructors.

Relationships:

  • Sections belong to specific Courses.
  • Students enroll in Sections.
  • Courses may have prerequisites.
  • Instructors teach Sections.

Characteristics of the Database Approach

  • Self-describing Nature: Metadata stores descriptions of data (data structures, types, constraints).
  • Program-Data Independence: Changes to data structures do not require modifications to application programs.
  • Data Abstraction: Data models provide a conceptual view, hiding storage details.
  • Multiple Views of Data: Different users can see tailored views aligned to their requirements.

Sharing Data and Transaction Processing

  • Allows concurrent users to retrieve and update data.
  • Concurrency Control: Ensures correctness during simultaneous operations.
  • Recovery System: Ensures transactions are recorded permanently.
  • Online Transaction Processing (OLTP): Supports numerous transactions per second.

Database Users

Types:

  1. Actors on the Scene:

    • Database Administrators (DBA): Authorize access, monitor efficiency, manage resources.
    • Database Designers: Define structure and constraints, communicate user needs.
    • End-Users: Consume data for queries and reports.
      • Casual, Naïve/Parametric, Sophisticated, Stand-alone users.
  2. Workers Behind the Scene:

    • System Analysts: Capture user requirements, design applications.
    • Tool Developers: Create supporting software and facilitate database management.
    • Operators: Maintain DBMS hardware and software environments.

Advantages of Database Approach

  • Controls data redundancy.
  • Facilitates data sharing among users.
  • Protects against unauthorized access.
  • Provides persistent storage, optimization of queries, and recovery services.
  • Supports complex relationships and enforces integrity constraints.

Implications of Using Databases

  • Establishes standards for data-related operations improving cohesiveness in production environments.
  • Minimizes application development time and fosters flexibility in evolving data structures.
  • Ensures access to current information, especially for real-time applications.

Historical Development of Database Technology

  • Hierarchical and Network Models: Dominated in the 1960s and 70s.
  • Relational Model: Introduced in 1970, revolutionizing data management.
  • Object-oriented Database Management Systems (OODBMS): Emerged in the late 1980s addressing complex data applications.

Extending Database Capabilities

  • New functionalities in scientific applications, XML data, image storage, and data warehousing.
  • Social media and cloud-based storage are reshaping data management.
  • The rise of Big Data technologies and NoSQL databases for massive dataset handling.

When Not to Use a DBMS

  • High initial investment costs.
  • Situations with simple data needs, single-user access, or stringent real-time requirements.
  • Challenges in managing complex data with conventional DBMS models.