CSE 562: Database Systems


Last day to resign: November 10.

Instructor: Dr. Jan Chomicki (chomicki@cse.buffalo.edu)

Teaching Assistant:

Course newsgroup: sunyab.cse.562

Credit hours: 3.0

Time: T H 12:30-1:50

Location: 10 Capen

Texts:

  • A. Siberschatz, H. Korth, S. Sudarshan. Database System Concepts, 5th edition, McGrawHill, 2006.
  • G. Koch, K. Loney. Oracle 9i: The Complete Reference. Osborne McGraw-Hill, 2002.
  • Lecture transparencies:

    1. Introduction
    2. Relational data model
    3. Indexing
    4. Query optimization
    5. Database design
    6. Transactions
    7. XML databases

    Tests:

    1. Test 1: relational data model and query languages (10/12/06)
    2. Test 2: indexing and query optimization (11/09/06)

    Homeworks:

  • Homework 1 (due 09/21/06)
  • Projects:

  • Project 1 (due October 5, 2006)
  • Project 2 (due November 5, 2006):
    1. submit code (with comments) and report using "submit_cse562"
    2. prepare a user interface
    3. design a 10-min demo and bring the report to the demo
  • Project 3 (due December 10, 2006)
  • Other:

  • Advanced SQL queries (Solutions)
  • Prerequisites: A solid background in programming and data structures. A significant programming experience in C, C++, or Java.

    Grading:

    1. projects (40%)
    2. homeworks and quizzes (10%)
    3. test 1 (10%)
    4. test 2 (10%)
    5. comprehensive final (30%)

    Academic integrity policy: I will follow the CSE department academic integrity policy.

    Make-up policy: The request should be made sufficiently in advance of the test, for valid reasons. The make-up should be scheduled before the next class. No make-ups are available for quizzes.

    Late submission policy: The submissions are due at midnight on the due date. No late submissions are accepted. Exceptions will be made only for medical reasons. Questions about the grading have to be raised with the TA within a week after the graded assignment has been returned.

    Course objectives: Introduce the students to fundamental data management issues: database design, query languages, database file organization, query processing and optimization, transaction processing.

    Course summary:

    1. Introduction and overview (0.5 weeks).
    2. Relational data model (4 weeks): data definition, integrity constraints, relational algebra, relational calculus, SQL.
    3. Indexing (2 weeks): disk storage, buffering, heap files, sorted files, hashed files, B+ trees, sparse and dense indexes,
    4. Query processing and optimization (2 weeks): cost analysis, selection, join, plan enumeration and selection.
    5. Database design (1.5 weeks): Entity-Relationship data model, functional dependencies, normal forms.
    6. Selected issues in contemporary DBMS (3 weeks):
    7. Transaction processing (1.5 weeks): concurrency control, recovery, distribution.