3 0 0 3 45 Common to CSE/IT/AI&DS/CSBS Prerequisite: NIL Course Objective: The course aims to • Learn fundamentals of Database Management Systems and Relational Algebra. • Gain knowledge on the data models and data retrieval. • Understand normalization techniques. • Understand the essential concepts of transaction processing and concurrency control • Study the file system, indexing hashing and query processing
UNIT I DATABASE FUNDAMENTALS 9
Introduction – Database System Applications – Views of data – Data models – Database languages – Database system architecture – Introduction to relational databases – Relational Model – Structure of Relational Databases – Database Schema –Keys – Relational Query Languages –Relational algebra. UNIT II ENTITY RELATIONSHIP MODELING AND SQL 9 Database Design Process – ER model – ER diagrams – Enhanced ER Model – ER to RelationalMapping – SQL Basic Structure – Set Operations – Aggregate Functions – Sub queries – Nested Sub queries – Joins – Views– Index – Integrity Constraints – SQL data types andschemas – Authorization –Triggers. UNIT III RELATIONAL DATABASE DESIGN 9 Functional dependency – Decomposition using functional dependencies – Canonical Cover– First Normal Form – Second Normal Form – Third Normal Form – Boyce Codd Normal Form – Fourth Normal Form – Fifth Normal Form. UNIT IV TRANSACTION AND CONCURRENCY CONTROL 9 Transaction Concept – ACID properties – Transaction States – Serializability – Conflict serializability – View Serializability – Testing Serializability - Concurrency Control – Lock Based Protocols – Deadlocks – Multiple Granularity –Time stamp Based Protocols – Validation Based Protocols – Recovery System – Failure Classification– Storage– Recovery and Atomicity – Log based Recovery Algorithm. UNIT V IMPLEMENTATION TECHNIQUES AND QUERY PROCESSING 9 RAID – File organization – Organization of records in files – Data dictionary Storage–Indexing and hashing –Ordered indices – B+ Tree index files – B Tree index files – Static hashing – Dynamic hashing. Query Processing: Measures of Query Cost – Selection– Join Operation–Query Optimization. Total Hours: 45 Course Outcomes: At the end of the course, students will be able to CO1: Explain architecture and evolution of database management systems and relational algebra. CO2: Design database using ER model. CO3: Design relational databases using normalization methods for a given application. CO4: Assess different types of scheduling and recovery techniques for concurrent transactions. CO5: Describe the indexing strategies and query processing. Text Books: 1. Abraham Silberschatz, Henry F. Korth and Sudharshan S., “Database System Concepts”, Seventh Edition, Tata McGraw Hill, 2020. 2. Ramez Elmasri and Shamkant B. Navathe, “Fundamentals of Database Systems”, 7th Edition, Pearson Education, 2017. Reference Books: 1. Raghu Ramakrishnan, “Database Management Systems”, 4th Edition, McGraw-Hill Publications, 2015. 2. Date C. J, Kannan A and Swamynathan S, “An Introduction to Database Systems”, 8th Edition, Pearson Education, 2012. 3. Gupta G.K., “Database Management Systems”, Tata McGraw Hill, 2011. 4. Thomas Cannolly and Carolyn Begg, “Database Systems, A Practical Approach to Design, Implementation and Management”, Pearson Education, Fifth Edition, 2012. Web Resources: 1. https://onlinecourses.nptel.ac.in/noc22_cs91/preview 2. https://www.classcentral.com/course/swayam-data-base-management-system-9914 3. https://www.edx.org/learn/databases L T P C Hours 22UCS307 DATABASE MANAGEMENT SYSTEMS LABORATORY 0 0 4 2 60 Common to CSE/IT/AI&DS/CSBS Prerequisite: NIL Course Objectives : The course aims to • Learn data definition and data manipulation commands • Be familiar with query language • Comprehend function, triggers and procedures • Learn the use of front end tool • Be exposed to implementation of database applications List of Experiments: 1. Create relational database system using Data Definition Commands and Data Manipulation Commands 2. Query the database using simple queries and Sub queries 3. Create Database tables and Joins 4. Create and Update Views 5. Illustrate the concept of looping 6. Perform operations in SQL for Procedures and Functions 7. Creation of database triggers 8. Implementation of Cursor and its operations 9. Database Connectivity using ODBC 10. Develop a simple GUI based database application. Total Hours : 60 Hours Course Outcomes: At the end of the course, students will be able to CO1: Develop SQL commands to create and manipulate databases CO2: Design applications to test Nested and Join Queries CO3: Implement simple applications that use Views CO4: Identify advanced features such as stored procedures and triggers CO5: Solve real time problems using database concepts Software Requirements : • Front end: Python/JAVA Back end: Oracle / SQL / MySQL/ PostGress / DB2 or Equivalent Hardware Requirements: Computers Required – 30 Nos. (Minimum Requirement: Pentium III or Pentium IV with 256 RAM and 40 GB hard disk)