This course will continue on from CSIS 2300 exploring advanced features of database systems. Topics covered will include indexing; query processing and optimization; transaction processing; denormalization; star schema; DW/OLAP cubes; security. NoSQL and MapReduce will also be covered.
- Course overview and review of database fundamentals;
- Working with DB indexes;
- Introduction to query processing and optimization;
- Query optimization case studies;
- Working with DB transactions;
- Denormalizing a DB - why, when, and how;
- Introduction to dimensional modeling;
- Designing a star schema;
- Working with DW/OLAP cube;
- Introduction to noSQL databases;
- CRUD operations in noSQL;
- Analytics in noSQL (MapReduce);
- Securing a database system.
Methods of Instruction
Lecture, seminar and hands-on exercises in the lab.
Means of Assessment
||0% - 5%
||15% - 25%
|Quizzes (Minimum 2)*
||10% - 20%
|Midterm exam *
||20% - 30%
|Final Exam *
||25% - 35%
# Some of the assessments may involve group work.
**In order to pass the course, students must, in addition to receiving an overall course grade of 50%, also achieve a grade of at least 50% on the combined weighted examination components (including quizzes, tests, exams).
The student will be able to:
- Explain the purpose of indexing;
- List different types of indexes;
- Evaluate and explain when to use an index on a column;
- Describe how a SQL query is processed by the DB engine;
- Generate a more efficient query which reduces resource consumption but provides same data results;
- Explain situations when DB transactions should be used;
- Plan a set of queries which could be executed as part of a transaction - including both the success and failure scenarios;
- Describe why and when denormalization is beneficial for a DB system;
- Execute the denormalization process;
- Design a star schema;
- Use a DW/OLAP cube to extract information from data;
- Use a noSQL DB to perform CRUD (Create, Retrieve, Update, Delete) operations;
- Demonstrate application of MapReduce functions;
- Describe common DB security issues and their solutions.
Courses listed here must be completed either prior to or simultaneously with this course:
Courses listed here are equivalent to this course and cannot be taken for further credit:
Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester/year of the course, consider the previous version as the applicable version.
Below shows how this course and its credits transfer within the BC transfer system.
A course is considered university-transferable (UT) if it transfers to at least one of the five research universities in British Columbia: University of British Columbia; University of British Columbia-Okanagan; Simon Fraser University; University of Victoria; and the University of Northern British Columbia.
For more information on transfer visit the BC Transfer Guide and BCCAT websites.
If your course prerequisites indicate that you need an assessment, please see our Assessment page for more information.