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:
Lecture transparencies (2-up):
- Database design
- Relational query languages
- Object-oriented databases
- XML databases
- Integrity and security
Tests:
- Test #1 (February 16, review February 14):
- E-R data model (Chapter 6)
- relational data model and relational database design (Chapter 7)
- 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:
- Project #1 (due February 14)
- Project #2 (due April 3)
- Project #3 (due May 1)
Miscellaneous:
Prerequisites:
Some Java programming skills, knowledge of fundamental data structures
and algorithms, knowledge of discrete math concepts.
Grading:
- 3 individual projects (10%+15%+10%)
- quizzes (5%)
- 2 tests (15%+15%)
- 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:
- Conceptual database design. ER (Entity-Relationship) data model:
basic concepts, design principles; mapping ER schamas to relational schemas.
- Logical database design. Relational data model: basic concepts;
relational database design: functional and multivalued dependencies, normal forms.
- Relational query languages. Relational algebra and calculus; SQL2; JDBC.
- Object data models. Basic object-oriented concepts; object-relational model;
object-oriented constructs and recursion in SQL:1999 and commercial systems.
- XML databases. XML data model; Document Type Definitions;
XML Schema; XML query languages: XPath, XQuery; representing XML documents
in relational databases.
- Integrity constraints and triggers.
- Indexing and query optimization from a user's point of view. Index
definition and use; statistics; query optimizers; query plans.
- Data integration.