| Lecture | Date | Reading | Assignment† | Topics Covered |
|---|---|---|---|---|
| Module 0 : Orientation, Setup, Brief Introduction to DBMS | ||||
| 1 | Mon. May 6 | Course Overview | Installation, of Eclipse IDE, Derby, MariaDB and MongoDB database software, introduction to relational and non-relational databases. | |
| Module 1 : Relational Database Management Systems (RDBMS) | ||||
| 2 | Tue. May 7 | Introduction to Database Concepts |
Relational database management systems architecture, data models, schemas, and data independence; ER models and diagams; generalization, and aggregation. |
|
| 3 | Mon. May 13 | Relational Algebra | 1 | Codd's rules, introduction to relational data model and algebra; mapping ER to relational models, SQL syntax and operators; hands-on practice with relational algebra and SQL using the RelaX relational algebra calculator to perform query operations on example tables. |
| 4 | Tue. May 14 | SQL Overview | 2 | Designing databases, mapping ER models to relational tables, normalizing database tables, join operations, locking models, and intensive overview of SQL language, data types, and operations. |
| Module 2 : Database Applications Using JDBC and SQL | ||||
| 5 | Mon. May 20 | Database Design and Normalization | 3 | Using Java Database Connectivity (JDBC) to create embedded database application using Derby. Introduction to JDBC API and embedded SQL statements, integrating application and database logic.. |
| 6 | Tue. May 21 | Keys and Constraints | 4 | Testing table designs using samples of live data, using constraints to implement relational integrity constraints, and implementing indexes. |
| Mon. May 27 | Memorial Day -- NEU Holiday (no class) | |||
| 7 | Tue. May 28 | Foreign Key Constraints and Triggers | 5 | Using foreign key constraints and triggers to implement conditional processing within a database. |
| 8 | Mon. June 3 | Stored Procedures and Functions | 6 | Using stored procedures to implement conditional processing within a database. |
| 9 | Tue June 4 | Transactions | Using transactions to create atomic operations and control when results are committed to the database. | |
| Module 3 : NoSQL Databases and Queries with MongoDB | ||||
| 10 | Mon. June 10 | NoSQL Databases and MongoDB | Intensive introduction to the MongoDB NoSQL database, its document-oriented data model and API, mapping Java objects to and from documents using JSON data representation, and quering content. | |
| 11 | Tue. Jun 11 | MongoDB Data Modeling and Queries | 7 | Using MongoDB to create and populate databases, how to use the Mongo JSON oriented query language, and managing transactions with MongoDB Java applications. |
| 12 | Mon Jun 17 | MongoDB Indexing and Text Searching | 8 | How to represent textual and geolocation information in MongoDB, and special queries for finding textual and geolocation information in a Mongo database. |
| 13 | Tue. Jun 18 | MongoDB Geospatial Indexing and Queries | How to refactor and extend documents with data formats change or need to be refactored, how use data replication to create reliable clusters of servers with fail-over, and establishing and managing security policies.. | |
| Mon. June 24 | SQL Project Presentations | |||
| Tue. June 25 | SQL Project Presentations | |||
Notes
† Assignments and projects are due by 11:59:59pm class the date specified in the assignment unless otherwise noted.