|
CSE-4411(A)
Database Management Systems
York University
Fall 2009
|
Syllabus
|
|
|
Instructor:
|
Parke Godfrey
|
Office:
|
#2050 CSE
|
Office Hours:
|
4-6pm Tuesdays
|
& by appointment
|
Ph#:
|
416-736-2100 x66671
|
e-mail:
|
godfrey@cse.yorku.ca
|
|
|
|
Term:
|
Fall 2009
|
Time:
|
Mo&We 1:00-2:30pm
|
Place:
|
FS #320
|
|
|
|
|
Description (from the academic calendar)
This
course is the second course in database management.
It introduces concepts, approaches, and techniques required for the design
and implementation of database management systems.
|
|
Course Objectives and Content
In
this course,
we go "under the hood" to learn how a relational database management system
is built.
Students will learn the issues involved in designing efficient
database systems,
and the strategies, data-structures, and algorithms used
in the implementation of such systems.
The course is designed in three parts:
the physical database,
the query processor,
and
database management.
Specific contents include the following.
- I. The Physical Database
- file organizations
- indexes
- tree-structured indexes
- hash-based indexes
- external sorting
- II. The Query Processor
- evaluation of relational operators
- selection
- projection
- joins (the many ways)
- set operations
- aggregate operations
- relational query optimization
- query evaluation plans
- translating SQL queries into algebra
- considering alternative plans
- cost models and estimations
|
- III. Database Management
- transaction management
- concurrency control
- crash recovery
- physical database design and tuning
|
The content of CSE-3421 is assumed.
|
|
Required Textbook / Reading
Course
materials will be primarily drawn from the assigned readings
in the assigned textbook.
Some auxiliary readings may be assigned during the course.
|
|
|
|
Grading Criteria / Course Requirements
|
|
Components
|
Percentage
|
When
|
Test #1
|
20%
|
21 October
|
Test #2
|
20%
|
18 November
|
Final Exam
|
35%
|
? December
|
Projects
|
2 × 7½%
|
two, due through the semester
|
Assignments
|
3 × 3 1/3%
|
three, due through the semester
|
The
grading policy is standard.
Collaboration and discussion on the assignments is fine.
Note however, that unless you work through the exercises yourself,
you will not get much benefit from them.
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.
|
|
Course Projects & Assignments
There
will be two projects,
in sum worth 10% of the final grade.
Students will be required to design and implement some of the key
algorithms and data-structures for a relational database system.
Your code will be in Java.
The projects will probably consist as follows.
We may use the Minibase system.
(See appendix B in the textbook.)
The Minibase system provides a code base
for a simple database system.
Your code will augment the Minibase code.
The good news is that you do not have to do everything from scratch;
the bad news is that you will have to understand
the Minibase code to use it.
Late projects will not be accepted,
unless prior approval has been obtained with good reason.
There will be three assignment sets through the semester.
It is important to put effort into the assignments
for understanding of the materials,
and because similar problems will appear on the exams.
Solutions to assignment sets will be made available
after the turn-in dates for study purposes.
All written work for the assignments need not be typed;
but if you hand-write them, you must write legibly for credit.
Late assignment sets will not be accepted,
unless prior approval has been obtained with good reason.
|
|
|
|
The following schedule is
tentative, which means we may deviate from it
some during the term.
We may need to slow down, or speed up, on certain topics,
depending on how things go.
As well, we might not get to everything on the schedule,
though we shall try.
It is your responsibility to keep track of due-dates and
what we are covering.
Wk#
|
Days
|
Topic
|
Reading
|
Due
|
#1
|
We 9 Sep
|
You want me to code what?!
Introduction
|
|
|
I. The Physical Database
|
#2
|
Mo 14 Sep
|
Where can I keep this?
Storage & the DSM
|
Ch 8
|
|
|
We 16 Sep
|
Paging Dr. Codd...
|
Ch 9
|
|
#3
|
Mo 21 Sep
|
The Buffer Pool & Formats
|
|
|
|
We 23 Sep
|
Disks & Files
|
|
|
#4
|
Mo 28 Sep
|
Yo. Trees are for the birds.
|
Ch 10
|
|
|
We 30 Sep
|
Tree-structured Indexes
|
|
|
#5
|
Mo 4 Oct
|
Hash-based Indexes
|
Ch 11
|
|
|
We 6 Oct
|
Take it outside!
|
Ch 13
|
A#1
|
Reading Week
|
#6
|
Mo 19 Oct
|
External Sorting
|
|
|
|
We 21 Oct
|
Test #1
Arghhh!
|
|
II. The Query Processor
|
#7
|
Mo 26 Oct
|
You ought to see some of my relations!
|
Ch 12
|
|
|
We 28 Oct
|
Evaluation of The Relational Operators
|
(overview)
|
P#1
|
#8
|
Mo 2 Nov
|
I once joined these two tables.
|
Ch 14
|
|
|
We 4 Nov
|
Relational Query Optimization: Algorithms
|
|
|
#9
|
Mo 9 Nov
|
Listen up. Here's the plan...
|
Ch 15
|
|
|
We 11 Nov
|
Relational Query Optimization: Plans
|
|
A#2
|
#10
|
Mo 16 Nov
|
Optimization Wrap-up
|
|
|
|
We 18 Nov
|
Test #2
Not again!
|
|
III. Database Management
|
#11
|
Mo 23 Nov
|
One at a time, please.
|
Ch 16
|
|
|
We 25 Nov
|
Transaction Management
|
|
P#2
|
#12
|
Mo 30 Nov
|
& Concurrency Control
|
Ch 17
|
|
|
We 2 Dec
|
Crash & burn.
Crash Recovery
|
Ch 18
|
|
#13
|
Mo 7 Dec
|
Wrap-up
|
|
A#3
|
|
#14
|
10-23 Dec
|
Final Exam
|
A#:
|
Assignment '#' due.
|
P#:
|
Project '#' due.
|
Assignments and projects are due on the Thursday
at the end of the class period of the week indicated above.
Specific details for turning in assignments and projects will be set
later on.
|
|
|
|
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 important 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, attendance itself is not part of the grade or otherwise
enforced.
|
|
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.
|
|
|
|
|