CS 323 Database Systems
The course aims to introduce students to the understanding, concepts, design, implementation and use of database management systems (DBMSes) and databases (DBs). The DBMS part of the course involves understanding the approaches, techniques, models as well as the underlying database system architecture such as query planners, transaction, concurrency, security and recovery managers. Students will also learn models used at various levels – from conceptual to physical – including entity relationship (ER) diagrams, enhanced entity relationship (EER) diagrams, and unified modeling language (UML) diagrams. The various roles and users of database systems will also be explored. The course has a relational and SQL bias, but there will be some exploration of some noSQL databases (mongoDB, neo4j, etc).
To be competent with conceptual and logical database design To be able to setup and configure DBMS To be able to create and use database objects such as tables, indexes, constraints, etc To be able to work with data using logical query processing
Introduction to Databases Database and Database Users Concept and Architecture Database Setup and Configuration Introduction and Conceptual Modelling Relational Model Models and design of Databases Entity Relationship Models Enhanced Entity Relationship Models Implementation of Databases SQL Queries for implementation SQL Queries for manipulation and retrieval Normalization Constraints Indexing Logical Query Processing Concurrency Recovery Further Topics Database Security Data Warehousing Non-Relational Databases (key-value, graph, document, and OO)
Database Setup and Configuration Models and design of Databases Entity Relationship Models Enhanced Entity Relationship Models Implementation of Databases SQL Queries for implementation SQL Queries for manipulation and retrieval Normalization Constraints Indexing Logical Query Processing Filtering and Sorting Data Non-Relational Databases (key-value, graph, document, and OO)
- Prerequisites: None