CSE 560: Data Models and Query Languages

Registration number 145322
FINAL EXAM: May 9, 11:45-2:45, 260 Capen

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

Teaching Assistant: Denis Mindolin (office hours: T 12:30-1:30, F 11-12, Bell 329)

Course newsgroup: sunyab.cse.560

Credit hours: 3.0

Time: TR 2:00-3:20

Location: Norton 209

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 (2-up):

    1. Database design
    2. Relational query languages
    3. Object-oriented databases
    4. XML databases
    5. Integrity and security

    Tests:

    1. Test #1 (February 16, review February 14):
      • E-R data model (Chapter 6)
      • relational data model and relational database design (Chapter 7)
    2. Test #2 (March 30, review March 28):
      • relational algebra and calculus (Chapter 2, 5.1)
      • SQL (Chapter 3, 4.7)
      • object-oriented and object-relational databases (Chapter 9)

    Projects:

    1. Project #1 (due February 14)
    2. Project #2 (due April 3)
    3. Project #3 (due May 1)

    Miscellaneous:

  • ER model in Wikipedia
  • Advanced SQL queries (solutions)
  • XML in Wikipedia
  • Prerequisites: Some Java programming skills, knowledge of fundamental data structures and algorithms, knowledge of discrete math concepts.

    Grading:

    1. 3 individual projects (10%+15%+10%)
    2. quizzes (5%)
    3. 2 tests (15%+15%)
    4. 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 assignments should be submitted on time. A one-day grace period is provided, with the credit reduced by 20%. An assignment will not be accepted more than one day past the due date. 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 is returned.

    Course objectives: In this course the students will acquire a thorough knowledge of current database-related software technologies from a user's point of view. The students will become familiar with the major data models and query languages, and will obtain the intellectual skills necessary for building complex database applications. In particular, they should be able to evaluate current database technologies and apply them to a variety of application domains.

    Course summary:

    1. Conceptual database design. ER (Entity-Relationship) data model: basic concepts, design principles; mapping ER schamas to relational schemas.
    2. Logical database design. Relational data model: basic concepts; relational database design: functional and multivalued dependencies, normal forms.
    3. Relational query languages. Relational algebra and calculus; SQL2; JDBC.
    4. Object data models. Basic object-oriented concepts; object-relational model; object-oriented constructs and recursion in SQL:1999 and commercial systems.
    5. XML databases. XML data model; Document Type Definitions; XML Schema; XML query languages: XPath, XQuery; representing XML documents in relational databases.
    6. Integrity constraints and triggers.
    7. Indexing and query optimization from a user's point of view. Index definition and use; statistics; query optimizers; query plans.
    8. Data integration.