Course Code: CS245
Course Name: Database Management Systems
Prerequisites: CS203
Syllabus: Using DBMS as a black box: ER Model, relational model and algebras, SQL, normalization. Internals of relational DBMS: file organizations, indexing (tree, hash, and bitmap), implementation of relational operators. Transaction management: ACID properties, concurrency control, crash recovery. Non-relational DBMS: consistency and availability trade-offs, NoSQL DBMS (key-value, document, and graph).
Texts: 1. R. Ramakrishnan, J. Geherke, Database Management Systems, McGraw Hill, 2014.
2. P. Sadalage and M. Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence, Addison Wesley, 2012.
3. H. Garcia-Molina, J. Ullman, J. Widom, Database System: The Complete Book, 2nd Edition, Pearson, 2013.
References: 1. P. Bailis, J. Hellerstein, M. Stonebraker, Readings in Database Systems, 5th Edition, available under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 license, http://www.redbook.io/pdf/redbook-5th-edition.pdf, 2015.