Prerequisites: Data Structures
Course Objectives: The main objective of this course is
Introduce database management systems and to give a good formal foundation on the relational model of data and usage of Relational Algebra
Introduce the concepts of basic SQL as a universal Database language
Demonstratetheprinciplesbehindsystematicdatabasedesignapproachesby covering conceptual design, logical design through normalization
Provide an overview of physical design of a database system, by discussing Database indexing techniques and storage techniques
Course Outcomes: After successful completion of the course the students are able to
CO1: Understand the foundation of database management system and various data models. (Understand-L2)
CO2: Identify relational model concepts, implement various constraints, perform SQL queries and DML operations. (Understand-L2)
CO3: Apply SQL queries, functions, and work with nested queries, grouping, joins, views, and set operations. (Apply-L3)
CO4: Apply various normalization techniques for efficient data handling (Apply-L3)
CO5: Understand Transaction management, recovery & indexing techniques (Understand-L2)
UNIT I: Introduction: Database system, Characteristics (Database Vs File System), Database Users, Advantages of Database systems, Database applications. Brief introduction of different Data Models; Concepts of Schema, Instance and data independence; Three tier schema architecture for data independence; Database system structure, environment, Centralized and Client Server architecture for the database.
UNIT II: Entity Relationship Model: Introduction, Representation of entities, attributes, entity set, relationship, relationship set, constraints, sub classes, super class, inheritance, specialization, generalization using ER Diagrams. Relational Model: Introduction to relational model, concepts of domain, attribute, tuple, relation, importance of null values, constraints (Domain, Key constraints, integrity constraints) and their importance, Relational Algebra, Relational Calculus.
UNIT III: SQL: BASIC SQL: Simple Database schema, data types, table definitions (create, alter), different DML operations (insert, delete, update). SQL querying (select and project) using where clause, arithmetic & logical operations, SQL functions (Date and Time, Numeric, String conversion). Creating tables with relationship, implementation of key and integrity constraints, nested queries, subqueries, grouping, aggregation, ordering, implementation of different types of joins, view (updatable and non-updatable), relational set operations.
UNIT IV: Schema Refinement(Normalization): Purpose of Normalization or schema refinement, concept of functional dependency, normal forms based on functional dependency Lossless join and dependency preserving decomposition, (1NF, 2NF and 3 NF), concept of surrogate key, Boyce- Codd normal form (BCNF), MVD, Fourth normal form(4NF), Fifth Normal Form (5NF).
UNIT V: Transaction Processing and Concurrency Control: Transaction State, ACID properties, Concurrent Executions, Serializability, Recoverability, Implementation of Isolation, Testing for Serializability. Two-Phase Locking Techniques for concurrency control: Types of Locks, Time stamp-based locking. Introduction to Recovery Protocols: Recovery Concepts, No-UNDO/REDO Recovery Based on Deferred Update, Recovery Techniques Based on Immediate Update, Shadow Paging, ARIES. Introduction to Indexing: Hash based Indexing
Text Books:
1. Database Management Systems,3rd edition, Raghurama Krishnan, Johannes Gehrke, TMH (For Chapters 2, 3, 4)
2. Database System Concepts,5th edition, Silberschatz, Korth, Sudarsan, TMH (For Chapter 1 and Chapter 5)
Reference Books:
1. Introduction to Database Systems,8th edition, CJ Date, Pearson.
2. Database Management System,6th edition, Ramez Elmasri, Shamkant B. Navathe, Pearson
3. Database Principles Fundamentals of Design Implementation and Management, Corlos Coronel, Steven Morris, Peter Robb, Cengage Learning.
Web-Resources:
1. https://nptel.ac.in/courses/106/105/106105175/
2. https://infyspringboard.onwingspan.com/web/en/app/toc/lex_auth_012758066672820 22456_shared/overview