Logo

BITM Database Management System

bitmsemester 4

Database Management System

Subject Code: IT220

Course Title: Database Management System

Course No: IT220

Nature of Course: Theory & Practical

Full Marks: 60

Pass Marks: 30

Credit Hours: 3

Course Description

The course covers different concepts of database management systems including database system concepts and architecture, ER diagram, relational model, relational Calculus, SQL, normalization, transaction processing, concurrency control, and database recovery. This course also covers some advanced concepts of databases such as performance tuning, security, parallel and distributed database, data warehousing, data mining and bigdata.

Course Objective

The main objective of this course is to introduce different concepts of database management system from theoretical and practical aspects.

Course Contents

Course Contents Teaching Methodology Teaching Hours
Unit 1: Database Concepts and Architecture (4 Hrs.)
Database, Database Management System, Database Users, Database Administrator, advantages of Databases Lecture/Lab
Data Models, Schemas, and Instances
Three-Schema Architecture and Data Independence
Database Languages and Interfaces
the Database System Environment
Centralized and Client/Server Architectures for DBMSs
Classification of Database Management Systems
Unit 2: Data Modelling Using Entity-Relational Model and Relational Model (8 Hrs.)
Using High-Level Conceptual Data Models for Database Design Lecture/Lab
Entity Types, Entity Sets, Attributes, and Keys
Relationship Types, Relationship Sets, Roles, and Structural Constraints
Weak Entity Types
ER Diagrams, Naming Conventions, and Design Issues
Relationship Types of Degree Higher Than Two
Concepts of Specialization and Generalization
Constraints and Characteristics of Specialization and Generalization
Converting ER Diagrams to Tables
Unit 3: The Relational Algebra and Relational Calculus (5 Hrs.)
Introduction of Relational Algebra, Unary Relational Operations: SELECT and PROJECT Lecture/Lab
Relational Algebra Operations from Set Theory
Binary Relational Operations: JOIN and DIVISION
Additional Relational Operations
the Tuple Relational Calculus
the Domain Relational Calculus
Unit 4: Database Normalization (4 Hrs.)
Informal Design Guidelines for Relational Schemas Lecture/Lab
Functional Dependencies
Normal Forms Based on Primary Keys
First, Second and Third Normal Forms
Boyce-Codd Normal Form
Multivalued Dependency and Fourth Normal Form
Properties of Relational Decomposition
Unit 5: SQL (15 Hrs.)
Data Definition Language and Data Types, Specifying Constraints, Domain Types in SQL, Schema Definition in SQL Lecture/Lab
Data Manipulation Language: The select Clause, The where Clause, The from Clause, The Rename Operation, Tuple Variables, String Operations, Ordering the Display of Tuples, Duplicate Tuples
Set Operations
Aggregate Functions
Null Values
Nested Subqueries: Set Membership, Set Comparison, Test for Empty Relations, Test for the Absence of Duplicate Tuples
Derived Relations: Views
Modification of the Database: Deletion, Insertion, Updates, Updates, Update of a view
Joined Relations: Join types and Conditions, Basic concepts of Stored Procedure, DML Triggers, and Indexing
Unit 6: Transaction Processing, Concurrency Control and Recovery Techniques (8 Hrs.)
Introduction to Transaction Processing Lecture/Lab
Transaction and System Concepts
Desirable Properties of Transactions
Serializable Schedule
Two-Phase Locking and Timestamp Ordering Concurrency Control Techniques
Recovery Concepts
NO-UNDO/REDO Recovery Based on Deferred Update
Recovery Technique Based on Immediate Update
Shadow Paging
Database Backup and Recovery from Catastrophic Failures
Unit 7: Advanced Topics (4 Hrs.)
Database Performance Tuning Lecture/Lab
Database Security
Concept of Parallel and Distributed Databases
Concept of Data Warehousing and Data Mining, BigData, and NoSQL databases

Text Books

1. Fundamentals of Database Systems; Seventh Edition; Ramez Elmasri, Shamkant B. Navathe; Pearson Education
2. Database System Concepts; Sixth Edition; Avi Silberschatz, Henry F Korth, S Sudarshan; McGraw-Hill
3. NoSQL for Dummies; Adam Fowler; John Wiley & Sons, Inc.
4. Principles of Distributed Database Systems; M. Tamer Ozsu and Patrick Valduriez; Fourth Edition; Springer 2020
5. Database Management Systems; Third Edition; Raghu Ramakrishnan, Johannes Gehrke; McGraw-Hill
6. A First Course in Database Systems; Jaffrey D. Ullman, Jennifer Widom; Third Edition; Pearson Education Limited.

Lab Works

The laboratory work includes writing SQL statements to create databases and tables, inserting and deleting data, updating data, and writing select queries. The students are required to undertake a project work. The project work can be done individually or in group (at most 4 students).