332:569 DATABASE SYSTEM ENGINEERING

Spring 2003 - 3 credits

Instructor:    Yanyong Zhang

                            Core 518

                            445-0608 (office)

                            yyzhang@ece.rutgers.edu

                            http://www.ece.rutgers.edu

Description:    332:569 is intended to give students a solid background in database management systems, particularly relational database management systems. Such systems will be mostly examined from the perspective of a database system implementor. Topics covered include data models and relational database design; database integrity and concurrency control; distributed database design and concurrency control; query optimization. As part of the course students will implement a client/server relational DBMS supporting queries and distributed transactions. The goal of the project is to provide a concrete and well understood frame of reference to aid in understanding and evaluating the material presented in class.

Text:                   J. Gray, et al., Transaction Processing: Concepts and Techniques, Morgan Kaufmann, San Francisco, CA, 1993. (Required)

Reference:       

1.        J. D. Ullman, Principles of Database and Knowledge-Base Systems, Volume 1, Computer Science Press, Rockville, MD, 1988.

2.        P.A. Bernstein, V. Hadzilacos and N. Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, Reading, MA, 1987.

3.        Raghu Ramakrishnan, Database Management Systems, McGraw-Hill, Boston, MA, 1998. ISBN 0-07-050775-9.

Prerequisite:    332:566 Parallel Computer Design; 332:567 Software Engineering I; 198:519 Operating System (suggested). If you have not taken these courses, you need to talk to the instructor before you register. Also, please note that this is not a course where you can learn programming, rather, the projects require a considerable amount of programming effort. As a result, if you are not familiar with C/C++ and Unix environment, this is not a very good place for you to practice.

Project:    Projects will be carried out by groups of up to three students. The project will be divided into two parts. The first will involve query processing and the second will deal with transaction processing. I will score each project based on supplied documentation and a short demonstration. Students will also be allowed to evaluate their teammates. This evaluation will be used in determining individual project scores. 

Due Dates:    No late assignments/project reports will be accepted.

Administrative:

    Homework Assignments (3 @ 5% each)    15%

   Project    45%

   Midterm    20%

   Final    20%


Topics Readings

1.        Introduction              G1-2

2.        Relational Data Model

3.        Relational Algebra       

4.        Expressing Queries in RA

5.        File and Buffer Management               G13

6.        Tuple representation and File Organization               G14

7.        Introduction to Indexing

Hashed Organization       G15.3,G15.6.1

8.        B-Trees G15.4

9.        B-Trees G15.4

10.     Query Processing Supplemental                     

11.     Query Processing 

12.     Transaction Models G4.1-G4.5

13.     Transaction Models G4.1-G4.5

14.     Isolation – Dependency Model   G7.1-7.4

15.     Isolation – Isolation Theorems              G7.5

16.     Midterm Exam

17.     Isolation – Degrees of Isolation G7.6

18.     Isolation – Degrees of Isolation G7.6

19.     The Phantom Problem and Granular Locking G7.7-7.8

20.     Deadlock            G7.11

21.     Workload and Performance (TPC Benchmarks) Supplemental

22.     Locking Performance

23.     B-Tree Synchronization       G15.4

24.     B-Tree Synchronization       G15.4

25.     Recovery – Logging  G9

26.     Recovery – Transaction Manager G10

27.     Recovery – Checkpointing  G11.1-11.4

28.     B-Tree Recovery         G15.4.5

29.     Recovery – Advanced Transaction Manager Topics   G12

30.     Review          

 

Other Downloadable Format

DOC, PDF