Marquette University, view of Wissonsin Avenue  

Principles of Databases


Here is the complete syllabus. --Click here.--

Long Distance Students

I am going to use the Marquette setup with Skype for Business. The meeting information is

This information is now outdated. Please use my virtual office hour or ask for an individual meeting.

Office Hours

  • Thomas Schwarz MWF 14:10 - 15:00 or by appointment.

Piazza Discussion Board

Find our class page at: Signup link is




Week 1

Module 1: Introduction

Module 2: Relational Model of Data

Module 3: Simple Description of Relational Databases, MySQL Data Definition Language

Module 4: MySQL Select Statements

Module 5: Design Theory for Relational Databases

Module 6: High Level Database Models

Module 7: Algebraic Query Languages

Module 8: SQL

Module 9: Constraints, Triggers, Views, Indices

Corona Virus Quarantine Classes

We start with a review of SQL. Use the MySQL workbench together with the employees database from Module 4.

Friday March 20

Wednesday, March 25, 2020 and Friday, March 27, 2020

We continue with our exploration of MySQL statements on the MySQL workbench, but we also look at triggers. I will assign graded activities once DW

Wednesday, April 1, 2020

We start out with a new topic on views and indices. Today we are looking at views and how we can update through views.

Homework, due April 15, 2020

There is a correction to the home-work. The orderDetails table needs to have both order number and item identifier to form the primary key.

Friday, April 3, 2020

Today, we look at indices and materialized views.

Wednesday, April 8

Stored procedures with practice problems

Friday, April 10

No class because of good friday.

Wednesday, April 15

Programmatic Interaction with Python. The presentation contains homework. You can use any other connecting language (Java, C, C++) instead of Python, though Python is probably the easiest and you do not need to have a very good knowlegde of Python. This is a fairly practical module that asks you to install a connector to MySQL in your favorite programming environment and manipulate the employees database by inserting into multiple tables, reading multiple tables, and deleting from multiple tables. Please send a pdf with your code and some screen shots showing that the program was successful to my email.

Friday, April 17

Database Implementation Topics

Wednesday, April 22

Distributed Relational Databases

Friday, April 24

Overview of NoSQL Databases

No homework this week.

Wednesday, April 29

MongoDB 1

Friday, May 1

MongoDB 2

Virtual Office Hour MWF 2:30 - 5:00

I am now going to offer an extended virtual office hour starting March 30. The invitation is at -- Link to ../zoom.html --. Please remember to refresh this page as I am struggling with overwhelmed service providers. If your schedule prevents you from attending, we can make a meeting in the evening.


Please submit via a dropbox in D2L. No communication with anyone about the final contents, but feel free to use any published resources including stackexchange etc. (That does not include asking a finals-related question on a forum!). The final should take about 2 hours. You should submit by Thursday at 23:59 hours.
  • Final text (pdf) -- click here --
  • Script for inserting values into the tables. (Assumes that you named your schema / database "college".) You need to have the tables defined and the table department loaded. You can either copy and paste or preferably, you just run the script in MySQLWorkbench. -- click here for .sql script --


If there is any reason for me to give you an incomplete, please send email before Thursday.