OUTLINE: A Database Management System (DBMS) is a software system which is designed to effectively store, organize, update, insert and query bulk of data. With the inception of the idea of relational data models since 1970, the DBMS industry has seen growth of approximately $100 billion a year and incrementally increases by about 25% per year. Due to the advent of emerging internet applications and online portals, they heavily rely upon DBMS design and implementation, thus the database market is expected to grow even faster to ensure data integrity, security and ease of update.
OBJECTIVES: The concepts related to database, database techniques, SQL queries and database operations are introduced in this course. This course provides the strong foundations of database system to design and develop database applications.
COURSE OUTLINE (TOPICS): The following list of topics is very tentative, and based on available time slots, some topics may be dropped or added or reordered.
Module-I: Database System Concepts and Architecture - Data Models, Schemas, and Instances; Three-Level Architecture and Data Independence; Database Languages and Interfaces; Centralized and Client/Server Architectures for DBMS.
Module-II: Data Modeling - Entity-Relationship Diagram, super key, candidate key, primary key, Aggregation, reducing ER diagrams to tables, extended ER model;
Module-III: Relational Model - Constraints, Languages, Design, and Programming, Relational Database Schemas, Update Operations and Dealing with Constraint Violations; Relational Algebra and Relational Calculus.
Module-IV: Normalization for Relational Databases: Functional Dependencies and Normalization; Algorithms for Query Processing and Optimization; Transaction Processing, Concurrency Control Techniques, Database Recovery Techniques, Object and Object-Relational Databases; Database Security and Authorization.
Lab: SQL (Structured Query Language): Data Definition and Data Types; Constraints, Queries, Insert, Delete, and Update Statements; Views, Stored Procedures and Functions; Database Triggers, SQL Injection.
Reference Books
Silberschatz, H. Korth & S. Sudarshan, Database System Concepts, McGraw-Hill Education, 6th Edition, 2010.
R. Elmasri & S.B. Navathe, Fundamentals of Database Systems, Pearson Education, 6th edition, 2010.
C.J.Date, A.Kannan, S.Swamynathan, An Introduction to Database Systems, 8th Edition, Pearson Education, 2006.
J. D. Ullman, Principles of Database Systems, 2nd Ed., Galgotia Publications, 1999.
R. Ramakrishnan & J. Gehrke, Database Management Systems, 3rd edition, McGraw Hill Education, 2014.
PRE-REQUISITES: Knowledge of basic programming and data structures is useful to understand the course rigously. In addition, operating system basics will be added advantage.