ISE 326 -  Database Systems Engineering
Semester 2 5771


Topics     Reading     Projects     Grading     Lectures     Policies

Time: Monday 16:00 - 18:00 in Room 13
Targil: Thursday 15:00 - 16:00 in Room 202

Instructor:

    Michael J. May
      e-mail: mjmay (IN) kinneret, ac, il
      office hours: Mondays 11:45-12:45 (and by appointment)

Metargel:

    Naomi Unkelos
    email: noom112@

    
The full detailed syllabus for the course is available here.

Reminder: Assignment 4 posted.  Due 3 July 2011 (bonus by 19 June 2011).


Topics:

The main book for the course is Database Management Systems by Raghu Ramakrishnan and Johannes Gehrke.

The course covers four advanced topics in database systems:
  • Transaction Management: Checking for conflicts and recovering from failures
  • Parallel and Distributed Databases: Architectures, Storage, Indexing, and Queries
    • Included in this is a discussion of query evaluation and indexing as necessary
  • Object Oriented Databases: Abstract Data Types, Inheritance
  • Data Warehousing
Each section will be given approximately 25\% of the time for the course and will have a programming project associated with it.

We will use the Microsoft SQL Server database engine for class recitation.  The Computer Room TBA will have the query engine application installed on all of the computers, but it is highly recommended that you install a copy of the MS SQL Server 2005/2008 Express and MS SQL Server Management Studio 2005/2008 on your own computer.

Reading

The following book contains useful course material, and much of the lecture content is derived from them (and other sources). Copies of these books are on reserve in the Kinneret Library.

  • Database Management Systems (3rd edition) by Ramakrishnanand and Gehrke
In addition, the following books, papers, and web sites provide supplementary material. Reading selections from these sources will be announced in class.
  • Database System Concepts (5th edition) by Silberschatz, Korth, and Sudarshan
  • First Course in Database Systems (2nd edition) by Ullman and Widom
  • An Introduction to Database Systems (6th edition) by Date
  • Fundamentals of Database Systems (3rd edition) by Elmasri and Navathe

Project and Assignments

Assignment 1:  Transactions.   Due 7 March 2011.
                       גרסא בעברית. sample transaction file.

Assignment 2: Multiversion Concurrency Control. Designer code. Due 3 April 2011.
                      גרסא בעברית

Assignment 3: Hash Join. Designer code. Due 25 May 2011
                      SailorNames BoatNames Colors
                      SailorGenerator Tool.

Assignment 4: ADT types and OLAP operators. Due 3 July 2011. 5% bonus if submitted by 11:55pm on 19 June 2011.
                      Locations File. (fixed)

Submission instructions: You may submit work using Telem, in person, or by sending email to the address ise326 at gmail.  If you send email to the ise326 address, you will receive an auto-answer response acknowledging that a message has been received.

Grading Criteria

  • 20%   Programming Projects / Assignments
  • 80%   Final Exam

Lecture Slides and Notes

Schedule

#
Date
Topic
Notes
1
21 Feb
Review of Transaction Management [pdf]
2
28 Feb
View and Conflict Serializability
[pdf]
3
7 March
Lock Management, Multigranularity Locking
[pdf]
4
14 March
Concurrency Control without Locks, Crash Recovery [pdf]
5
28 March
Intro to Parallel DBs, Parallelization
[pdf]
6
4 April Intro to Query Evaluation and Indexes
[pdf]
7
11 April Joins, Parallelizing Algorithms & Queries
[pdf]
8
2 May
Parallelizing Operations, OODBMS, ORDBMS, Structured Data Types
[pdf-a, pdf-b][targil]
9
16 May
Operations on Structured Data Types
[pdf]
10
23 May
Decision Support, OLAP
[pdf][targil]
11
30 May
OLAP Queries
[pdf][targil]
12
6 June
OLAP Implementation, Data Warehouses, View Materialization
[pdf][no targil]
13
13 June
Maintaining Materialized Views
[pdf][targil, inserts]

4 July
Final Exam Moed A - Room 202 08:30 - 11:30


28 July
Final Exam Moed B - TBA 12:30 - 15:30

Academic Integrity

Since Kinneret College does not have a unified code of academic integrity, this course will abide by the University of Pennsylvania's Code of Academic Integrity. In particular, for individual projects and group projects, the following guidelines should be followed:
  • For individual projects, you must type in and edit your own code, documentation, and any other materials submitted for grading.
    • Copying someone else's file is not allowed.
    • Allowing someone else to copy a file of yours, either explicitly or implicitly by leaving your code unprotected, is not allowed.
    • Editing each other's files is not allowed
  • Regarding the ethics of what you may or may not discuss with others:
    • "High level" discussions are fine.
      For example, discussions about the problem statement.
    • "Low level" discussions are fine.
      For example, discussions about C syntax or using gdb, understanding compiler error messages, understanding the mechanics of the tools and libraries used for the projects.
    • "Mid level" discussions require discretion. In this CIS course, discussions at this level must be limited.  Unless explicitly stated otherwise, you may not collaborate significantly with classmates (except group project members) at this level.  If you have minor discussions with others at this level or get help from outside resources (tutors, web sites, etc), you must cite at the top of the submitted projects the names of the people or websites who helped you and how they did. For example:
            /**
      * Chris Brown
      * Project 1
      * 5/6/2008
      * I received tips from Jo Johnson on the i/o and example.com/mem.htm on memory
      */
  • If there is any doubt about the use of external sources or collabortation, please ask for clarification by the course staff.