Introduction to Databases

About the Course

Databases are the lifeblood of commerce, government, and science today. This course provides an introduction to database systems and their query languages. We will study several database systems, including MySQL, MongoDB, and Neo4j. We will also discuss "big data" systems. The focus of this course will be on data management in the cloud, focusing on modern cloud computing platforms, such as Google Cloud Platform

WeekDate
TopicsLecture NotesClass ActivitiesAssignment DueOptional Readings
11/5Teacher Institute Day (No School)
1/7

Course Introduction

 

 

2

1/10

Data Models: The Relational Data Model

1/12

Relational Database Design: Entity Relationship Diagrams 

Group Activity 1
1/14

Relational Database Design: Logical Database Design 

Group Activity 2
31/17Martin Luther King Day (No School)
1/19

Structure Query Language (SQL) 1: Data Definition Language

Group Activity 3
1/21

SQL 2: Data Manipulation Language (DML): Single Relation Queries Part 1

Group Activity 4
41/24

Office Hours/Collaborative Learning

1/26

SQL 3 DML: Single Relation Queries Part 2

Group Activity 5
1/28

SQL 4 DML: Cross Product and Inner Join

Group Activity 6
51/31Office Hours/Collaborative Learning
2/2

SQL 5 DML: Natural and Inequality Joins

 

 Group Activity 7

 

 

2/4

SQL 6 DML: Outer joins (Left, Right and Full)

Group Activity 8

 

 

6

2/7

Office Hours/Collaborative Learning

2/9

 SQL 7 DML: Subqueries

Group Activity 9

2/11

 

  SQL 8 DML: Boolean Operators (IN, EXISTS, ANY, ALL)

Group Activity 10
72/14Teacher Institute Day (No School)
2/16

 SQL 9 DML: Set Operations (U, ∩, -)

Group Activity 11
2/18

  SQL 10 DML: Grouping and Aggregation

Group Activity 12
82/21Presidents Day (No School)
2/23

SQL 11 DML: String and Date Functions

Group Activity 13
2/25

SQL 13 Extended SQL: Triggers

Group Activity 14


9
2/28Office Hours/Collaborative Learning
3/2

SQL 13 Extended SQL: Stored Procedures

 Group Activity 15  
3/4

SQL 14: Indexing

Group Activity 16

10
3/7Office Hours/Collaborative Learning
3/9

Embedded SQL and the Web: Node.JS Part 1

Group Activity 17
3/11

Embedded SQL and the Web: Node.JS Part 2

Group Activity 18
113/12-3/18

Spring Break

123/21

Office Hours/Collaborative Learning 

  
3/23

Overview of NoSQL

MongoDB 1: Create, Update and Delete Collections

 Group Activity 19  
3/25

 MongoDB 2: Querying with find( ): Basic Selection

   
133/28

Office Hours/Collaborative Learning 

    
3/30

MongoDB 3: Querying with find(): Complex Selection and Projection

 Group Activity 20  
4/1

Parent/teacher conferences (no school)



14
4/4

Office Hours/Collaborative Learning 

4/6

MongoDB 4: Querying Arrays and Embedded Documents

Group Activity 21

4/8

MongoDB 5: Cursor Methods

Group Activity 22


15
4/11

Office Hours/Collaborative Learning 

MongoDB 6: Aggregation Part 1: Basic Aggregation 

Group Activity 23
4/15

MongoDB 7: Aggregation Part 2: Unwind and Group Filtering

Group Activity 24
164/18

Teacher Institute Day (No School) 

4/20

MongoDB 8:  Aggregation Part 3: Connecting documents with $lookup

Group Activity 25

 

4/22

Graph Data Model: 

  • Neo4J and Cypher Query Language
  • Create Nodes and Relationships
Group Activity 26 

 

174/25

Office Hours/Collaborative Learning 

 

 

4/27

Neo4J 2:

  • Querying Nodes and Relationship
  • Collaborative Filtering
Group Activity 27 

 

4/29

Neo4J 3: Shortest Path

Group Activity 28 

 

185/2

Office Hours/Collaborative Learning 

 

 

5/4

Neo4J 4: Aggregation

 

 

5/6

Neo4J 4: Composing Statements with UNION and WITH

 

 

195/9

Office Hours/Collaborative Learning 

 

 

5/11Google Cloud Platform Basics 

 

5/13Project Demos 

 

205/16

Office Hours/Collaborative Learning 

 

 

5/18

Project Demos

 

 

5/20

Project Demos