CSE 462: Database Concepts


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

Teaching Assistant: D. Lessa (dlessa@buffalo.edu) (office hours: M 11-12, F 12:30-1:30, Bell 329)

Course Web page: http://www.cse.buffalo.edu/~chomicki/cse462-s10.html

Course blog: http://ub-cse-462.blogspot.com

Credit hours: 4.0

Time: MWF 3:00-3:50

Location: 108 Baldy

Texts:

  • J. Ullman, J. Widom. A First Course in Database Systems, 3rd edition, Prentice Hall, 2007 (textbook).
  • K. Loney. Oracle Database 11g The Complete Reference, Osborne ORACLE Press, 2008 (supplementary).
  • J. Celko, Joe Celko's SQL for Smarties: Advanced SQL Programming, 3rd edition, Morgan Kaufmann, 2005 (supplementary, available through UB electronic subscription).
  • Lecture transparencies (2-up):

    1. Relational data model
    2. Relational database design
    3. Conceptual database design
    4. XML databases
    5. Integrity and security

    Tests:

    1. Test #1 (February 10, review: February 8):
    2. Test #2 (March 26, review: March 24):
    3. Final Exam (May 5):

    Projects:

  • Project #1 (due March 8, 2010: REVISED DEADLINE)
  • Project #2 (due April 26, 2010: NO DEADLINE EXTENSIONS)
  • Miscellaneous:

  • Connecting to an Oracle database (courtesy of Demian Lessa)
  • E-R example schema (courtesy of Demian Lessa)
  • Database design problems with solutions
  • Textbook web site
  • PL/SQL tutorial (J. Ullman et al.)
  • Website for the book Database Management Systems, contains many exercises and the solutions for 50% of the exercises
  • Advanced SQL queries (solutions)
  • W3Schools XML tutorials: DTD, XPath,...
  • XML validation (DTD)
  • Prerequisites: Knowledge of fundamental data structures and algorithms, knowledge of discrete math concepts, basic Java programming skills. No database background is necessary.

    Grading: Grading is curve-based. Grade components:

    1. 2 extended homeworks (15%+15%)
    2. weekly quizzes (10%)
    3. 2 tests (15%+15%)
    4. comprehensive final (30%)

    Academic integrity policy: I will follow the CSE department academic integrity policy ( http://www.cse.buffalo.edu/undergrad/policy_academic.php).

    Make-up policy: The request should be made sufficiently in advance of the test, for valid, documented 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. Exceptions will be made only for medical reasons. Questions about the grading have to be raised within a week after the graded assignment is returned.

    Attendance and punctuality: Attendance is mandatory. No late arrivals in class.

    Disability Services: Students with physical or learning disabilities should register with the university Disability Services Office (http://www.student-affairs.buffalo.edu/ods/) in order to receive accommodation.

    Course objectives: Introduce the students to fundamental data management issues: data models, database design, query languages, indexing, query processing, trigger and transaction processing. At the end of this course each student should be able to design database applications using a variety of data models, write complex queries, and understand how they are evaluated.

    Course summary:

    1. Relational databases. Basic concepts; integrity constraints; relational algebra; basics of query evaluation and optimization; SQL; recursion.
    2. Relational database design. Normal forms; functional and multivalued dependencies; decompositions; tradeoffs.
    3. Conceptual database design. ER (Entity-Relationship) data model; design guidelines; mapping ER schemas to relational schemas.
    4. Object databases. Basic object-oriented concepts; object-relational model; object-oriented constructs in SQL:1999 and commercial systems.
    5. XML databases. XML data model; Document Type Definitions; XML query languages: XPath, XQuery; representing XML documents in relational databases.
    6. DBMS issues: indexing, transactions, triggers, security.