CMPUT 391 - Database Management Systems
Overview
This course covers fundamental algorithms and data structures underlying the storage and manipulation of data by a relational database management system and select topics pertaining to non-traditional data models and applications, including document management, spatial data management, graph data management, and NoSQL (not-only SQL) systems.
Topics
- SQL and relational algebra: brief review, equivalence, and compiling SQL into algebraic expressions
- Recursive SQL and querying graph databases
- Hardware/OS: virtual memory, storage, redundancy, the Buffer Manager
- Query processing: in memory query execution, external memory queryexecution, iterators
- Speeding up tuple retrieval: flat indexes, multilevel indexes, B+trees, hashing, multidimensional indexes
- Transaction processing: ACID transactions, logging and error recovering, locking, timestamping, validation
- RDF and SPARQL
- Spatial indexes, simple spatial queries and nearest neighbour queries
- NoSQL and Map-Reduce
Course Work
- Lab exercises
- Weekly quizzes
- Assignments
- Project