CS 430/630 Database Management Systems

Spring 2022




  1. Syllabus
  2. Schedule
  3. Instructor & Contact
  4. Resources & Links

Course Objectives

The course will introduce fundamental concepts in relational databases, such as: the relational model and relational algebra; the Standard Query Language (SQL); database design theory; conceptual design; database application development; database security.

Prerequisites

Students registering for CS430/630 must have previously completed courses in data structures and discrete mathematics. Also, they are required to have working knowledge of Java and C programming languages, as well as familiarity in using the UNIX operating system.

Topics Covered

Textbook

R. Ramakrishnan, J. Gehrke, "Database Management Systems", 3rd edition.

Grading

Attendance Policy

Class attendance is mandatory, and students are expected to participate actively in class by asking and answering questions. In case of missed class, students are responsible to get up-to-date with course materials and announcements.

Student Conduct

Students are required to adhere to the University Policy on Academic Standards and Cheating, to the University Statement on Plagiarism and the Documentation of Written Work, and to the Code of Student Conduct as delineated in the University Catalog and Student Handbook. The Code is available online at http://cdn.umb.edu/images/life_on_campus/Code_of_Conduct_5-14-14.pdf

Accommodations

Section 504 of the Americans with Disabilities Act of 1990 offers guidelines for curriculum modifications and adaptations for students with documented disabilities. If applicable, students may obtain adaptation recommendations from the Ross Center for Disability Services, CC-UL Room 211, (617-287-7430). The student must present these recommendations and discuss them with each professor within a reasonable period, preferably by the end of Drop/Add period.

Venue

Mon/Wed 8:30-9:45pm, ONLINE

Schedule


Date Lecture Reading
Mon Jan 24 Course Overview and Introduction to Relational Model (slides) (handouts) Textbook: Chapter 1 - all
Exercises: all except 1.5, 1.6, 1.9
Wed Jan 26 Relational Algebra (slides) (handouts) Textbook: Chapter 4 - 4.1, 4.2
Exercises: 4.1-4.5 (skip the parts on calculus)
Mon Jan 31 Relational Algebra Practice Queries (slides) (handouts) Homework 1 (pdf)
Wed Feb 2 Introduction to SQL. (slides) (handouts)
create.sql, insert.sql, query.sql
Textbook: Chapter 5 - 5.1-5.7
Exercises: 5.1-5.5, 5.7-5.8
Feb 7 - Feb 16 No Classes - COVID - will make up classes on 3/4 and 3/11
Mon Feb 21 No Class - Public Holiday
Wed Feb 23 Introduction to SQL. (contd.) Textbook: Chapter 5 - 5.1-5.7
Exercises: 5.1-5.5, 5.7-5.8 Homework 2 (pdf)
Mon Feb 28 Intro to SQL - Practice Queries (slides) (handouts) Homework 1 Solution (pdf)
Wed Mar 2 SQL Nested Queries (slides) (handouts) Textbook: Chapter 5 - 5.1-5.7
Exercises: 5.1-5.5, 5.7-5.8
Fri Mar 4 - Make-Up Class SQL Division (slides) (handouts)
Oracle SQLPlus Lab
Textbook: Chapter 4 - 4.2.5, Chapter 5 - 5.1-5.7
Exercises: 5.1-5.5, 5.7-5.8
Mon Mar 7 SQL Aggregate Queries (slides) (handouts) Textbook: Chapter 5 - 5.1-5.7
Exercises: 5.1-5.5, 5.7-5.8
Wed Mar 9 SQL Aggregates - Practice Queries (slides) (handouts)
Solution HW2 (HW2.sql)
Textbook: Chapter 5 - 5.1-5.7
Exercises: 5.1-5.5, 5.7-5.8
Mon Mar 21 Midterm Review
Midterm Practice (pdf) and solution (pdf)
Wed Mar 23 Midterm Exam (Zoom) (pdf) and solution (pdf)
Fri Mar 25 - Make-Up Class Null Values. SQL Constraints (slides) (handouts)
Views (slides) (handouts)
Textbook: Chapter 5 - 5.1-5.7
Chapter 3 - 3.2-3.3
Exercises: 5.1-5.5, 5.7-5.8 Textbook: Chapter 3: 3.6 and 3.7
Mon Mar 28 Entity-Relationship Model (slides) (handouts) (sample question) Textbook: Chapter 2 - all except 2.4.5, 2.5.3, 2.5.4, 2.6-2.8; Chapter 3 - 3.5 (up to 3.5.5)
Exercises: 2.2 (except Q6), 2.3, 2.4, 2.5, 2.7
Homework 3 (pdf)
Wed Mar 30 Entity-Relationship Model (contd.)
Mon Apr 04 Database Application Development: JDBC (slides) (handouts)
JDBC Oracle Driver, P1, P2, P3 schema
Wed Apr 06 Database Application Development: JDBC - Lab
Mon Apr 11 Database Application Development - Oracle PL/SQL (slides) (handouts) See "Links" section for documentation
Homework 3 Solution (pdf)
Homework 4 (pdf)
Wed Apr 13 PL/SQL Lab
table.sql function.sql, procedure.sql, func_main.sql, proc_main.sql
See "Links" section for documentation
Mon Apr 18 No Class (Holiday)
Wed Apr 20 Schema Refinement and Normal Forms (slides) (handouts) (example 1) (example 2)
Textbook: Chapter 19 - 19.1-19.6 Exercises: 19.2, 19.5, 19.7
Mon Apr 25 No Class - Conference Travel Homework 5 (pdf)
Wed Apr 27 BCNF and 3NF. Decompositions (slides) (handouts) Textbook: Chapter 19 - 19.1-19.6 Exercises: 19.2, 19.5, 19.7
Mon May 2 Security and Authorization (slides) (handouts) Chapter 21
Homework 6 (pdf)
Wed May 4 Security and Authorization (contd.) Chapter 21
Mon May 09 Extra BCNF/Authorization Practice
Wed May 11 Course Evaluation. Final Exam Review (pdf) and Solution (pdf) Homework 6 Solution (pdf)

Instructor: Dr. Gabriel Ghinita