Tribhuvan University
Institute of Science and Technology
Bachelor of Science in Computer Science and Information Technology
| Course Title: Database Management System | Full Marks: 60 + 20 + 20 |
| Course no: CSC265 | Pass Marks: 24 + 8 + 8 |
| Semester: IV | Credit Hours: 3 |
| Nature of course: Theory + Lab | |
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.
Course Contents
Unit 1. Database and Database Users (2 Hrs.)
- Introduction; Characteristics of the Database Approach; Actors on the Scene; Workers behind the Scene; Advantages of Using the DBMS Approach
Unit 2. Database System – Concepts and Architecture (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
Unit 3. Data Modeling Using the Entity-Relational Model (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
Unit 4. The Relational Data Model and Relational Database Constraints (3 Hrs.)
- Relational Model Concepts; Relational Model Constraints and Relational Database Schemas; Update Operations, Transactions, and Dealing with Constraint Violations
Unit 5. The Relational Algebra and Relational Calculus (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
Unit 6. SQL (8 Hrs.)
- Data Definition and Data Types; Specifying Constraints; Basic Retrieval Queries; Complex Retrieval Queries; INSERT, DELETE, and UPDATE Statements; Views
Unit 7. Relational Database Design (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
Unit 8. Introduction to Transaction Processing Concepts and Theory (4 Hrs.)
- Introduction to Transaction Processing; Transaction and System Concepts; Desirable Properties of Transactions; Characterizing Schedules Based on Recoverability; Characterizing Schedules Based on Serializability
Unit 9. Concurrency Control Techniques (4 Hrs.)
- Two-Phase Locking Technique; Timestamp Ordering; Multiversion Concurrency Control; Validation (Optimistic) Techniques and Snapshot Isolation Concurrency Control
Unit 10. Database Recovery Techniques (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
Laboratory Works
The laboratory work includes writing database programs to create and query databases using basic and advanced features of structured query language (SQL).
Text Books
- Fundamentals of Database Systems; Seventh Edition; Ramez Elmasri, Shamkant B. Navathe; Pearson Education
- Database System Concepts; Sixth Edition; Avi Silberschatz, Henry F. Korth, S. Sudarshan; McGraw-Hill
Reference Books
- Database Management Systems; Third Edition; Raghu Ramakrishnan, Johannes Gehrke; McGraw-Hill
- A First Course in Database Systems; Jeffrey D. Ullman, Jennifer Widom; Third Edition; Pearson Education Limited