Introduction to Database Systems 1

Introduction to Database

  • Prepared by: Mr. Yousif Sufyan

Outline

  • Types of Databases and Database Applications

  • Basic Definitions

  • Typical DBMS Functionality

  • Example of a Database (UNIVERSITY)

  • Main Characteristics of the Database Approach

  • Database Users

  • Advantages of Using the Database Approach

  • When Not to Use Databases

Types of Databases and Database Applications

Traditional Applications

  • Numeric and Textual Databases

More Recent Applications

  • Multimedia Databases

  • Geographic Information Systems (GIS)

  • Data Warehouses

  • Real-time and Active Databases

  • Diverse other applications

Basic Definitions

  • Database: A collection of related data.

  • Data: Known facts that can be recorded and have an implicit meaning.

  • Mini-world: A portion of the real world about which data is stored (e.g., student grades at a university).

  • Database Management System (DBMS): Software for creating and maintaining computerized databases.

  • Database System: DBMS software plus the data itself, sometimes including applications.

Simplified Database System Environment

  • Components of a database system:

    • Users/Programmers

    • Application Programs/Queries

    • DBMS Software

    • Software to access stored data

    • Stored Database

DBMS Functionality

  • Defining Database: Establishing data types, structures, and constraints.

  • Constructing or Loading: Initial database content on secondary storage.

  • Manipulating Database:

    • Retrieval: Querying, generating reports.

    • Modification: Insertions, deletions, updates.

    • Access through Web applications.

  • Processing and Sharing:

    • Handling multiple users and applications while ensuring data validity and consistency.

Other Features of DBMS

  • Protection/Security: Prevents unauthorized access.

  • Active Processing: Performs internal actions on data.

  • Presentation/Visualization of Data.

  • Maintenance: Sustaining the database and its applications over time.

Example of a Database (Conceptual Model)

Mini-world for University

Entities
  • STUDENTS

  • COURSES

  • SECTIONS

  • DEPARTMENTS

  • INSTRUCTORS

Relationships

  • SECTIONS belong to COURSES.

  • STUDENTS enroll in SECTIONS.

  • COURSES have prerequisites.

  • INSTRUCTORS teach SECTIONS.

  • COURSES are offered by DEPARTMENTS.

  • STUDENTS have specific majors in DEPARTMENTS.

Example of a Simple Database

Tables

  • COURSE

    Course_name

    Course_number

    Credit_hours

    Department

    Intro to Computer Science

    CS1310

    4

    CS

    Data Structures

    CS3320

    4

    CS

    Discrete Mathematics

    MATH2410

    3

    MATH

    Database

    CS3380

    3

    CS

  • SECTION

    Section_identifier

    Course_number

    Semester

    Year

    Instructor

    85

    MATH2410

    Fall

    04

    King

    92

    CS1310

    Fall

    04

    Anderson

    102

    CS3320

    Spring

    05

    Knuth

  • GRADE_REPORT

    Studentnumber

    Section_identifier

    Grade

    17

    112

    B

    17

    119

    C

    8

    85

    A

  • PREREQUISITE

    Course_number

    Prerequisite_number

    CS3380

    CS3320

    CS3320

    CS1310

Main Characteristics of the Database Approach

Self-Describing Nature

  • DBMS catalog stores metadata (description of database elements).

  • Enables DBMS software to support various database applications.

Program-Data Independence

  • Changes in data structures/storage do not require updates to DBMS access programs.

Data Abstraction

  • Data models hide storage details, providing a conceptual view for users.

  • Programs interact with data model constructs.

Support for Multiple Views

  • Different users may see tailored views of the database based on their interests.

Sharing of Data and Multi-user Transaction Processing

  • Enables simultaneous data retrieval and updates by concurrent users.

  • Concurrency control ensures correct transaction execution.

  • Recovery systems maintain transaction integrity.

  • OLTP (Online Transaction Processing) allows high-volume concurrent transactions.