This course offers an in-depth study of Database System Concepts and Architectures including, query processing, query optimization, transaction processing, concurrency control, recovery, parallel databases, distributed databases and access control. Design of storage and file structures including different indexing and hashing organizations are also discussed. ACID (Atomicity, Consistency, Isolation and Durability) property and non-ACID complied database are discussed. Various database languages are discussed including Data Definition Language (DDL) and Data Manipulation Language (DML). Comparative analysis with alternative data models and database systems is conducted. Assignments will reinforce learning through designing and constructing a database from conceptual, to logical model to final physical deployment.
Acceptance into the Bachelor of Technology in Computer Systems Degree program.
Hybrid delivery format. This course will be a combination of in-class sessions (15 hours) AND online instruction (30 hours). Classroom sessions will be held on the following Thursdays at the DTC campus: September 10, October 08, November 12 and November 26. All sessions will be from 1830-2215. ***This is not a self-paced course. There will be specific timelines for assignments and exams.*** Course content, kind and quality of assignments and general standards for this course are the same as classroom courses. This is a CST BTech course. CST BTech courses are also open to non-bachelor program students. CST Bachelor program students have up to seven (7) years to complete the Bachelor program starting from the date of their first Technical degree-level course or the date of acceptance to the Bachelor program, WHICHEVER COMES FIRST.
Upon successful completion, the student will be able to:
Identify structural, integrity, and data manipulation aspects of the relational world.
Formulate Relational Algebra and Tuple Relational Calculus.
Write SQL basic operations and nested subqueries.
Apply integrity constraints and functional dependencies in schema design.
Explain storage and file structures.
Explain physical storage media and RAID.
Describe file and record organization schemes.
Explain B-Tree, B+-Tree, static and dynamic hashing techniques.
Describe storage and access design tradeoffs.
Explain query processing and apply appropriate optimization approaches.
Explain transaction management and concurrency control.
Explain implementation of atomicity and durability.
Discuss serializability, recoverability, and implementation of isolation.
Explain lock-based, timestamp-based, and validation-based concurrency control schemes.
Explain deadlock handling and concurrency in index structures.
Explain database failure recovery techniques.
Explain database system architectures.
Review centralized versus client-server versus parallel versus distributed systems.
Discuss inter-query versus intra-query parallelism.
Identify design issues for parallel and distributed database systems.
Discuss distributed transaction model and commit protocols.
Explain advanced transaction processing.
Describe TP monitors and high performance transaction systems.
Discuss long-duration transactions and weak levels of consistency.
Discuss performance issues related to real-time transactions.
Effective as of Winter 2008
COMP 7071 is offered as a part of the following programs:
If you have a comment or question about this course, please complete and submit the form below.
Interested in being notified about future offerings of COMP 7071 - Database Design?
If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.