CMSI 3520
Database Systems
Fall 2022
- Note
- This page is maintained as an archival record of the course shown above, and as such, some links on this page may no longer be valid nor accessible. They are kept here as a record of the resources that were available at the time of the course offering.
- Brightspace: Where you can access private content and check your grades
- We will use GitHub Classroom to manage and submit assignments
-
Every now and then we may use
Socrative
to ask or answer questions as a class—my Socrative room is
DONDILMU
- We continue to live in very fluid and dynamic circumstances—make sure to follow the university’s pandemic portal for the latest news, updates, and policies—to which this class must, of course, adhere
Assignments
-
Assignment 0912
Database fiddle tutorial
Setup
- DB Fiddle
- DB Fiddle example
- Super Basic SQL crib sheet
- Super Basic Database Diagramming crib sheet
-
Assignment 0921
Key-value database code-along
Setup
- Try Redis
- Key-Value Databases introduction
-
Assignment 1003
File database proto-stack
Setup
-
Finding Things
on the command line—getting started with
grep
andwc
(find
is in there too, but won’t be as applicable for our purposes) -
A tutorial
for the legendary, beastly (in a good way)
awk
-
Finding Things
on the command line—getting started with
-
Assignment 1019
extended to 1024 Relational database mini-stack
Setup
- “PostgreSQL setup day” guide
- PostgreSQL home page
- PostgreSQL documentation site: Come for the tutorial, stay for the deep-dive information on everything else
- The E. F. Codd paper that (generally) started it all: A relational model of data for large shared data banks
- Assignment 1107 extended to 1109 Document-centric database mini-stack Setup
- Assignment 1121 Graph database mini-stack Setup
-
Assignment 1212
Full database SDK
Setup
- Transaction, indexing, and relational theory links are given in the section below
Additional Content
- An overview of database paradigms
- Notes on how installers may differ
- Relational schema design notes
- Database transactions
-
Book alert!
Indexing structures for files and physical database design
- The name’s B, B-tree: Balanced, not binary
-
SQL:
CREATE INDEX
- MongoDB: Indexes
- Elasticsearch: That’s why the core storage unit is called an index! Instead, there are tips for tuning search speed and indexing speed
- Neo4j: Indexes for search performance
- Notes on the theory of relations
Dataset Sources
It’s hard to appreciate the power and potential of general database management systems when you don’t have seed data to populate it—so we’ll want to do our work with a database that can be fully populated from the get-go.
Our case study dataset is the one from the Netflix Prize competition from over a decade (a decade!!!) ago: https://www.kaggle.com/netflix-inc/netflix-prize-data—find one to call your own from one of these sites, or feel free to identify one independently:
- Kaggle datasets are generally positioned for data science or machine learning, but sometimes also applicable to pure database work
- The Awesome Public Datasets collection is similar in purpose and applicability
- For the health-/medically-minded: the Drugs@FDA database file set is actually freely available