Database Management Systems Overview

Course Overview and Objectives

  • Course Instructor: Prof. P P Das, IIT Kharagpur

  • Topics:

  • Importance of Database Management Systems (DBMS)

  • Basic notions and terminology of DBMS

  • Data models and languages

  • Approaches to database design

Importance of Databases

  • What is a DBMS?:

  • A DBMS contains information about a particular enterprise.

  • Collection of interrelated data.

  • Set of programs to access the data.

  • Environment that is convenient and efficient to use.

  • Applications of Databases:

  • Banking: transactions

  • Airlines: reservations, schedules

  • Education: registration, grades

  • Sales: track customers and products

  • Online Retail: order tracking and recommendations

  • Manufacturing: manage inventory and production

  • HR: managing employee records and payroll

  • Challenges without DBMS:

  • Data redundancy/inconsistency

  • Difficulty in accessing data

  • Integrity problems

  • Security vulnerabilities

Course Prerequisites

  • Essential knowledge required:

  • Set Theory

  • Relations and Functions

  • Propositional Logic

  • Data Structures (e.g., arrays, lists, trees)

  • Algorithms and Programming (C language)

Module Overview

  1. Levels of Abstraction:

  • Physical Level: Data storage specifics.

  • Logical Level: Data structure and relationships.

  • View Level: Abstracted view presented to applications.

  1. Schemas and Instances:

  • Schema: Defines the logical structure of the database (e.g., tables, attributes).

  • Instance: Current data in the database at a given time.

  • Types:

    • Logical Schema: Overall schema.

    • Physical Schema: On how data is stored physically.

  1. Data Models:

  • Describes how data is stored, accessed, and manipulated.

  • Examples included:

    • Relational Model (focused in this course)

    • Entity-Relationship Model (for design)

    • Object-based Models

    • Semi-structured Models (XML)

  1. DDL and DML:

  • Data Definition Language (DDL):

    • Used to define schemas (e.g., CREATE TABLE).

    • Generates metadata.

  • Data Manipulation Language (DML):

    • Used for querying (e.g., SQL).

    • Handles data retrieval and manipulation.

  1. Database Design:

  • Logical Design: Structuring database schema.

  • Physical Design: Layout of database storage.

  • Techniques include:

    • Entity Relationship Diagram.

    • Normalization Theory.

Relational Model

  • Attributes and Types:

  • Each attribute has a domain.

  • Attributes typically require atomic values.

  • Keys:

  • Uniquely identifies records in a relation.

  • Types of keys include:

    • Superkey: Can uniquely identify tuples.

    • Candidate Key: Minimal superkey.

    • Primary Key: Selected candidate key.

    • Foreign Key: References another table.

  • Relational Algebra:

  • Set of operations to manipulate relations.

  • Key operations include:

    • Select (σ)

    • Project (π)

    • Union (∪)

    • Difference (−)

    • Intersection (∩)

    • Cartesian Product (×)

    • Natural Join (⋈)

  • Aggregate Functions: SUM, AVG, MIN, MAX.

Conclusion

  • The introductory modules laid the foundation for understanding the concepts and practices involved in database management systems, essential for modern applications and organizational efficiency.


Instructors Contact:

  • Partha Pratim Das: ppd@cse.iitkgp.ernet.in

  • Srijoni Majumdar: majumdarsrijoni@gmail.com

  • Himadri B G S Bhuyan: himadribhuyan@gmail.com

  • Gurunath Reddy M: mgurunathreddy@gmail.com

Course Resources: http://db-book.com/