BMEG3120 Database and Security for Biomedical Engineering

Fall 2013

Professor: Yufei Tao
TA: Junhao Gan (see his homepage for tutorial slides)

Brief Description

This course will introduce fundamental concepts in database management systems. Topics to be covered (subject to time permission) include the relational model, relational algebra, SQL, entity-relationship diagrams, normalization, query processing algorithms, and the RSA cryptosystem.

Announcements

1. (Sep 27) Your Oracle accounts are ready. See this page.
2. (Sep 27) Click here for a script of Oracle commands to create and dstroy the PROF table we used in class.
3. (Oct 6) Midterm will be held in the lecture of Oct 21. The length is 60 minutes. The scope covers everything from Lec 1 to 7. The exam is open everything non-electronic.
4. (Oct 25) Midterm solutions released.
5. (Nov 6) Last year's midterm and final exam papers posted.
6. (Nov 12) Released a proof of the correctness of the 3NF decomposition algorithm discussed in class.
7. (Nov 18) Project released.

Time and Venues

Lecture
Mon 9:30am - 11:15am Room 106, Y.C. Liang Hall
Tue 11:30am-12:15pm Room 804, William M.W. Mong Engineering Building

Tutorial
Tue 12:30pm-1:15pm Room 402, William M.W. Mong Engineering Building

Grading Scheme

Attendance: 15%
Assignments: 25%
Midterm: 25%
Final: 35%

Textbook and Lecture Notes

The instructor recommends the following textbooks:

(Main) A. Silberschatz, H.F. Korth, S. Sudarshan. Database System Concepts (6th Edition).
(Ref 1) R. Ramakrishnan, J. Gehrke. Database Management Systems (3rd Edition).
(Ref 2) T. Connolly and C. Begg. Database Systems: A Practical Approach to Design, Implementation, and Management (4th Edition).

The instructor will make lecture notes available before each class. These notes are concise but complete description of the course contents. As usual, lecture attendance is vital to gaining thorough understanding.

-
Notes Recommended Reading
Lecture 1
Database Overview

Sections 1.1-1.4 (of the main textbook)
Lecture 2
Relational Model

Sections 2.1-2.4
Lecture 3
Relational Algebra (Part I)

Sections 2.5-2.6
Lecture 4
Relational Algebra (Part II) -- Uploaded at 1:45pm, 16 Sep

Old Version (Typo correction: Slide 11, "T1.A1 = T2.A2" should be "T1.A1 = T2.A1").
Sections 6.1.1.1-6.1.3.3
Proof of the natural join expression
Lecture 5
SQL (Part I)

Sections 3.3.1, 3.3.2, 3.4.1, 3.4.3, 3.5
Lecture 6
SQL (Part II)

Section 3.7
Lecture 7
SQL (Part III)

Sections 3.8.1-3.8.5
Lecture 8
Table Definition and Modification

Sections 3.2, 3.9, 4.4.3-4.4.5
Lecture 9
ER Diagram

Sections 7.1-7.5.5, 7.5.7
Lecture 10
Converting ER Diagrams to Tables

Sections 7.6.1, 7.6.4 (skipping 7.6.4.1)
Lecture 11
Functional Dependencies

Sections 8.1, 8.2, 8.4.1, 8.4.2
Lecture 12
Functional Dependencies (Part II)

Section 8.3.1
Lecture 13
BCNF

Sections 8.3.2, 8.4.4, 8.5.1.1, 8.5.1.2
Lecture 14
Dependency Preservation

Section 8.3.3
Lecture 15 3NF
Sections 8.3.4, 8.4.3, 8.5.2 (this section gives a 3NF decomposition algorithm different from the one in the lecture notes).

Proof of the 3NF decomposition algorithm
Lecture 16
RSA Cyrptosystem

--
Lecture 17
Correctness of RSA

--

Exercises and Exams

The following is a list of exercises prepared by the instructor. Although students are not required to turn in their solutions, they are encouraged to do the exercises by themselves. Some of the exercises are to be discussed in tutorials.

Exercise list 1 (solutions)
Exercise list 2 (solutions)
Exercise list 3 (solutions)
Exercise list 4 (solutions)
Exercise list 5 (solutions)
Exercise list 6 (solutions)
Exercise list 7 (solutions)
Exercise list 8 (solutions)
Exercise list 9 (solutions)
Exercise list 10 (solutions)
Exercise list 11 (solutions)

2012 midterm exam solutions
2013 midterm exam solutions
2012 final exam (solutions)
Final exam solutions

Database Design Assignment

Download the description here.
The due day of the project is 23 Dec, 2012 (i.e., 5 weeks from now).