EECS-3421A
Introduction to Database Systems

York University
Fall 2015
Syllabus
Instructor: Parke Godfrey
Office: #2050 LAS
Office Hours: We 3–5pm
& by appointment / availability
Ph#: 416-736-2100 x66671
e-mail: godfrey@yorku.ca
T.A.: To be announced...
Office:  
Office Hours:  
e-mail:  
Term: Fall 2015
Time: Mo & We 1:00–2:30pm
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.eecs.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
Components
what % when
Projects 1–4 25% four, due over the term
Test #1 20% We 14 Oct
Test #2 20% We 11 Nov
Final Exam (“Test #3”) 35% ? Dec

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
1. Scheming a Schema ER Design 5% Fr 9 Oct
2. Voilà Creating a database. 5% We 28 Oct
3. SQL Jeopardy Composing SQL queries. 10% Fr 20 Nov
4. The Apt APP Writing an application program. 5% Mo 7 Dec

The projects will use the IBM DB2 Universal Database system (v10). In project 1, students will design an ER schema for a given problem domain. In project 2, students will design and implement a relational database under our DB2 system. In project 3, students will compose sophisticated SQL queries for an existing database. Project 4 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 the day indicated. Each project should be turned in both via the submit program and/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 with a 20% penalty.

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

 
  Schedule

week# day topic reading due
#1 Mo 14 Sep Introduction Ch.1  
I. Design
  We 16 Sep Conceptual Design & Data Modeling using E-R Diagrams
Have you considered a career in modeling?
Ch.2  
#2 Mo 21 Sep  
We 23 Sep
#3 Mo 28 Sep The Relational Model (& more ER)
The key is the key.
Ch.3  
We 30 Sep
#4 Mo 5 Oct Normalization & Schema Refinement
Who is normal?!
Ch.19  
We 7 Oct P1
Thanksgiving (12 October)
#5 We 14 Oct Test #1  
II. Queries
#6 Mo 19 Oct Relational Algebra & Relational Calculus
How did this become an algebra course?
Ch.4  
We 21 Oct
#7 Mo 26 Oct SQL: Select, Project, Join
Simple quantum locking.
Ch.5  
We 28 Oct P2
#8 Mo 2 Nov SQL: Intersect, Union, Except, ...
Serious quantification lacking.
   
We 4 Nov
#9 Mo 9 Nov Data Manipulation Language  
We 11 Nov Test #2
III. Applications
#10 Mo 16 Nov APPs (application programs)
I just knew programming would sneak in somewhere!
Ch.6  
We 18 Nov P3
#11 Mo 23 Nov Transaction Management & ACID
Whoa, tripping!
Ch.16 (§1–3)  
We 25 Nov  
#12 Mo 30 Nov Beyond Relational
XML & XQuery, RDF & SPARQL
   
We 2 Dec  
#13 Mo 7 Dec NoSQL & Wrapping up   P4
exam period (9–23 Dec)
  ? Dec Final Exam (“Test #3”)

 
  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.

E-mail Policy

On e-mail from students with questions regarding course materials.

  • I will not answer these e-mails by e-mail reply, in general.

    My time is spent more productively for the class's sake in different ways. For pertinent questions on the materials that students send me by e-mail — or for questions that many people seem to be having — I will try to address them in class.

    If you have an urgent question I have not addressed, come see me during my office hours, or make an appointment if you need to. Many students do this already; it is a good use of my time and theirs. I can usually answer a question a student asks in person in about a tenth the time than by an e-mail exchange. Writing it out takes much longer. And for many of the questions people send me, the question is often unclear. It then requires a back and forth by e-mail several times.

On e-mail from students with issues regarding administrative matters.

  • For administrative requests (e.g., “I cannot make the test,”), e-mail is fine, of course, and I will attempt to answer you directly.

Please use a York University account when e-mailing me (with regards to the course), so that I can know who it is. Please include [3421] at the beginning of the subject line so I am able to sort it.

I do not mind students sending questions by e-mail. Just do not necessarily expect a direct reply. I do read them, and I try to address the issues and questions people raise. If your question or issue remains after some time, do let me know.

Academic Integrity, Honesty, & Plagiarism

The Department of Electrical Engineering & Computer Science's Academic Honesty Guidelines are in effect for this course, as, indeed, they are for any EECS 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.