Database Management System(DBMS) Syllabus
This page contains Syllabus of Database Management System of CSIT.
Title | Database Management System |
Short Name | DBMS |
Course code | CSC260 |
Nature of course | Theory + Lab |
Fourth Semester | |
Full marks | 60 + 20 + 20 |
Pass marks | 24 + 8 + 8 |
Credit Hrs | 3 |
Elective/Compulsary | Compulsary |
Course Description
Course Description: The course covers the basic concepts of databases, database system
concepts and architecture, data modeling using ER diagram, relational model, SQL, relational
algebra and calculus, normalization, transaction processing, concurrency control, and
database recovery.
Course Objective: The main objective of this course is to introduce the basic concepts of
database, data modeling techniques using entity relationship diagram, relational algebra and
calculus, basic and advanced features SQL, normalization, transaction processing,
concurrency control, and recovery techniques.
Units and Unit Content
- 1. Database and Database Users
- teaching hours: 2 hrs
Introduction; Characteristics of the Database Approach; Actors on the Scene; Workers behind
the Scene; Advantages of Using the DBMS Approach
- 2. Database System – Concepts and Architecture
- teaching hours: 3 hrs
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
- 3. Data Modeling Using the Entity-Relational Model
- teaching hours: 6 hrs
Using High-Level Conceptual Data Models for Database Design; 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; Subclasses, Superclasses, and Inheritance; Specialization and
Generalization; Constraints and Characteristics of Specialization and Generalization
- 4. The Relational Data Model and Relational Database
- teaching hours: 3 hrs
Relational Model Concepts; Relational Model Constraints and Relational Database Schemas;
Update Operations, Transactions, and Dealing with Constraint Violations
- 5. The Relational Algebra and Relational Calculus
- teaching hours: 5 hrs
Unary Relational Operations: SELECT and PROJECT; Relational Algebra Operations from Set
Theory; Binary Relational Operations: JOIN and DIVISION; Additional Relational Operations;
the Tuple Relational Calculus; the Domain Relational Calculus
- 6. SQL
- teaching hours: 8 hrs
Data Definition and Data Types; Specifying Constraints; Basic Retrieval Queries; Complex
Retrieval Queries; INSERT, DELETE, and UPDATE Statements; Views
- 7. Relational Database Design
- teaching hours: 7 hrs
Relational Database Design Using ER-to-Relational Mapping; Informal Design Guidelines for
Relational Schemas; Functional Dependencies; Normal Forms Based on Primary Keys; General
Definitions of Second and Third Normal Forms; Boyce-Codd Normal Form; Multivalued
Dependency and Fourth Normal Form; Properties of Relational Decomposition
- 8. Introduction to Transaction Processing Concepts an
- teaching hours: 4 hrs
Introduction to Transaction Processing; Transaction and System Concepts; Desirable Properties
of Transactions; Characterizing Schedules Based on Recoverability; Characterizing Schedules
Based on Serializability
- 9. Concurrency Control Techniques
- teaching hours: 4 hrs
Two-Phase Locking Technique; Timestamp Ordering; Multiversion Concurrency Control;
Validation (Optimistic) Techniques and Snapshot Isolation Concurrency Control
- 10. Database Recovery Techniques
- teaching hours: 3 hrs
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
Lab and Practical works
Laboratory Works:
The laboratory work includes writing database programs to create and query databases using
basic and advanced features of structured query language (SQL) like
- Data definition and data Types
- Specifying constraints (primary key, foreign key, referential integrity etc.)
- Basic and complex retrieval queries
- Aggregate functions
- INSERT, DELETE, and UPDATE Statements
- Using join and views