CUTM1033(2-1-1)
Database Approach: Database, Approaches to Building a Database, Data Models, Database Management System (DBMS), DBMS Architecture, Building a DBMS, Components of DBMS Environment.
File Based Systems and Database Systems: File Based Approach, Database Systems, File- oriented Systems vs. Database Systems, Advantages and Disadvantages of DBMS. Data Source: Types of Data sources, Access Documents and Information from Data Sources.Roles in Database Environment: Database Users, Database Administrators (DBA)
Database installation procedure: Functionalities of MySQL Workbench, Creating a connection in MySQL Workbench, Setup the MySQL Workbench, Working of SQL Editor, Data Export & Import, Database table creation & insertion of values.
Practice:
Three Level Architecture, External Level, Conceptual Level, Internal Level, Schemas, Mappings, Instances, Data Independence, Data Abstraction, E/R Model - Conceptual data modeling - motivation, entities, entity types, various types of attributes, relationships, relationship types, E/R diagram notation, examples, Database Design & Modeling using MySQL Workbench, Create EER Diagram with MySQL Workbench.
Practice:
Relational Data Model: Concept of relations, schema-instance distinction, keys, referential integrity and foreign keys. Relational algebra operators: selection, projection, cross product, various types of joins, division, example queries, tuple relation calculus, domain relational calculus, converting the database specification in E/R notation to the relational schema.
Practice: 1. Converting an E-R diagram of a given student-section-course database to a relational schema. 2. Converting an E-R diagram of a given hospital database to a relational schema.
Database installation procedure: Database table creation & insertion of values.
Database Languages: SQL - DDL, DML, TCL, DCL
SQL: Data definition in SQL, table, key and foreign key definitions, update behaviors. Querying in SQL - basic select-from-where block and its semantics, nested queries, notion of aggregation, aggregation functions group by and having clauses.
Data Definition Language: Creating a Database, Table Operations (Create, Alter, Drop, Truncate, Comment and Rename), Creating and Removing an Index.
Practice:
1. Perform the following operations using MySQL Workbench:
2. Perform the following Altering a Table operations using MySQL Workbench:
Data Manipulation Language: Using different DML commands (Insert, Delete, Update, and Select), Sorting Results (Order By), Aggregate Functions, Join, Grouping Results (Group By) Data Control Language & Transaction Control Language: Using different DCL commands (Grant, Revoke) & using different TCL commands (Commit, Rollback and Savepoint).
Practice:
For a given set of relation schemes, create tables and perform the following using MySQL Workbench:
Perform the following Join Queries using MySQL Workbench:
Perform the following Subqueries using MySQL Workbench:
For a given set of relation tables perform the following using MySQL Workbench:
Normalization: Dependencies and Normal forms - Importance of a good schema design, problems encountered with bad schema designs, motivation for normal forms, dependency theory - functional dependencies, Armstrong's axioms for FD's, closure of a set of FD's, minimal covers, Types of Normalization: 1NF, 2NF, 3NF and BCNF, decompositions and desirable properties of them, algorithms for 3NF and BCNF normalization, multi-valued dependencies and 4NF, join dependencies and definition of 5NF.
Practice:
1. To check whether the given database table is normalized or not
Transaction processing and Error recovery: Concepts of transaction processing, ACID properties, concurrency control, locking based protocols for concurrency control, error recovery and logging, undo, redo, undo-redo logging and recovery methods.
Project:
Session | Topic | Reference Link (if any) |
---|---|---|
Session 1 & 2 | Introduction, Course overview, and Basic concepts | |
Session 3 & 4 | Introduction to Database Systems, Data Models | |
Session 5 & 6 | ER Model concepts and diagramming | |
Session 7 & 8 | Extended ER Model and Constraints | |
Session 9 & 10 | Relational Model introduction, schema and instances | |
Session 11 & 12 | Relational algebra: operations and expressions | |
Session 13 & 14 | SQL basics: DDL and DML commands | VIDEO LINK |
Session 15 & 16 | Advanced SQL: Joins, nested queries | EDUREKA VIDEO LINK |
Session 17 & 18 | Database Design: Normalization introduction | NPTEL VIDEO LINK |
Session 19 & 20 | Functional dependencies and normal forms | PPT |
Session 21 & 22 | Project: Find entity and attributes for assigned project | |
Session 23 (Module III) | Relational Data Model: Concept of relations, schema-instance distinction, Keys, Referential integrity and Foreign keys | VIDEO LINK1, VIDEO LINK2, PPT, SN-DCM23 |
Session 24 | Practice 7: University registrar’s office database modeling and ER diagram creation | Use MySQL Workbench |
Session 25 & 26 | Different types of Keys, Relational algebra operators (selection, projection, cross product), Join operation, types of joins, division | VIDEO LINK, NPTEL VIDEO LINK, PPT, SN-DCM25-26 |
Session 27 | Converting E/R notation to relational schema | NPTEL VIDEO LINK |
Session 28 | Practice 8: Convert E-R diagram of student-section-course DB to relational schema | |
Session 29 | Example queries, Tuple Relational Calculus | NPTEL VIDEO LINK, PPT |
Session 30 | Practice 9: Convert E-R diagram of hospital database to relational schema | |
Session 31 | Domain Relational Calculus | NPTEL VIDEO LINK, PPT |
Session 32 | Project: Design EER diagram for assigned project | |
Session 33 & 34 (Module IV) | Database Languages: SQL - DDL, DML, TCL, DCL. Data definition, querying basics, aggregation, group by, having clauses | COURSERA VIDEO LINK, EDUREKA VIDEO LINK, PPT, SN-DCM33-34 |
Session 35 | Project: Convert ER diagram to Relational schema diagram | |
Session 36 & 37 | Data Definition Language: Creating database, table operations, index creation | VIDEO LINK1, VIDEO LINK2, NPTEL VIDEO LINK, PPT, SN-DCM36-37 |
Session 38 | Practice 10 & 11: DQL operations using MySQL Workbench (Create DB, Create/Alter Tables, Insert, Update, Delete, Commit, Rollback) | IITB VIRTUAL LAB LINK |
Session 39 (Module V) | Data Manipulation Language: Insert, Delete, Update, Select commands | VIDEO LINK, NPTEL VIDEO LINK, SN-DCM39 |
Session 40 & 41 | Sorting results (ORDER BY), Aggregate functions, Grouping (GROUP BY), Joins | VIDEO LINK, NPTEL VIDEO LINK, EDUREKA VIDEO LINK |
Session 42 |
Practice 12, 13 & 14: - DML: Simple and aggregate queries, group by, having - DCL & TCL operations - Join queries (Inner, Outer) - Subqueries (IN, EXISTS) - Creating and managing Views |
IITB VIRTUAL LAB LINK |
Session 43 | DCL & TCL commands: Grant, Revoke, Commit, Rollback, Savepoint | VIDEO LINK |
Session 44 (Module VI) | Normalization: Dependencies and Normal Forms, importance of schema design | NPTEL VIDEO LINK, PPT, SN-DCM44 |
Session 45 | 1NF and 2NF explanation and examples | NPTEL VIDEO LINK |
Session 46 | 3NF and BCNF explanation and examples | NPTEL VIDEO LINK |
Session 47 & 48 | Normalization practice problems | |
Session 49 | Decomposition of relations, Lossless join property, Dependency preservation | NPTEL VIDEO LINK |
Session 50 & 51 | Introduction to Transactions and Concurrency Control | NPTEL VIDEO LINK |
Session 52 & 53 | Database Recovery Techniques, ACID properties | NPTEL VIDEO LINK |
Session 54 | Course review, Q&A, Final project discussion |