Database Management System
0%
Course Title: Database Management System
Course No: CSC265
Nature of the Course: Theory + Lab
Semester: 4
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hours: 3
Course Description
Course Objectives
Course Contents
1.1. Database Fundamentals
- Introduction
- Characteristics of the Database Approach
- Actors on the Scene
- Workers behind the Scene
- Advantages of Using the DBMS Approach
2.1. Database System Architecture
- 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.1. ER Model Basics
- 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
3.2. Advanced ER Concepts
- Subclasses, Superclasses, and Inheritance
- Specialization and Generalization
- Constraints and Characteristics of Specialization and Generalization
4.1. Relational Model
- Relational Model Concepts
- Relational Model Constraints and Relational Database Schemas
- Update Operations, Transactions, and Dealing with Constraint Violations
5.1. Relational Algebra
- Unary Relational Operations: SELECT and PROJECT
- Relational Algebra Operations from Set Theory
- Binary Relational Operations: JOIN and DIVISION
- Additional Relational Operations
5.2. Relational Calculus
- the Tuple Relational Calculus
- the Domain Relational Calculus
6. SQL
8 hrs
6.1. SQL Fundamentals
- Data Definition and Data Types
- Specifying Constraints
- Basic Retrieval Queries
- Complex Retrieval Queries
- INSERT, DELETE, and UPDATE Statements
- Views
7.1. Database Design Principles
- Relational Database Design Using ER-to-Relational Mapping
- Informal Design Guidelines for Relational Schemas
- Functional Dependencies
7.2. Normalization
- 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.1. Transaction Processing
- Introduction to Transaction Processing
- Transaction and System Concepts
- Desirable Properties of Transactions
- Characterizing Schedules Based on Recoverability
- Characterizing Schedules Based on Serializability
9.1. Concurrency Control Methods
- Two-Phase Locking Technique
- Timestamp Ordering
- Multiversion Concurrency Control
- Validation (Optimistic) Techniques and Snapshot Isolation Concurrency Control
10.1. Recovery Methods
- 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
- 1.Database programming using SQL
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
Reference Books
- 1.Database Management Systems; Third Edition; Raghu Ramakrishnan, Johannes Gehrke; McGraw-Hill
- 2.A First Course in Database Systems; Jaffrey D. Ullman, Jennifer Widom; Third Edition; Pearson Education Limited