Fundamentals of Database Systems
Fundamentals of Database Systems. Instructor: Dr. Arnab Bhattacharya, Department of Computer Science and Engineering, IIT Kanpur. Databases are at the core of all successful digital systems. The course will introduce the basics of database systems. In addition to the traditional relational database systems, it will also introduce briefly the new paradigm of NoSQL databases used in big data systems.
The topics will cover all important aspects including normalization, query processing and transactions. (from nptel.ac.in)
Lecture 01 - Introduction to Databases |
Lecture 02 - Relational Data Model |
Lecture 03 - Relational Algebra: Basic Operators - Select, Project, Union, Set Difference, Cartesian Product, Rename |
Lecture 04 - Relational Algebra: Composition of Operators |
Lecture 05 - Relational Algebra: Additional Operators - Set Intersection, Join, Division, Assignment |
Lecture 06 - Extended Relational Algebra - Generalized Projection, Aggregation, Outer Join |
Lecture 07 - Relational Algebra: Database Modifications - Deletion, Insertion, Updating |
Lecture 08 - SQL (Structured Query Language): Introduction and Data Definition |
Lecture 09 - SQL: Basic Queries |
Lecture 10 - SQL: Advanced Queries |
Lecture 11 - SQL: Updates, Joins, Views and Triggers |
Lecture 12 - Normalization Theory: Motivation |
Lecture 13 - Normalization Theory: 1NF and 2NF |
Lecture 14 - Normalization Theory: 3NF |
Lecture 15 - Normalization Theory: BCNF |
Lecture 16 - Normalization Theory: MVD (Multi-Valued Dependency) |
Lecture 17 - Physical Design: Physical Storage Medium |
Lecture 18 - Database Indexing: Hashing |
Lecture 19 - Database Indexing: Tree-Based Indexing |
Lecture 20 - Query Processing: Selection |
Lecture 21 - Query Processing: Sorting |
Lecture 22 - Query Processing: Nested-Loop Joins and Merge Join |
Lecture 23 - Query Processing: Hash Join and Other Operations |
Lecture 24 - Query Optimization: Equivalent Expressions and Simple Equivalence Rules |
Lecture 25 - Query Optimization: Complex Equivalence Rules |
Lecture 26 - Query Optimization: Join Order |
Lecture 27 - Query Optimization: Heuristics and Sizes |
Lecture 28 - Database Transactions: Properties and Failures |
Lecture 29 - Database Transactions: States and Systems |
Lecture 30 - Recovery Systems: Deferred Database Modification |
Lecture 31 - Recovery Systems: Immediate Database Modification |
Lecture 32 - Recovery Systems: Checkpointing and Shadow Paging |
Lecture 33 - Transaction Schedules: Introduction |
Lecture 34 - Transaction Schedules: Conflict Serializability |
Lecture 35 - Transaction Schedules: View Serializability |
Lecture 36 - Transaction Schedules: Result Equivalence and Testing for Serializability |
Lecture 37 - Transaction Schedules: Recoverability |
Lecture 38 - Concurrency Control: Locks |
Lecture 39 - Concurrency Control: Two-phase Locking Protocol |
Lecture 40 - Concurrency Control: Timestamp Ordering Protocol |
Lecture 41 - Concurrency Control: Validation-based Protocol |
Lecture 42 - Concurrency Control: Multiple Granularity for Locks |
Lecture 43 - Concurrency Control: Deadlock Prevention and Deadlock Detection |
Lecture 44 - Concurrency Control: Deadlock Recovery and Update Operations |
Lecture 45 - NoSQL: Introduction and Properties |
Lecture 46 - NoSQL: Columnar Families |
Lecture 47 - NoSQL: Different NoSQL Systems |
Lecture 48 - Big Data |
References |
Fundamentals of Database Systems
Instructor: Dr. Arnab Bhattacharya, Department of Computer Science and Engineering, IIT Kanpur. The course will introduce the basics of database systems.
|