Rajarshi Janak University
Faculty of Science, Technology and
Engineering
Course of Study for B.Sc. CSIT
(Third Semester/Second Year)
Course Title: Database Management Systems Course Code: CSIT 305
Nature of Course: Theory + Practical Full Marks: 60+20+20
Credit Hrs.:3 Pass Marks: 24+8+8
L. Hrs.: 45
Course Description:
This course introduces the fundamental concepts of database systems. This course covers data
modeling using ER and EER, relational model, relational algebra, SQL, transaction processing,
concurrency control, database recovery and security and basics of NoSQL databases.
Course Objectives:
Upon the completion of the course, students will be able to:
• Understand the concepts database management system
• Design data models and databases
• Understand and write relational algebra and SQL statements
• Normalize databases
• Apply transaction processing, concurrency control approaches to databases
• Use recovery techniques to databases
• Understand database security
• Acquaint with concepts of NoSQL databases
Course Contents:
Unit 1: Database Fundamentals [5 Hrs.]
Database, Database Management System (DBMS), Flat File System vs. DBMS, Characteristics,
Advantages, and Limitations of DBMS, Database Users: Actors on the Scene and Workers behind
the Scene. Data Models: Hierarchical, Network, Relational, Object Oriented, NoSQL, Three
Schema Architecture, Data Independence, Database Language: DDL, DML, DCL, TCL),
Database Architecture: Centralized vs. Client/Server
Unit 2: Entity-Relationship Modeling [6 Hrs.]
Conceptual Data Modeling, ER Modelling, Entity and Entity Types, Attributes and Attribute
Types, Relationships and Relationship Types, Keys, Cardinality and Participation Constraints,
Strong and Weak Entity, Construction of ER Diagrams, Extended ER: Specialization,
Generalization, Superclass and Subclass Hierarchy
Unit 3: Relational Data Model [3 Hrs.]
Relational Model, Relations, Attributes, Tuples, Domains, Constraints: Entity Integrity,
Referential Integrity, Domain Constraint, Key Constraint, Mapping ER Models to Relational
Schemas
Unit 4: Relational Algebra [4 Hrs.]
Basic Operations: Select, Project, Rename, Cartesian product, Join, Union, Intersection,
Difference: Aggregation and Grouping Operations, Tuple Calculus
Unit 5: SQL [9 Hrs.]
Data Types, DDL Statements: Create, Alter, Drop, Constraints: Check, Foreign Key Constraint,
DML Statements: Insert Statement, Select Statement, Where Clause, Order by Clause, Using Join
Operations: Equi Join, Theta Join, Natural Join, Outer Join, Groupby and Having Clause, Nested
Query, Update Statement, Delete Statement, Creating Views, Indices, Stored Procedures and
Triggers
Unit 6: Normalization [5 Hrs.]
Anomalies: insertion, deletion, update, Functional Dependencies, Normalization and its need,
Normal forms: 1NF, 2NF, 3NF, BCNF, Multi Valued Dependency and 4NF, Concepts of
Denormalization
Unit 7: Transaction Processing and Concurrency Control [6 Hrs.]
Concepts of Transaction and Transaction Processing, ACID Properties, Schedule, Schedules
Based on Serializability and Recoverability, Concurrency Control, Two Phase Locking,
Timestamp Ordering,
Unit 8: Database Recovery and Security [4 Hrs.]
Database Recovery, Deferred and Immediate Update, Shadow Paging, Backups, Database
Security, Security Mechanisms: Encryption, Access Control, SQL Injection Prevention,
Unit 9: NoSQL Databases [3 Hrs.]
Basics of NoSQL Database, Types of NoSQL Databases, Data Modeling in NoSQL, Querying
NoSQL Databases
Laboratory Works:
The laboratory work includes creating and querying databases using data base management
systems like MySQL. The work should include following:
1. Installation & setup of Data Base Management System
2. Writing SQL DDL Queries
3. Writing SQL DML Queries
4. Creating Views and Indices
5. Creating Stored Procedures and Triggers
6. Creating Database and Querying in NoSQL Database
7. A group project including complete data modeling, database schema design, DDL and
DML Queries, Stored Procedures and Triggers for some system.
Text Books / Reference Books:
1.
2. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2020). Database System Concepts (7th
ed.). McGraw-Hill.
3. Frahaan Hussain, & Kameron Hussain (2024). NoSQL Essentials: Navigating the World
of Non-Relational Databases. Sonar Publishing.
4. Ramakrishnan, R., & Gehrke, J. (2014). Database Management Systems (3rd ed.).
McGraw-Hill.
5. Anthony DeBarros (2024). Practical SQL, 2nd Edition: A Beginner's Guide to
Storytelling with Data (2nd ed). No Starch Press
6. Sadalage, P. J., & Fowler, M. (2012). NoSQL Distilled. Addison-Wesley. .
7. Kleppmann, M. (2017). Designing Data-Intensive Applications. O’Reilly.