Course Objectives At the end of the course the student will be able to: 1. Differentiate database systems from traditional file systems by enumerating the features provided by database systems.. 2. Design entity-relationship diagrams to represent simple database applications 3. Construct relational algebraic expressions for queries using the concepts of relational database theory 4. Formulate using SQL, solutions to a broad range of query and data update problems 5. Apply Normalization to improve database design 6. Identify the basic issues of transaction processing and concurrency control. Syllabus Unit 1 Introduction: Characteristics of Database approach, Actors on the Scene, Workers behind the scene, Advantages of using DBMS approach, Data models, schemas and instances, Threeschema architecture and data independence, Database languages and interfaces, the database system environment, Centralized and client-server architectures, Classification of Database Management systems, Entity-Relationship Model: Conceptual Database using high level conceptual data models for Database Design, A Sample Database Application, Entity types, Entity sets Attributes and Keys Relationship types, Relationship Sets, Roles and Structural Constraints Weak Entity Types.. Unit 2 Relational Model and Relational Algebra: Relational Model Concepts, Relational Model Concepts, Relational Model Constraints and Relational Database Schema Update Operations, Transactions and Dealing with Constraint violations, Unary Relational operations, Relational Algebra Operations from Set Theory, Binary Relational Operations, JOIN and DIVISION, Additional Relational Operations, Examples of Queries in Relational Algebra Relational Database Design Using ER- to-relational Mapping. Unit 3 Introduction to SQL: Overview of the SQL Query Language, SQL Data Definition, Basic structure of SQL Queries, Additional Basic Operations, Null values, Aggregate Functions, nested Sub queries, Modification of the Database, Join Expressions, Views, Transactions, Integrity Constraints, SQL Data Types and Schemas, Authorization. Database programming issues and techniques, Embedded SQL. Unit 4
Database Design: Informal Design Guidelines for Relation Schemas, Functional Dependencies, Normal Forms based on Primary Keys, General Definitions of 2nd and 3rd Normal Forms, Boyce Codd Normal Forms, Multivalued Dependencies and IV Normal Forms, Join Dependencies and V Normal Forms, Inference Rules, Equivalence and Minimal Cover, Properties of Relational Decomposition, Algorithms for relational database schema design. Unit 5 Transaction Management: Transaction Concept, A Simple Transaction Model, Transaction Atomicity and Durability, Serializability, Transaction Isolation and Atomicity, Transaction Isolation Levels, Implementation of Isolation Levels. Concurrency Control: Lock-Based Protocols, Deadlock Handling. Recovery System: Failure Classification, Storage, Recovery and Atomicity, Recovery Algorithm Text Book: 1. Elmasri and Navathe: Fundamentals of Database Systems, 5th Edition, Addison-Wesley, 2011. 2. Silberschatz, Korth and Sudharshan: Data base System Concepts, 6th Edition, Tata McGraw Hill, 2011 Reference Books: 1..C.J. Date, A. Kannan, S. Swamynatham: An Introduction to Database Systems, 8th Edition, Pearson education, 2009
Concept map Course Contents and Lecture Schedule Lesson No Topic Duration Unit 1 11Hrs 1. Introduction: Characteristics of Database approach 2. Advantages of using DBMS approach 3. Data models, schemas and instances 4. Three-schema architecture and Data Independence 5. Database Languages and Interfaces 6. Database system environment, Centralized and Client-Server Architectures for DBMSs
7. Classification of Database Management systems 8. Entity types, Entity sets, Attributes and keys 9. Relationship types, sets, roles and structural constraints 10. Weak entity types, Naming conventions and design issues. 11. ER Diagrams. Unit 2 1s 12. Relational Model Concepts 13. Relational Model constraints and Relational Database Schemas 14. Update Operations, Transactions and Dealing with Constraint Violations. 15. Unary Relational Operations: SELECT and PROJECT 16. Relational Algebra Operations from Set Theory 17. Binary Relational Operations: JOIN and DIVISION 18. Additional Relational Operations, Generalized projection 19. Aggregate functions and grouping 20. Recursive Closure Operations 21. OUTER JOIN, OUTER UNION operations 22. Relational Database Design Using ER- to-relational Mapping Unit 3 1s 23. SQL Data Definition and Data Types 24. Specifying constraints in SQL 25. Schema change statements in SQL 26. Basic queries in SQL 27. More complex SQL Queries 28. Insert, Delete and Update statements in SQL 29. Specifying constraints as Assertion and Trigger 30. Views (Virtual Tables) in SQL 31. Additional features of SQL
32. Database programming issues and techniques 33. Embedded SQL. Unit 4 1s 34. Informal Design Guidelines for Relation Schemas 35. Functional Dependencies, Inference rules for functional dependencies 36. Equivalence of sets of functional dependencies, Minimal sets of functional dependencies 37. Normal forms based on primary keys 38. First Normal Form, Second Normal Form, Third Normal Form 39. General definitions of Second and Third Normal Forms, Boyce-codd Normal Form 40. Dependency Preservation property of a Decomposition, Non additive Join property of a Decomposition 41. Algorithms for relational database schema design 42. Multivalued dependencies and Fourth Normal Form 43. Join dependencies and Fifth Normal Form 44. Inclusion Dependencies, Other dependencies and Normal Forms Unit 5 12Hrs 45. Introduction to Transaction Processing, Transaction Concept, 46. Desirable Properties of Transactions, Characterizing Schedules Based on Recoverability 47. Characterizing Schedules Based on Serializability, Transaction Support in SQL 48. Two-Phase Locking Techniques for Concurrency Control 49. Concurrency Control Based on Timestamp Ordering 50. Multiversion Concurrency Control Techniques 51. Validation (Optimistic) Concurrency Control Techniques, Granularity of Data Items and Multiple Granularity Locking 52. Using Locks for Concurrency Control in Indexes, Other Concurrency Control Issues. 53. Recovery Concepts, Recovery Techniques Based on Deferred Update
54. Recovery Techniques Based on Immediate Update, Shadow Paging 55. The ARIES Recovery Algorithm 56. Recovery in Multidatabase Systems, Database Backup and Recovery from Catastrophic Failures Course Outcomes At the end of the course students should be able to: CO1: Differentiate database systems from traditional file systems by enumerating the features provided by database systems.. CO2: Design entity-relationship diagrams to represent simple database applications CO3: Construct relational algebraic expressions for queries using the concepts of relational database theory CO4: Formulate using SQL, solutions to a broad range of query and data update problems CO5: Apply Normalization to improve database design CO6: Identify the basic issues of transaction processing and concurrency control