Office: | PETR 428 | ||
Phone: | (979) 845-4259 | ||
Email: | chen@cse.tamu.edu | ||
Web: | https://people.engr.tamu.edu/j-chen3/ | ||
Office hours: | M&W 1:30 pm-3:00 pm |
Teaching Assistant: Shahin John John Stella
Office: | PETR 445 | ||
Phone: | (979) 575-5523 | ||
Email: | ivin-98@tamu.edu | ||
Office hours: | T&R 11:00 am-12:00 pm |
Textbook
H. Garcia-Molina, J. Ullman, and J. Widom:
Database Systems: the Complete Book, 2nd ed.,
Prentice Hall, Upper Saddle River, NJ, 2008.
Supplementary Reading Materials
Course Progress
Date | Topics | Lecture Notes | Book Sections | Announcement |
---|---|---|---|---|
Jan. 13 | Introduction | Lecture #1 | Chapter 1 | |
Jan. 15 | Relational database | Lecture #2 | Sections 2.1-2.2 | |
Jan. 17 | Entity/relationship diagrams | Lecture #3 | Chapter 4 | |
Jan. 22 | From E/R diagrams to relations | Lecture #4 | Sections 4.5-4.6 | |
Jan. 24 | Functional dependencies | Lecture #5 | Sections 3.1-3.2 | |
Jan. 27 | Boyce-Codd normal form (BCNF) | Lecture #6 | Section 3.3 | |
Jan. 29 | The third normal form (3NF) | Lecture #7 | Section 3.5 | Homework #1 posted |
Jan. 31 | The fourth normal form (4NF) | Lecture #8 | Section 3.6 | |
Feb. 3 | Inference test for MVDs | Lecture #9 | Section 3.7 | Project #1 posted |
Feb. 5 | Creating and querying a relation | Lecture #10 | Sections 2.3, 6.1 | |
Feb. 7 | Operating on multiple relations | Lecture #11 | Sections 6.2-6.3 | |
Feb. 10 | Joins and aggregations | Lecture #12 | Sections 6.4-6.5 | Homework #1 due on Wednesday at 10:20 am |
Feb. 12 | Constraints and triggers | Lecture #13 | Chapter 7 | |
Feb. 14 | Secondary storage | Lecture #14 | Chapter 13 | |
Feb. 17 | Query compiler | Lecture #15 | Section 16.1 | Solution to Homework #1 posted |
Feb. 19 | From parse tree to query plan | Lecture #16 | Section 16.3 | Homework #2 posted |
Feb. 21 | On subqueries and views | Lecture #17 | Sections 16.1.4, 16.3.2 | |
Feb. 24 | Pushing selection down | Lecture #18 | Section 16.3.3 | |
Feb. 26 | Improving logic query plan | Lecture #19 | Section 16.3.3 | |
Feb. 28 | Cost estimation for query plans | Lecture #20 | Section 16.4 | |
March 3 | Logic query plan optimization | Lecture #21 | Sections 16.4-16.5 | Homework #2 due on Wednesday at 10:20 am |
March 5 | The order of joins | Lecture #22 | Section 16.6 | Midterm exam is on Friday at 10:20 am |
March 7 | Midterm exam | Solution to Homework #2 posted | ||
March 10-14 | Spring break | |||
March 17 | LQP optimization by dynamic programming | Lecture #23 | Section 16.6 | |
March 19 | Physical query plan optimization | Lecture #24 | Section 16.7 | Project #1 is due on March 21 |
March 21 | B+ trees: structure and search | Lecture #25 | Sections 14.2.1-14.2.4 | |
March 24 | B+ trees: insertion and deletion | Lecture #26 | Sections 14.2.5-14.2.6 | |
March 26 | Node coalescence in B+ trees, hashing | Lecture #27 | Sections 14.2.6, 14.3.1-14.3.4 | |
March 28 | Extensible hashing | Lecture #28 | Sections 14.3.5-14.3.6 | Project #2 posted |
March 31 | Extensible hashing: insertion and deletion | Lecture #29 | Sections 14.3.5-14.3.6 | |
April 2 | Algorithms for relational operations | Lecture #30 | Section 15.2 |
Assignments
(Assignments are due on the designated due dates at the beginning of the class)
Assignment | Due Date | Solution |
---|---|---|
Homework #1 | Feb. 12 | Solutions |
Homework #2 | March 5 | Solutions |
Sample test questions | ||
Project #1 | March 21 | |
Project #2 | April 21 |