CSE-3421
Introduction to Database Systems

York University
Winter 2009
Syllabus
Instructor: Parke Godfrey
Office: #2050 CSE
Office Hours: Th 2-4pm
& by appointment / availability
Ph#: 416-736-2100 x66671
e-mail: godfrey@cse.yorku.ca
Term: Winter 2009
Time: Tu & Th 5:30-7:00pm
Place: CB #115
Textbook: Raghu Ramakrishnan & Johannes Gehrke
Database Management Systems
Third Edition, 2003
WCB/McGraw Hill.
ISBN: 0-07-246563-8
URL: http://www.cs.wisc.edu/~dbbook
Class URL: http://www.cse.yorku.ca/course/3421/
  About the Course
The Topic (from the academic calendar)

The purpose of this course is to introduce the fundamental concepts of database management, including aspects of data models, database languages, and database design. At the end of this course, a student will be able to understand and apply the fundamental concepts required for the use and design of database management systems.

Course Objectives and Content

Through this course, students shall

  • become proficient at modeling databases at conceptual and logical levels of design,
  • be able to develop database schemas with principled design that enforce data integrity,
  • become knowledgeable in the creation, altering, and manipulation of tables, indexes, and views using relational algebra and SQL,
  • become proficient at casting queries in SQL,
  • and at writing database application programs with an understanding of transaction management, concurrency control, and crash recovery.

Topics to be covered include the following.

  1. Design:
    • conceptual design (E-R modeling)
    • the relational model
    • normalization (What are the criteria of good design?)
  2. Queries:
    • relational query languages and queries (namely SQL)
      • select, project, join
      • union, intersection, except
      • recursion
      • aggregation
    • data manipulation
  3. Applications:
    • application development
      • database application interfaces (e.g., JDBC)
      • internet applications
      • proper database application paradigms
    • transactions
      • transaction management
      • concurrency control
      • crash recovery
Required Textbook / Reading

Course materials will be primarily drawn from the assigned readings from the course textbook (Ramakrishnan & Gehrke, 2003).

Useful reference books for the course include:

Jim Melton and Alan R. Simon.
SQL 1999: Understanding Relational Language Components.
First Edition, 1999.
Morgan Kaufmann Publishers.
ISBN: 1-55860-456-1

Don Chamberlin.
Using the New DB2: IBM's Object-Relational Database System.
First Edition, 1996.
Morgan Kaufmann Publishers.
ISBN: 1-55860-373-5

 
  Grading Criteria & Course Requirements
Components
What % When
Projects I-IV 25% four, due over the term
Test I 20% Thursday 2 April
Test II 20% Thursday 30 April
Final Exam (Test III) 35% sometime in May or June

The tests (including the final exam) are cumulative, testing all the material up to that point.

The grading policy is standard for tests, exams, and projects. For projects, discussion is fine, but your work must be your own.

York University's rules for academic honesty and plagiarism are always in effect. ( See below.) Discussion is fine on the assignments and projects. However, collaboration is not. The work must be your own.

Projects

There will be four projects over the term.

  name description % due
I. Scheming a Schema ER Design 5% Fr 27 Mar
II. Voilą Creating a database. 5% Fr 17 Apr
III. SQL Jeopardy Composing SQL queries. 10% Fr 8 May
IV. The Apt APP Writing an application program. 5% Fr 22 May

The projects will use the IBM DB2 Universal Database system (v9). In project I, students will design an ER schema for a given problem domain. In project II, students will design and implement a relational database under our DB2 system. In project III, students will compose sophisticated SQL queries for an existing database. Project IV will involve programming to implement a database application program.

All work for the projects should be prepared in a professional manner. Work should be typeset, and run through a spell-checker. Due dates are as indicated in the schedule above. Projects will be due by 11:59pm Friday of the week indicated. Each project should be turned in both via the submit program or by hard copy in the class dropbox, as will be indicated for each project.

Late projects will be accepted up to 48 hours after the due date (so by 11:59pm that Sunday) with a 20% penalty.

Further details will be established as the project assignments are posted.

 
  Schedule

Week# day topic reading due
#1 Th 5 Mar Introduction Ch.1  
I. Design
#2 Tu 10 Mar Conceptual Design & Data Modeling using E-R Diagrams
Have you considered a career in modeling?
Ch.2  
Th 12 Mar
#3 Tu 17 Mar  
Th 19 Mar The Relational Model (& more ER)
The key is the key.
Ch.3
#4 Tu 24 Mar P-I
Th 26 Mar Normalization & Schema Refinement
Who is normal?!
Ch.19
#5 Tu 31 Mar  
Th 2 Apr Test I
II. Queries
#6 Tu 7 Apr Relational Algebra & Relational Calculus
How did this become an algebra course?
Ch.4  
Th 9 Apr
#7 Tu 14 Apr SQL: Select, Project, Join
Simple quantum locking.
Ch.5 P-II
Th 16 Apr
#8 Tu 21 Apr SQL: Intersect, Union, Except, ...
Serious quantification lacking.
 
Th 23 Apr
#9 Tu 28 Apr Data Manipulation Language  
Th 30 Apr Test II
III. Applications
#10 Tu 5 May APPs (application programs)
I just knew programming would sneak in somewhere.
Ch.6 P-III
Th 7 May
#11 Tu 12 May Internet Applications
Nothing but net!
Ch.7  
Th 14 May
#12 Tu 19 May Transaction Management & ACID
Whoa, tripping!
Ch.16 (§1-3) P-IV
Th 21 May
 
#13 TBA Final Exam (Test III)

 
  Policies
Exams & Attendance

Exams must be taken when scheduled unless the student has a medical documentation or can demonstrate special circumstances for a need for a rescheduled exam. The student must obtain approval from the instructor.

Class attendance is useful and encouraged as the student will have an opportunity to ask for clarification of course and text material. There will be problem solving sessions during class period so that students gain experience applying the theory in practice. However, class attendance will not be monitored and is not part of the grade.

Academic Integrity / Honesty / Plagiarism

The Department of Computer Science (& Engineering) Academic Honesty Guidelines are in effect for this course, as, indeed, they are for any CS&E course.

Plagiarism is defined as taking the language, ideas, or thoughts of another, and representing them as your own. If you use someone else's ideas, cite them. If you use someone else's words, clearly mark them as a quotation. Note that plagiarism includes using another's computer programs or pieces of a program. All noted instances of plagiarism will be reported.

These policies are not intended to keep students from working with other students. One can learn much working with others, so this is to be encouraged. Should you encounter any situations for which you are uncertain whether the collaboration is permitted or not, please ask.