Tentative Class Schedule - Fall 2020 ======================================= Week 15 - Monday (12/7) --------------------------- - Before lecture: - Read: Chapter 17 (Durability) - `Course Notes: Durability `_ - Watch (Vimeo Links): - `Lecture 25 1: Durability: Logging `_ - `Lecture 25 2: Durability: Force/Steal `_ - `Lecture 25 3: Durability: Recovery: Aries Algorithm `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 25 Week 14 - Thursday (12/3) --------------------------- - Before lecture: - Read: Chapter 18 (Concurrency Control, 18.1-18.6) and Chapter 17 (Durability) - `Course Notes: Concurrency Control `_ - `Course Notes: Durability `_ - Watch (Vimeo Links): - `Lecture 24 1: Two Phase Locking `_ - `Lecture 24 2: Lock Management `_ - `Lecture 24 3: Durability introduction `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 24 Week 14 - Monday (11/30) --------------------------- - Before lecture: - Read: Chapter 16 (Query Compiler) and Chapter 18 (Concurrency Control, 18.1-18.4) - `Course Notes: Query Optimization `_ - `Course Notes: Concurrency Control `_ - Watch (Vimeo Links): - `Lecture 22 5: Size Estimation `_ - `Lecture 23 1: Concurrency Control Introduction `_ - `Lecture 23 2: Checking Serialiazibility `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 23 Week 13 - Monday (11/23) --------------------------- - Before lecture: - Read: Chapter 15 (Query Execution) and Chapter 16 (Query Compiler) - `Course Notes: Query Processing `_ - `Course Notes: Query Optimization `_ - Watch (Vimeo Links): - `Lecture 22 1: External Sort `_ - `Lecture 22 2: Pipelining `_ - `Lecture 22 3: Query Optimization Introduction `_ - `Lecture 22 4: Query Plan Generation `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 22 Week 12 - Thursday (11/19) --------------------------- - Before lecture: - Read: Chapter 15 (Query Execution) - `Course Notes: Query Processing `_ - Watch (Vimeo Links): - `Lecture 21 1: Query Execution `_ - `Lecture 21 2: Index Scans `_ - `Lecture 21 3: Block Nested Loop Join `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 21 Week 12 - Monday (11/15) --------------------------- - Before lecture: - Read: Chapter 14 (Index Structures) - `Course Notes: Secondary Storage `_ - Watch (Vimeo Links): - `Lecture 20 1: B-trees: duplicate values and multiple attributes `_ - `Lecture 20 2: Other types of indices `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 20 Week 11 - Thursday (11/12) --------------------------- - Before lecture: - Read: Chapter 13 (Secondary Storage Management) - `Course Notes: Secondary Storage `_ - Watch (Vimeo Links): - `Lecture 19 1: Indexing `_ - `Lecture 19 2: B-trees `_ - `Lecture 19 3: B-trees: insertion/deletion `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 19 Week 11 - Monday (11/9) --------------------------- - Before lecture: - Read: Chapter 13 (Secondary Storage Management) - `Course Notes: Secondary Storage `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - No Lecture Exercises Week 9 - Thursday (10/29) --------------------------- - Before lecture: - Read: Views and Indexes (Chapter 8.1-8.2) - `Course Notes: Procedural SQL `_ - Watch (Vimeo Links): - `Lecture 16_1: Views and Access Control `_ - `Lecture 16_2: Other SQL Features (case, recursion, advanced group by) `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 16 Week 9 - Monday (10/25) --------------------------- - Before lecture: - Read: Constraints and Trigger (Chapter 7) - `Course Notes: Data Definition and Manipulation in SQL `_ - `Course Notes: Procedural SQL `_ - Watch (Vimeo Links): - `Lecture 15:1: PL/pgSQL `_ - `Lecture 15:2: SQL Triggers `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Note: No lecture Exercise for this lecture! Week 8 - Thursday (10/21) --------------------------- - Before lecture: - Read: SQL Language (Chapter 6), Constraints and Trigger (Chapter 7) - `Course Notes: Data Definition and Manipulation in SQL `_ - `Course Notes: Procedural SQL `_ - Watch (Vimeo Links): - `Lecture 14:1: SQL Constraints `_ - `Lecture 14:2: SQL Isolation `_ - `Lecture 14:3: SQL Introduction to Procedural SQL `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 14 Week 8 - Monday (10/18) ------------------------- - Before lecture: - Read: SQL Language (Chapter 6) - `Course Notes: Advanced SQL `_ - `Course Notes: Data Definition and Manipulation in SQL `_ - Watch (Vimeo Links): - `Lecture 13:1: SQL Correlated Set Comparisons `_ - `Lecture 13:2: Transactions and SQL Insert `_ - `Lecture 13:3: SQL Update/Delete `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 13 Week 7 - Thursday (10/14) ------------------------- - Before lecture: - Read: SQL Language (Chapter 6) - `Course Notes: Advanced SQL `_ - Watch (Vimeo Links): - `Lecture 12:1: SQL Outer Join `_ - `Lecture 12:2: SQL Anonymous and Scalar Queries `_ - `Lecture 12:3: SQL Set Comparisons `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 12 Week 6 - Thursday (10/8) ------------------------- - Before lecture: - Read: SQL Language (Chapter 6) - `Course Notes: SQL Basics `_ - Watch (Vimeo Links): - `Lecture 11:1: Set/bag operators, order by, limit `_ - `Lecture 11:2: Group by/Having `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 11 (assuming it is ready after class!) Week 6 - Monday (10/5) ------------------------- - Before lecture: - Read: SQL Language (Chapter 6) - `Course Notes: SQL Basics `_ - Watch Vimeo videos below (or in lecture videos posted on Mediasite) - `Lecture 10:2+10.3: SQL: Intro, SELECT, WHERE `_ - `Lecture 10:4: SQL: FROM `_ Note: I recorded the content in Vimeo after lecture (for 10.2, 10.3 and 10.4), but for exercises and introduction to PSQL, Mediasite videos are also very useful. - Join lecture at 2:30PM on Webex Teams! (Recording on Mediasite after lecture) Week 4 - Thursday (9/24) -------------------------- - Before lecture: - Read: Entity-Relationaship Diagrams (Chapter 4) - `Course Notes: ER Diagram `_ - Watch (Vimeo Links): - `Lecture 8:1: ER Diagrams (Entities Reexamined, Weak Entities) `_ - `Lecture 8:2: ER Diagrams (Entity Hierarchies) `_ - Hand written notes from videos can be found `here `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture Exercise for Lecture 8 Week 4 - Monday (9/21) ----------------------- - Before lecture: - Read: Entity-Relationaship Diagrams (Chapter 4.1-4.5) - `Course Notes: ER Diagram `_ - Watch (Vimeo Links): - `Lecture 7:1: Converting ER Diagrams to Relational Data Model `_ - `Lecture 7:2: ER Diagrams (Cardinalities Reexamined) `_ - Hand written notes from videos can be found `here `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - No Lecture Exercise for Lecture 7 Week 3 - Thursday (9/17) ------------------------ - Before lecture: - Read: Entity-Relationaship Diagrams (Chapter 4.1-4.3) - `Course Notes: ER Diagram `_ - Watch (Vimeo Links): - `Lecture 6:1: Normalization (Fourth Normal Form) `_ - `Lecture 6:2: Entity Relationship Diagrams (Entities) `_ - `Lecture 6:3: Entity Relationship Diagrams (Relationships and Participation Constraints) `_ - Hand written notes from videos can be found `here `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture 6 Exercise on Submitty after class (deadline in 48 hrs). Week 3 - Monday (9/13) ------------------------ - Before lecture: - Read: Normalization (Chapter 3) - `Course Notes: Normalization `_ - Watch (Vimeo Links): - `Lecture 5:1: Normalization (Introduction to Decompositions: Lossless Decocompositions) `_ - `Lecture 5:2: Normalization (Dependency Preserving Decompositions) `_ - `Lecture 5:3: Normalization (3NF Decomposition) `_ Errata: in the example in this video, one of the keys is missing for R, BCD should also be a key! - `Lecture 5:4: Normalization (BCNF Decomposition) `_ - `Lecture 5:Bonus: Normalization (BCNF Decomposition, Second example) `_ - Hand written notes from videos can be found `here `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture 5 Exercise on Submitty after class (deadline in 48 hrs). Week 2 - Thursday (9/10) ------------------------ - Before lecture: - Read: Introduction to Relational Algebra and Normalization (Chapter 2 & 3) - `Course Notes: Normalization `_ - Watch (Vimeo Links): - `Lecture 4:1: Normal Forms `_ - `Lecture 4:2: Minimal Basis `_ - Hand written notes from videos can be found `here `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture 4 Exercise on Submitty after class (deadline in 48 hrs). Week 2 - Tuesday (9/8) ------------------------ - Reading: Introduction to Relational Algebra and Normalization (Chapter 2) - Before lecture: - Read: Rest of Chapter 2 and Start reading Chapter 3 - `Course Notes: Relational Algebra `_ - `Course Notes: Normalization `_ - Watch (Vimeo Links): - `Lecture 3.1: Relational Algebra (Join) `_ (Errata: Note a mistake at 10 minute mark: hid=hid1 should be hid<>hid1, like in the first solution to the same query. This is why, due to inequality, we cannot use natural join for this query easily.) - `Lecture 3.2: Normalization (Functional dependencies, inference, keys), infomercial style! `_ - Optional: - `Relational Algebra tl;dr (5 mins Summary) `_ - Hand written notes from videos can be found `here `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture 3 Exercise on Submitty after class (deadline in 48 hrs). Week 1 - Thursday (9/3) ----------------------- - Reading: Introduction to Relational Algebra (Chapter 2) - Before lecture: - Read: Rest of Chapter 2 - `Course Notes: Relational Algebra `_ - Watch (Vimeo Links): - `Lecture 2.1 Introduction to Relational Algebra `_ - `Lecture 2.2 Rename, Select, Project `_ - `Lecture 2.3 Cartesian Product `_ - If you want, try out the following queries that we will solve in class tomorrow: `Sample queries. `_ from the `class example database `_ - Hand written notes from videos can be found `here `_ - Join lecture at 3:20PM on Webex Teams! (Recording on Mediasite after lecture) - Solve Lecture 2 Exercise 1 on Submitty after class (deadline in 48 hrs). - Make sure your time zone is marked on Submitty! Week 1 - Monday (8/31) ----------------------- - Introduction to Databases and Relational Data Model - Before lecture: - Read: Chapter 1, 2.1-2.2 - `Course Notes: Introduction `_ - Watch (Vimeo Links): - `Lecture 1: Introduction to Databases `_ - `Lecture 1.2: Introduction to Relational Data Model `_ - Hand written notes from videos can be found `here `_ - Attend lecture at 3PM (meet on Webex Teams) (Recording on Mediasite after lecture) - Update your personal info, especially Time Zone on Submitty! - Complete Lecture 1 Exercise 1 on Submitty (test exercise, not counted towards a grade!)