
Course Recordings - Fall 2020
==============================

All course recordings can be found either on RPI Mediasite or on Vimeo.

Recordings on RPI Mediasite:
-----------------------------

Access all recordings here:  `RPI Mediatesite <https://mediasite.mms.rpi.edu/Mediasite5/Channel/dbsf20>`_

- Note all in class recordings are posted on Mediasite alone.

Vimeo recordings (listed by topic):
-----------------------------------

- `Lecture 1: Introduction to Databases <https://vimeo.com/452721555>`_
- `Lecture 1.2: Introduction to Relational Data Model <https://vimeo.com/452915953>`_
- `Lecture 2.1: Introduction to Relational Algebra (set operators) <https://vimeo.com/453868965>`_
- `Lecture 2.2: Relational Algebra (Rename, Select, Project) <https://vimeo.com/454166156>`_
- `Lecture 2.3: Relational Algebra (Cartesian Product) <https://vimeo.com/454166680>`_  

- `Lecture 3.1: Relational Algebra (Join) <https://vimeo.com/455312258>`_  

  (Errata: Note a mistake at 10 minute mark: hid=hid1 should be
  hid<>hid1, like in the first solution to the same This is why, due to
  inequality, we cannot use natural join for this query easily.)

  
 - `Relational Algebra tl;dr (Short Summary) <https://vimeo.com/455312404>`_  

- `Lecture 3.2: Normalization (Functional dependencies, inference, keys), informercial style! <https://vimeo.com/455312447>`_  

- `Lecture 4:1: Normal Forms <https://vimeo.com/455555941>`_
  
- `Lecture 4:2: Minimal Basis <https://vimeo.com/455561999>`_

     
- `Lecture 5:1: Normalization (Introduction to Decompositions: Lossless Decocompositions) <https://vimeo.com/457543933>`_
- `Lecture 5:2: Normalization (Dependency Preserving Decompositions) <https://vimeo.com/457544136>`_
- `Lecture 5:3: Normalization (3NF Decomposition) <https://vimeo.com/457544268>`_
   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) <https://vimeo.com/457547883>`_
- `Lecture 5:Bonus: Normalization (BCNF Decomposition, Second example) <https://vimeo.com/457555832>`_
     
- `Lecture 6:1: Normalization (Fourth Normal Form) <https://vimeo.com/458752406>`_

- `Lecture 6:2: Entity Relationship Diagrams (Entities) <https://vimeo.com/458752542>`_

- `Lecture 6:3: Entity Relationship Diagrams (Relationships and Participation Constraints) <https://vimeo.com/458760435>`_

- `Lecture 7:1: Converting ER Diagrams to Relational Data Model <https://vimeo.com/459754834>`_

- `Lecture 7:2: ER Diagrams (Cardinalities Reexamined) <https://vimeo.com/459754951>`_

- `Lecture 8:1:  ER Diagrams (Entities Reexamined, Weak Entities) <https://vimeo.com/459979649>`_

- `Lecture 8:2: ER Diagrams (Entity Hierarchies) <https://vimeo.com/459979698>`_

- `Lecture 10:1: SQL: Intro, SELECT, WHERE <https://vimeo.com/465979129>`_

- `Lecture 10:2: SQL: FROM <https://vimeo.com/465979315>`_

- `Lecture 11:1: Set/bag operators, order by, limit <https://vimeo.com/466009052>`_

- `Lecture 11:2: Group by/Having <https://vimeo.com/466009110>`_

- `Lecture 12:1: SQL Outer Join <https://vimeo.com/468304645>`_

- `Lecture 12:2: SQL Anonymous and Scalar Queries <https://vimeo.com/468304284>`_ 
      
- `Lecture 12:3: SQL Set Comparisons <https://vimeo.com/468304031>`_

- `Lecture 13:1: SQL Correlated Set Comparisons <https://vimeo.com/469606479>`_

- `Lecture 13:2: Transactions and SQL Insert <https://vimeo.com/469606612>`_

- `Lecture 13:3: SQL Update/Delete <https://vimeo.com/469610731>`_

- `Lecture 14:1: SQL Constraints <https://vimeo.com/470771139>`_

- `Lecture 14:2: SQL Isolation <https://vimeo.com/470771344>`_

- `Lecture 14:3: SQL Introduction to Procedural SQL <https://vimeo.com/470778271>`_

- `Lecture 15:1: PL/pgSQL <https://vimeo.com/471969771>`_

- `Lecture 15:2: SQL Triggers <https://vimeo.com/471969909>`_

- `Lecture 16_1: Views and Access Control <https://vimeo.com/473213387>`_

- `Lecture 16_2: Other SQL Features (case, recursion, advanced group by)  <https://vimeo.com/473213914>`_

- `Lecture 19 1: Indexing  <https://vimeo.com/478303296>`_

- `Lecture 19 2: B-trees  <https://vimeo.com/478303360>`_

- `Lecture 19 3: B-trees: insertion/deletion  <https://vimeo.com/478303444>`_

- `Lecture 20 1: B-trees: duplicate values and multiple attributes  <https://vimeo.com/479650781>`_

- `Lecture 20 2: Other types of indices  <https://vimeo.com/479651370>`_

-  `Lecture 21 1: Query Execution  <https://vimeo.com/481023321>`_

-  `Lecture 21 2: Index Scans <https://vimeo.com/481023203>`_

-  `Lecture 21 3: Block Nested Loop Join  <https://vimeo.com/481023352>`_

-  `Lecture 22 1: External Sort   <https://vimeo.com/482157060>`_

-  `Lecture 22 2: Pipelining  <https://vimeo.com/482157108>`_

-  `Lecture 22 3: Query Optimization Introduction  <https://vimeo.com/482157187>`_

-  `Lecture 22 4: Query Plan Generation  <https://vimeo.com/482188476>`_
   
-  `Lecture 22 5: Size Estimation  <https://vimeo.com/482188505>`_

-  `Lecture 23 1: Concurrency Control Introduction <https://vimeo.com/484937168>`_

-  `Lecture 23 2:  Checking Serialiazibility <https://vimeo.com/484937242>`_

-  `Lecture 24 1: Two Phase Locking <https://vimeo.com/484937273>`_

-  `Lecture 24 2: Lock Management <https://vimeo.com/485733797>`_

-  `Lecture 24 3: Durability introduction <https://vimeo.com/485733896>`_

-  `Lecture 25 1: Durability: Logging <https://vimeo.com/487677843>`_

-  `Lecture 25 2: Durability: Force/Steal <https://vimeo.com/487677887>`_

-  `Lecture 25 3: Durability: Recovery: Aries Algorithm <https://vimeo.com/487677967>`_
      
   
Why I chose Vimeo?  `You can read about it here <why_vimeo.html>`_


