Schedule
Monday |
Wednesday |
Friday |
|
8 January |
10 Introduction, policies, syllabus. What is data? What is a database? Project 0: Introduce assigned Reading: Skim Chapters 1 & 2 |
11 (Thursday) High level view - architectural concerns, client-server architecture. History of databases. Modern developments. (notes) Reading: Chapter 5: “The Relational Data Model and Relational Database Constraints” |
12 Relational model. Keys & constraints. Foreign keys. NULL. (notes) Reading: Chapter 6: “Basic SQL” Project 0 Due Project 1: Connect assigned |
15 Martin Luther King Jr. Day |
17 Relational model, continued. Introduction to psql. |
19 Introduction to SQuirreL SQL. Intro to SQL: SELECT. Joins. (notes) Project 1 Due Project 2: Query (1) assigned |
|
22 SELECT, continued. |
24 CLASS CANCELED |
26 Intro to SQL: Types. Basic DDL. (notes) Reading: Chapter 7 section 7.1: “More Complex SQL Retrieval Queries” |
|
29 DDL, continued. Project 2 Due Project 3: Make assigned |
31 INSERT, UPDATE, DELETE. COPY. (notes) Reading: rest of chapter 7: “More SQL: Complex Queries, Triggers, Views, and Schema Modification” |
2 February More SQL: Subqueries (notes) |
|
5 Subqueries, continued. Project 3 Due |
7 More SQL: Grouping and aggregation. (notes) Project 4: Query (2) assigned |
9 Miscellaneous SQL (notes) |
|
12 Introduction to DB design; entity-relationship diagrams (notes) Reading: Chapter 3: “Data Modeling Using the Entity-Relationship Model” |
14 ERD, continued Reading: Chapter 9.1: “Relational Database Design Using ER-to-Relational Mapping” |
16 Converting from ERD to a relational schema (notes) Project 4 Due Project 5: Design assigned |
|
19 President’s Day |
21 Real World Example Use Case Guest Lecturer: Dr. Wendy Fisher |
23 B-Trees (notes) Guest Lecturer: Dr. Dinesh Mehta |
|
26 ERD to relational, continued. |
28 CLASS CANCELED |
2 March Relational algebra (notes) Reading: Chapter 8:1 – 8.5: “The Relational Algebra and Relational Calculus” Project 5 Due |
|
5 Relational algebra, continued. |
7 Relational algebra, continued. Project 6: Convert assigned |
9 Functional dependencies. (notes) Normalization. (notes) Reading: Chapter 14: “Basics of Functional Dependences and Normalization for Relational Databases”, through section 14.6 |
|
12 Normalization, continued. Project 7: Algebra assigned (LaTeX source) |
14 Database internals: query processing Reading: Chapter 18: “Strategies for Query Processing” |
16 Database internals: query optimization |
|
19 Query tuning |
21 Transaction control & concurrency mechanisms |
23 Project 6 Due Project 7 Due |
|
26 SPRING BREAK |
28 |
30 |
|
2 April Database programming with Python (example code) Reading: Chapter 10: “Introduction to SQL Programming Techniques” Project 8: Normalize assigned Project 9: Create assigned |
4 Database programming with Java (example code) |
6 Server-side programming (example codes: plpgsql_example.sql plpgsql_example.py plpgssql_example2.sql plpgsql_exampl2.py markov.sql) |
|
9 Midterm review Project 8 Due |
11 Midterm Exam |
13 E-Days |
|
16 Go over midterms Extra Credit Project: Program available |
18 Object-relational mappers (example code) |
20 Database Security (notes) Guest Lecturer: Yi Qin |
|
23 NoSQL (notes) |
25 MongoDB |
27 Neo4j |
|
30 Big Data & Hadoop – Guest Lecturer: Taylan Dillion |
2 May Big Data & Hadoop – Gues Lecturer: Jed Menard Project 9 Due Extra Credit Project Due |
|