Data Models and Query Languages : CSE 460/560

Instructor : Dr. Sreyasee Das Bhattacharjee

Email : sreyasee@buffalo.edu
Office: Davis Hall 349
Office Hours: Fri 300pm – 400pm and By Appointment

General Information

Lecture Times: T R, 5:30 PM - 6:45 PM

TA(s): Keyan Guo, Zhenyi Wang, & Jyoti Sinha(Davis 3rd floor)

Course Prequisites:Knowledge of fundamental data structures and algorithms, knowledge of discrete math concepts, basic Java programming skills.

Course Overview: Data Management Systems form the basis of the Big Data Economy we now live in. A data management system is responsible for storing data, enabling efficient access to that data, as well as mediating concurrent modifications. This class approaches the challenges of designing a data management system from a standpoint that is both principled and practical. Students will be introduced to the fundamental data management issues: database design, query languages, database file organization, query processing and optimization, transaction processing. Course lectures will focus on the conceptual basis for this system and how they form the foundations for implementing efficient algorithms of data mining and other data analytic tasks.

Piazza : We will use Piazza to answer questions and post announcements about the course. Please sign up here.

Grade Composition :       Project: 20%
                          Written Assignments: 20%
                          Mid-term(s): 20%
                          Final: 20%
                          Class Quizzes: 15%
                          Class Participation: 5%

Textbook/Refrence Books:

  • Avi Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts, Seventh Edition, McGraw-Hill, 2019.
  • H. Garcia-Molina, J. D. Ullman, J. Widom, Database Systems: The Complete Book, Second Edition, Prentice Hall, 2009.
  • Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems, Third Edition, Mcgraw-Hill Cos, 2003.
  • Course Schedule (Tentative)

    1. Relational Model (≈ 4-4.5 weeks): SQL, DDL, DML, Relational Algebra, Integrity Constraints, Advanced features of SQL etc.
    2. Database design (≈ 1.5 weeks): multivalued dependencies, normal forms, design theory.
    3. Indexing (≈ 2-3 weeks): disk storage, buffering, heap files, sorted files, hashed files, B+ trees, sparse and dense indexes.
    4. Transaction processing (≈ 1.5-2 weeks): concurrency control, recovery, distribution.
    5. Data Mining & Information Retrieval (≈ 1 week)

    Academic Integrity:
    (Short) Don’t cheat! You will be caught and punished. Our department is serious about graduating ethical and upstanding computer scientists. The policy has recently been updated and will be enforced.
    (Long) All academic work must be your own. Plagiarism, defined as copying or receiving materials from a source or sources and submitting this material as one’s own without acknowledging the particular debts to the source (quotations, paraphrases, basic ideas), or otherwise representing the work of another as one’s own, is never allowed. Collaboration, usually evidenced by unjustifiable similarity, is never permitted in individual assignments. Any submitted academic work may be subject to screening by software programs designed to detect evidence of plagiarism or collaboration. Also, do not post any of the course material outside of the Course piazza page. It will be interpreted as an attempt to get non-approved help. For more info :
    UB CSE Academic Integrity

    Working with others: Please do help each other! This material is fun, but can be challenging. Discussing it with peers can deepen your understanding. You can talk about the homework problems and ways of approaching them, however, every person must write up solutions and code separately. We will compare all submissions with each other AND non-approved sources. I you can find something online, so we can we.

    Special Accommodations: In case of need of special accommodations please go the following link for more information.
    Special Accommodations.