Introduction to Database Systems

York University
Winter 2011
Instructor: Parke Godfrey
Office: #2050 CSE
Office Hours: We 3-5pm
& by appointment / availability
Ph#: 416-736-2100 x66671
e-mail: godfrey@cse.yorku.ca
Term: Winter 2011
Time: Tu & Th 5:30-7:00pm
Place: Ross South #203
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:
    • algebra and logic (relational algebra and calculus)
    • 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
What % When
Projects I-IV 25% four, due over the term
Test #1 20% Th 3 Feb
Test #2 20% Th 10 Mar
Final Exam (Test #3) 35% ? Apr

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.


There will be four projects over the term.

  name description % due
I. Scheming a Schema ER Design 5% Fr 21 Jan
II. Voilą Creating a database. 5% Fr 18 Feb
III. SQL Jeopardy Composing SQL queries. 10% Fr 18 Mar
IV. The Apt APP Writing an application program. 5% Fr 1 Apr

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.


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

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.