DBMS Syllabus
DBMS Syllabus
MODULE 1
Databases and Database users: Introduction, Characteristics of database approach,
Advantages of using the DBMS approach, Database system concepts: Data Models,
Schemas, and Instances. Three schema architecture and data independence, database
languages, and interfaces, The Database System environment, Data Modeling using
Entities and Relationships Model: using high-level conceptual data models for Entity types,
Entity sets, attributes and keys, Relationship Types, Relationship sets, roles, and structural
constraints, Weak entity types,ER diagrams examples.
MODULE 2
Relational Data Model and Relational Database Constraints: Relational Model Concepts,
Relational Model Constraints and relational database schemas, Update operations,
transactions, and dealing with constraint violations, Relational Algebra: Unary relational.
operations, Relational Algebra operations from set theory, Binary relational operations,
Relational Database Design using ER-to-Relational mapping.
MODULE 3
Basic SQL: SQL data definition and data types, specifying constraints in SQL, retrieval
queries
in SQL, INSERT, DELETE, and UPDATE statements in SQL, More SQL: More complex
SQL retrieval queries, Specifying constraints as assertions and action triggers, Views in
SQL, Schema change statements in SQL
MODULE 4
Database design: Informal Design Guidelines for Relation Schemas; Functional
Dependencies; General Definitions of Second and Third Normal Forms; Boyce Codd
Normal Form. Further Topics in Functional Dependencies: Inference Rules, Equivalence,
and Minimal Cover, Properties of Relational Decompositions, Algorithms for Relational
Database Schema
MODULE 5
Transaction Processing: Introduction to Transaction Processing, Transaction states and
additional operations, Desirable properties of Transactions, characterizing schedules based
on Serializability, Concurrency Control in Databases: Two-Phase Locking Techniques for
Concurrency Control
PRACTICAL MODULE
Module3 Demonstration
1. Consider the following schema for a Library Database:
BOOK (BOOK_ID, TITLE, PUBLISHER_NAME, PUB_YEAR)
BOOK_AUTHORS (BOOK_ID, AUTHOR_NAME)
PUBLISHER (NAME, ADDRESS, PHONE)
BOOK_COPIES (BOOK_ID, BRANCH_ID, NO_OF_COPIES)
BOOK_LENDING (BOOK_ID, BRANCH_ID, CARD_NO, DATE_OUT, DUE_DATE)
LIBRARY_BRANCH (BRANCH_ID, BRANCH_NAME, ADDRESS)
CARD (CARD_NO)
Write SQL queries to
a) Retrieve details of all books in the library – id, title, name of publisher, authors, number
of copies in each branch.
b) Get the particulars of borrowers who have borrowed more than 3 books, but from Jan
2017 to Jun 2017.
c) Partition the BOOK table based on year of publication. Demonstrate its working with a
simple query.
d) Create a view of all books and its number of copies that are currently available in the
library.
Delete a book in the BOOK table. Update the contents of other tables to reflect this data
manipulation operation.