CSCI 4333
Design of Database Systems
Fall 2020
Syllabus

by K. Yue

The syllabus is tentative. Actual contents and order of coverage may change. There will be around 9 homework assignments, the actual number is subjected to changes.

Date
Contents
Comments
Week #1
(8/24, 8/26)
An Introduction and overview of database systems
An introduction to Microsoft's Access
An introduction to the relational database model
Read Ricardo Chapter 1
Additional Material: How to be successful in CSCI 4333
Syllabus in Concept Map
Introduction to CSCI 4333 and DB Overview
Introduction to MS Access
Week #2
(8/31, 9/2)
An introduction to simple SQL and MySQL
Critical thinking in computer science and database
Database basics
Database planning and stages
The relational database model
Introduction to the relational model and SQL
Read Ricardo 4.1, 4.2, 5.1, 5.2, 5.4.1 and 5.4.2
Critical Thinking in CS and DB
DB Basics
Read Ricardo Chapter 2, 4.2, 4.3, 4.4
The Relational Model
Week #3
(9/7, 9/9)
9/2: Labor Day Holiday

Additional Material: An introduction to Concept Map
An introduction to data modeling
Read Ricardo Chapter 3
Additional Material: A brief introduction to Concept Map (*: if time allows)
ER Modeling
Week #4
(9/14, 9/16)
An introduction to data modeling
The Entity-Relationship (ER) model and the object-oriented mode
Additional Material: A RDB Relational Example of Concept Map in the context of critical thinking.
Additional Material: Designing databases using concept maps
Read Ricardo 4.7, 8.1 to 8.6
ER Modeling

Drawing ER Diagram using Draw.io (not recommended)
Week #5
(9/21, 9/23)
The Extended ER model
Conversion of the ER model to relational schema
Additional Exercise: ER Modeling Exercise
Additional Material: ER in Concept Map
Extended ER Modeling
Conversion of ER Model to Relation Schema
Week #6
(9/28, 9/30)
Relational Algebra
Relational Calculus

Read Ricardo 4.5
toyu Query Exercise (in PDF)
Relational Algebra
RA solution to even numbered exercises
Relational Calculus
RC solutions to odd-numbered exercises
Week #7
(10/5, 10/7)
10/5 Mid-term Exam Part A, class time (one hour)
SQL

Read Ricardo 5.3 to 5.4
An introduction to SQL and MySQL
Read Ricardo 5.5-5/8, 9.1, 9.2
Suggested MySQL solution to even numbered questions of toyu exercises
Week #8
(10/12, 10/14)
10/12 Mid-term Exam Part B, class time (one hour)
SQL
An introduction to SQL and MySQL
Week #9
(10/19, 10/21)
More SQL
Introduction to Python
Embedded SQL Programming
More SQL
Introduction to Python

Read Ricardo Chapter 6
MySQL programming in Python
Week #10
(10/26, 10/28)
Embedded SQL Programming
Web DB development with Python
MySQL programming in Python

MySQL Python Web Development

Week #11
(11/2, 11/4)
Introduction to DB design
Normalization theory and normal forms
Introduction to Database Design
Introduction to Normalization Theory

Week #12
(11/9, 11/11)
Normalization theory and normal forms
Introduction to Normalization Theory
Read Ricardo Chapter 14
Week #13
(11/16, 11/18)
Normalization theory and normal forms
Week #14
(11/23, 11/25)
Normalization theory and normal forms
DB Security
DB Security and SQL Injection
Week #15
(11/31, 12/1)
Transaction Management
Physical database
Transaction management
Physical database
Week #16
(12/9 Wed)
12/9 Final Examination: (Wednesday)
Section 1: 1:05-3:05pm
Section 2: 4:05-6:05pm

Final examination will be conducted through blackboard in an open book manner. Time allowed is 2 hours so time management is important. We will have a short meeting at the scheduled time at class time (Section: 1:00pm, Section 2: 4:00pm). The final examination will start 5 minutes later and your solution must be submitted at the scheduled time. Late submission will have per minute penalty. The examination will be available through Blackboard.

(*) Covered only if time permits. Not in the examinations.