CS 345 Fall 2020 Final Topics
Below are the major topics and tasks you are expected to know and apply for the final exam. Note: this document is meant as a guide to help you study and not as an all-inclusive list. You are expected to know and may be tested on all material covered so far, not just what is listed below.
• SQL Queries
o Keywords: select, from, where, etc. o The 4 major types of joins
o Aggregates: count, sum, max, etc. o Nested queries
o Generalknowledge
▪ How NULLs work in SQL
▪ Primary key vs. foreign key vs. unique o Retrievingdata
o Creatingtables o Constraints
o Insertingdata o Updatingdata o Deletingdata
• ER Models
o Creatingdiagrams
▪ What the different shapes represent ▪ The different types of arrows
▪ Weak entities/relationships
▪ Keys
o Converting diagrams into SQL • Indexes
o Why/Whentousethem o Tree vs. Hash
o Clustered vs. Unclustered
• Functional Dependencies and Normalization o What a functional dependency is
o HowtotellifaFDholds
o Howtofindaclosure
o How to tell if a relation is in BCNF
o How to tell if a decomposition is lossy
o Key Vs. Superkey
o How to normalize/decompose a relation
• Security, Views, Access Control o ViewCreation
o Materialized Views o CreatingRoles
o CreatingUsers
o Grantingprivileges o SQLInjection
• Transactions and Concurrency o What a transaction is
o Thedifferenttypesofconcurrencyissues
o Serializable schedules vs. non-serializable schedules o ACID
o Isolationlevels
• NoSQL and Parallel Computation o HowMapReduceworks
o HowtoqueryaMongoDBdatabase ▪ Retrieve, add, delete data
o Differencesbetweennon-relationalDBsandrelationalDBs o General differences between MongoDB and PostgreSQL