Mines Logo
CSCI 403: Database Management Spring 2018

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