|
CSE-3421
Introduction to Database Systems
York University
Winter 2011
|
Syllabus
|
|
|
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
|
|
|
|
|
|
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.
- Design:
- conceptual design (E-R modeling)
- the relational model
- normalization
(What are the criteria of good design?)
- 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
- 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 #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.
|
|
Projects
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?
|
Ch.2
|
|
#2
|
Tu 11 Jan
|
|
Th 13 Jan
|
#3
|
Tu 18 Jan
|
The Relational Model (& more ER)
The key is the key.
|
Ch.3
|
|
Th 20 Jan
|
P-I
|
#4
|
Tu 25 Jan
|
Normalization & Schema Refinement
Who is normal?!
|
Ch.19
|
|
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?
|
Ch.4
|
|
Th 10 Feb
|
#7
|
Tu 15 Feb
|
SQL: Select, Project, Join
Simple quantum locking.
|
Ch.5
|
|
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.
|
Ch.6
|
|
Th 17 Mar
|
P-III
|
#11
|
Tu 22 Mar
|
Internet Applications
Nothing but net!
|
Ch.7
|
|
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.
|
|
|
|
|