↑ COP4708

Course & Module Outcomes

Course Outcomes

By the end of this course, students will be able to:

Module Topics & Outcomes

Module 1: 1 - Introduction to Databases, Types, and Applications

Topics

What is a Database?

Introduces the core definition and purpose of a database, establishing foundational vocabulary and concepts essential for the rest of the module.

Relational Databases

Explores the structure and principles of relational databases, including how data is organized into tables and related through keys.

NoSQL Databases

Examines NoSQL database models, their flexible data structures, and the scenarios in which they offer advantages over relational systems.

Hierarchical Databases

Covers the tree-based structure of hierarchical databases, their historical significance, and how data relationships are defined through parent-child links.

Comparing Database Types

Provides a side-by-side analysis of relational, NoSQL, and hierarchical databases to help students understand the trade-offs and selection criteria for each.

Real-World Applications of Databases

Illustrates how databases are applied across industries and modern software systems, connecting theoretical concepts to practical, everyday use cases.

Learning Outcomes

MO1
Define the key vocabulary of databases — including records, fields, tables, primary keys, foreign keys, and schema — as used in relational database systems
Level: RememberType: CognitiveCourse mapping: —
MO2
Distinguish between relational, NoSQL, and hierarchical database models based on their structural organization and data relationship mechanisms
Level: UnderstandType: CognitiveCourse mapping: —
MO3
Compare relational, NoSQL, and hierarchical database types across criteria such as schema flexibility, query capability, scalability, and data integrity
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Select an appropriate database type for a given real-world application scenario by justifying the choice against defined selection criteria
Level: EvaluateType: CognitiveCourse mapping: —
MO5
Identify the database type most likely used in a specified industry context — such as e-commerce, healthcare, banking, or social media — based on that industry's data management requirements
Level: ApplyType: CognitiveCourse mapping: —

Module 2: 2 - Relational Theory and Functional Dependencies

Topics

Mathematical Foundations of Relational Theory

Introduces the core mathematical concepts underlying relational theory, including sets, domains, and the formal definition of a relation. Establishes the theoretical basis upon which relational databases are built.

Relations, Tuples, and Attributes

Examines the fundamental building blocks of the relational model: relations as tables, tuples as rows, and attributes as columns. Explores how these components work together to represent structured data.

Introduction to Functional Dependencies

Defines functional dependencies and explains how they capture constraints between data attributes within a relation. Covers notation, terminology, and basic examples of attribute relationships.

Types and Properties of Functional Dependencies

Explores the different categories of functional dependencies, including trivial and non-trivial dependencies, as well as key properties such as Armstrong's Axioms. Demonstrates how these properties are used to reason about data relationships.

Functional Dependencies and Database Design

Connects functional dependency theory to practical database design decisions, showing how dependencies guide schema construction and refinement. Illustrates the role of functional dependencies as a foundation for normalization.

Learning Outcomes

MO1
Define the formal components of the relational model — including domains, tuples, attributes, and relation schemas — using precise set-theoretic terminology
Level: RememberType: CognitiveCourse mapping: —
MO2
Distinguish between trivial and non-trivial functional dependencies given a set of attributes and their dependency relationships
Level: AnalyzeType: CognitiveCourse mapping: —
MO3
Apply Armstrong's Axioms — reflexivity, augmentation, and transitivity — to derive additional valid functional dependencies from a given FD set
Level: ApplyType: CognitiveCourse mapping: —
MO4
Compute the attribute closure of a set of attributes under a given set of functional dependencies to identify candidate keys in a relation schema
Level: ApplyType: CognitiveCourse mapping: —
MO5
Evaluate a proposed relational schema for redundancy and update anomalies by analyzing its functional dependencies
Level: EvaluateType: CognitiveCourse mapping: —

Module 3: 3 - Relational Databases and Normalization Concepts

Topics

Introduction to Relational Databases

This topic establishes the foundational concepts of relational databases, including how data is organized into tables with rows and columns. It explains the role of relationships between tables and why structured data management is essential.

Problems with Poorly Structured Tables

This topic examines what happens when database tables are not properly designed, leading to redundant and inconsistent data. Students will see concrete examples of poorly structured schemas and understand why they create problems.

Insertion Anomalies

This topic explains insertion anomalies, which occur when adding new data to a table requires the presence of unrelated or unavailable data. Students will explore how poor table design forces incomplete or illogical data entries.

Update Anomalies

This topic covers update anomalies, where changing a single piece of information requires multiple row updates due to redundant data storage. Students will learn how this redundancy leads to inconsistencies when updates are only partially applied.

Deletion Anomalies

This topic addresses deletion anomalies, which arise when removing a record unintentionally destroys other valuable data stored in the same row. Students will understand how tightly coupled data in a single table creates unintended data loss.

Introduction to Normalization

This topic introduces normalization as a systematic approach to eliminating data anomalies by organizing tables according to defined rules. Students will learn the core motivation behind normalization and how it improves database integrity and efficiency.

Learning Outcomes

MO1
Identify the structural components of a relational database, including tables, rows, columns, and primary keys
Level: RememberType: CognitiveCourse mapping: —
MO2
Distinguish between insertion, update, and deletion anomalies in a given poorly structured database schema
Level: AnalyzeType: CognitiveCourse mapping: —
MO3
Diagnose warning signs of poor table design, such as repeating groups, mixed entity types, and partial-key dependencies, in a provided schema
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Explain how normalization eliminates data redundancy and prevents data anomalies in relational tables
Level: UnderstandType: CognitiveCourse mapping: —
MO5
Apply the progressive framework of normal forms to reorganize a poorly structured table so that each table captures information about a single logical entity
Level: ApplyType: CognitiveCourse mapping: —

Module 4: 4 - Normal Forms: 1NF, 2NF, and 3NF

Topics

Introduction to Normalization

Overview of database normalization, its purpose, and why it is essential for reducing redundancy and improving data integrity. Establishes the foundation for understanding the first three normal forms.

First Normal Form (1NF)

Defines the rules of 1NF, focusing on atomicity and eliminating repeating groups. Walks through step-by-step examples of transforming unnormalized tables into 1NF-compliant structures.

Second Normal Form (2NF)

Introduces the concept of partial dependencies and explains how 2NF builds upon 1NF by requiring full functional dependency on the primary key. Demonstrates how to identify and eliminate partial dependencies through table decomposition.

Third Normal Form (3NF)

Defines transitive dependencies and explains how 3NF extends 2NF by removing them. Provides guided examples of restructuring tables to achieve 3NF compliance.

Applying Normal Forms: End-to-End Practice

Consolidates learning by guiding students through the complete normalization process from an unnormalized table through 1NF, 2NF, and 3NF. Reinforces identification and elimination of both partial and transitive dependencies.

Learning Outcomes

MO1
Identify insertion, update, and deletion anomalies present in an unnormalized relational table
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Transform an unnormalized table into First Normal Form by eliminating repeating groups, enforcing atomicity, and designating a primary key
Level: ApplyType: CognitiveCourse mapping: —
MO3
Detect partial dependencies among non-key attributes in a composite-key table
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Decompose a table containing transitive dependencies into a set of Third Normal Form-compliant tables
Level: ApplyType: CognitiveCourse mapping: —
MO5
Validate a fully normalized schema by confirming compliance with 1NF, 2NF, and 3NF requirements across all resulting tables
Level: EvaluateType: CognitiveCourse mapping: —

Module 5: 5 - Advanced Normal Forms: BCNF, 4NF, and 5NF

Topics

Review of 3NF and Its Limitations

Revisits Third Normal Form and examines specific edge cases where 3NF fails to eliminate all redundancy and anomalies. Establishes the motivation for advancing to higher normal forms.

Boyce-Codd Normal Form (BCNF)

Introduces BCNF as a stricter refinement of 3NF, defining its requirements around functional dependencies and candidate keys. Covers how to identify BCNF violations and decompose schemas to achieve compliance.

Comparing 3NF and BCNF

Analyzes the trade-offs between 3NF and BCNF, including cases where BCNF decomposition may sacrifice dependency preservation. Helps students decide which normal form is appropriate for a given schema.

Multivalued Dependencies and Fourth Normal Form (4NF)

Defines multivalued dependencies and explains how they introduce redundancy that BCNF cannot resolve. Presents 4NF rules and demonstrates how to decompose relations to eliminate multivalued dependency violations.

Join Dependencies and Fifth Normal Form (5NF)

Introduces join dependencies as the basis for Fifth Normal Form, explaining when a relation cannot be losslessly decomposed into fewer projections. Covers techniques for identifying 5NF violations and achieving full decomposition.

Applying Higher Normal Forms to Complex Schemas

Provides practical guidance on analyzing real-world schemas and systematically applying BCNF, 4NF, and 5NF transformations. Students work through multi-step normalization scenarios to reinforce end-to-end skill application.

Learning Outcomes

MO1
Identify BCNF violations in a relational schema by determining whether every functional dependency's left-hand side is a superkey
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Decompose a relation with BCNF, 4NF, or 5NF violations into normalized projections using lossless-join decomposition
Level: ApplyType: BehavioralCourse mapping: —
MO3
Distinguish multivalued dependencies from functional dependencies in a given relation schema
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Evaluate the trade-offs between 3NF and BCNF with respect to dependency preservation and redundancy elimination for a given schema design
Level: EvaluateType: CognitiveCourse mapping: —
MO5
Construct a fully normalized schema by sequentially applying BCNF, 4NF, and 5NF transformations to a complex multi-relation design
Level: CreateType: BehavioralCourse mapping: —

Module 6: 6 - Data Modeling and Entity-Relationship Modeling

Topics

Introduction to Data Modeling

Covers the fundamental purpose and importance of data modeling in database design. Explains how data modeling serves as a blueprint for organizing and structuring data before implementation.

Entities and Attributes

Introduces entities as the core objects or concepts within a problem domain and explores the attributes that describe them. Students learn how to identify and define entities and their properties from real-world scenarios.

Relationships Between Entities

Examines how entities interact and connect with one another within a data model. Covers relationship types, cardinality, and participation constraints that define the nature of these connections.

The Entity-Relationship (ER) Model

Presents the ER model as a standardized framework for representing data structure conceptually. Explains the components and conventions of the ER model used to describe a problem domain.

Creating ER Diagrams

Guides students through the process of constructing ER diagrams as visual representations of a database structure. Covers diagramming notation, symbols, and best practices for translating a problem domain into a clear ER diagram.

Applying ER Modeling to a Problem Domain

Focuses on analyzing real-world scenarios to identify and model entities, attributes, and relationships. Students practice translating business requirements and problem descriptions into complete ER diagrams ready for database implementation.

Learning Outcomes

MO1
Distinguish between the conceptual, logical, and physical levels of data abstraction in the database design process
Level: UnderstandType: CognitiveCourse mapping: —
MO2
Classify entity attributes as simple, composite, derived, multi-valued, or key attributes given a real-world problem description
Level: AnalyzeType: CognitiveCourse mapping: —
MO3
Differentiate among relationship cardinality types and participation constraints when interpreting connections between entities in a problem domain
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Construct a complete, correctly notated ER diagram by translating a given set of business requirements into entities, attributes, and relationships
Level: CreateType: BehavioralCourse mapping: —
MO5
Evaluate a drafted ER diagram against its originating problem description to identify errors, redundancies, or missing elements
Level: EvaluateType: CognitiveCourse mapping: —

Module 7: 7 - Designing Relational Databases from ER Diagrams

Topics

Introduction to ER Diagrams and Relational Schemas

An overview of Entity-Relationship diagrams and their role as a blueprint for relational database design. This topic establishes the foundational concepts and terminology needed before conversion begins.

Mapping Strong Entities and Attributes to Tables

Covers the process of converting strong entities and their attributes into relational tables with appropriate columns. Students learn how to identify and assign primary keys during this mapping step.

Handling One-to-Many Relationships

Explains how to represent one-to-many relationships between entities by incorporating foreign keys into the appropriate table. Students practice determining which side of the relationship holds the foreign key reference.

Handling Many-to-Many Relationships

Describes the creation of junction tables to resolve many-to-many relationships between entities in a relational schema. Students learn how composite primary keys and foreign keys are used within these associative tables.

Mapping Weak Entities and Their Relationships

Addresses the special considerations required when converting weak entities, which depend on a parent entity for their identification. Students learn how partial keys and foreign keys combine to form the primary key of a weak entity's table.

Validating and Refining the Relational Schema

Guides students through reviewing the completed schema for correctness, consistency, and integrity constraints derived from the original ER diagram. This topic reinforces best practices for ensuring the schema accurately reflects the intended data model.

Learning Outcomes

MO1
Identify the correct relational table structure, primary key, and column assignments for strong entities, weak entities, and their attributes as specified in a given ER diagram
Level: ApplyType: CognitiveCourse mapping: —
MO2
Apply the foreign key placement rule to convert one-to-many relationships from an ER diagram into a correctly structured relational schema
Level: ApplyType: CognitiveCourse mapping: —
MO3
Construct a junction table with appropriate composite primary keys and foreign keys to resolve a many-to-many relationship in a given ER diagram
Level: CreateType: CognitiveCourse mapping: —
MO4
Form the composite primary key of a weak entity's table by combining its partial key with the foreign key inherited from its owner entity
Level: ApplyType: CognitiveCourse mapping: —
MO5
Evaluate a completed relational schema for correctness by cross-checking primary key integrity, foreign key referential integrity, and normalization up to Third Normal Form against the original ER diagram
Level: EvaluateType: CognitiveCourse mapping: —

Module 8: 8 - SQL Data Modeling Language

Topics

Introduction to SQL as a Data Modeling Language

This topic establishes SQL's role beyond querying, positioning it as a language for expressing and implementing data models. Students are introduced to the core idea that SQL bridges logical design and physical database structure.

Relational Database Fundamentals

This topic covers the foundational concepts of relational database systems that underpin SQL data modeling. Students explore how data is organized into tables, rows, and columns within a relational framework.

Logical Data Modeling Concepts

This topic examines how logical data models are constructed to represent business rules and data relationships before implementation. Students learn how these models serve as the blueprint that SQL will later express.

Schema Creation and Definition

This topic focuses on how SQL is used to define and create database schemas that reflect a logical data model. Students explore the key SQL constructs used to structure and organize data within a database.

SQL in the Database Design Workflow

This topic places SQL within the broader end-to-end database design process, from conceptual modeling through logical and physical design. Students understand how SQL acts as the implementation layer that translates design decisions into a working database.

Learning Outcomes

MO1
Distinguish SQL's data definition role from its data querying role within the context of relational database systems
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Explain how a logical data model serves as a blueprint for constructing a SQL schema
Level: UnderstandType: CognitiveCourse mapping: —
MO3
Construct a relational database schema using CREATE DATABASE and CREATE TABLE statements that reflect a supplied logical data model
Level: ApplyType: BehavioralCourse mapping: —
MO4
Apply primary key, foreign key, and column-level constraints to enforce business rules and referential integrity within a schema definition
Level: ApplyType: BehavioralCourse mapping: —
MO5
Map each phase of the three-phase database design workflow to its corresponding SQL implementation activity
Level: AnalyzeType: CognitiveCourse mapping: —

Module 9: 9 - SQL Data Definition Language (DDL)

Topics

Introduction to SQL DDL

Overview of Data Definition Language and its role in database management. Students learn how DDL differs from other SQL sublanguages and why it is essential for defining database structures.

The CREATE Command

Covers how to use the CREATE statement to build new databases, schemas, and tables. Students practice defining table structures with appropriate column names and data types.

Data Types and Column Definitions

Explores the common SQL data types used when defining table columns, such as integers, strings, dates, and decimals. Students learn how to choose appropriate data types to ensure data integrity and storage efficiency.

Constraints in SQL

Introduces key constraints including PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, and DEFAULT that enforce rules on table data. Students apply constraints during table creation to maintain data accuracy and relational integrity.

The ALTER Command

Explains how to modify existing database structures using ALTER TABLE to add, modify, or drop columns and constraints. Students practice evolving table designs without losing existing data.

The DROP and TRUNCATE Commands

Covers the DROP command for permanently removing database objects and TRUNCATE for quickly clearing all rows from a table. Students learn the differences, use cases, and risks associated with each command.

Working with Schemas

Introduces database schemas as logical containers for organizing related tables and objects. Students learn how to create and manage schemas to structure a database effectively.

Learning Outcomes

MO1
Distinguish DDL from other SQL sublanguages by classifying each sublanguage according to its purpose in database management
Level: UnderstandType: CognitiveCourse mapping: —
MO2
Construct CREATE TABLE statements that include appropriate column names, data types, and constraints to define a relational table structure
Level: ApplyType: CognitiveCourse mapping: —
MO3
Apply PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, and DEFAULT constraints to enforce data integrity rules within a database schema
Level: ApplyType: CognitiveCourse mapping: —
MO4
Modify an existing table structure using ALTER TABLE to add, change, or remove columns and constraints without deleting existing data
Level: ApplyType: BehavioralCourse mapping: —
MO5
Differentiate between the DROP, TRUNCATE, and DELETE commands by comparing their effects on database objects and data to select the appropriate command for a given scenario
Level: AnalyzeType: CognitiveCourse mapping: —

Module 10: 10 - Using Keys and Key Types in SQL

Topics

Introduction to Keys in SQL

An overview of what keys are in relational databases and why they are essential for organizing and identifying data. This topic establishes the foundational concepts that underpin all key types covered in the module.

Primary Keys

A detailed examination of primary keys, including how they uniquely identify each record in a table. Students will learn how to define and enforce primary key constraints in SQL.

Foreign Keys and Referential Integrity

An exploration of foreign keys and how they establish relationships between tables in a database. This topic covers how foreign key constraints support and enforce referential integrity.

Candidate Keys

An explanation of candidate keys as columns or sets of columns that qualify to serve as a primary key. Students will learn how to identify candidate keys and understand their role in database design.

Composite Keys

A focused look at composite keys, which use two or more columns together to uniquely identify a record. This topic covers when and how to implement composite key constraints in SQL.

Surrogate Keys

An introduction to surrogate keys as system-generated identifiers used as an alternative to natural keys. Students will explore the advantages and use cases of surrogate keys in modern database design.

Enforcing Key Constraints for Data Integrity

A practical guide to applying and managing key constraints across a database schema to maintain data accuracy and consistency. This topic brings together all key types to demonstrate best practices for constraint enforcement in SQL.

Learning Outcomes

MO1
Distinguish between primary keys, foreign keys, candidate keys, composite keys, and surrogate keys based on their roles in relational database design
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Construct PRIMARY KEY, FOREIGN KEY, and UNIQUE constraints in SQL using both CREATE TABLE and ALTER TABLE statements
Level: ApplyType: CognitiveCourse mapping: —
MO3
Identify all candidate keys in a given table by evaluating column combinations for the properties of uniqueness and irreducibility
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Evaluate whether a surrogate key or a natural composite key is the more appropriate primary key choice for a specified data modeling scenario
Level: EvaluateType: CognitiveCourse mapping: —
MO5
Configure referential actions (ON DELETE and ON UPDATE) on foreign key constraints to enforce referential integrity across related tables
Level: ApplyType: BehavioralCourse mapping: —

Module 11: 11 - SQL Commands for Complex Queries

Topics

Introduction to Complex SQL Queries

An overview of advanced SQL querying concepts and why they are essential for working with relational databases. This topic sets the foundation for multi-table data extraction and analysis.

JOIN Types and Multi-Table Queries

Exploration of the four primary JOIN types — INNER, LEFT, RIGHT, and FULL — and how they combine data across multiple tables. Students learn when and how to apply each JOIN to retrieve the correct dataset.

Filtering Data with WHERE Clauses

A deep dive into using WHERE clauses to filter query results based on specified conditions. This topic covers logical operators, comparison expressions, and combining multiple conditions effectively.

Sorting Results with ORDER BY

An examination of how the ORDER BY clause controls the sequence of query output by one or more columns. Students practice sorting results in ascending and descending order across various data types.

Aggregating Data with GROUP BY and HAVING

Coverage of how GROUP BY organizes rows into summary groups and how HAVING filters those groups based on aggregate conditions. Students apply these clauses together to produce meaningful statistical summaries from relational data.

Writing and Using Subqueries

An introduction to subqueries as nested SELECT statements embedded within a larger query. Students learn to use subqueries in WHERE, FROM, and SELECT clauses to solve complex data retrieval problems.

Learning Outcomes

MO1
Distinguish between INNER, LEFT, RIGHT, and FULL JOIN types and select the appropriate JOIN for a given multi-table data retrieval scenario
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Construct WHERE clause conditions using comparison operators, logical operators, LIKE, IN, and IS NULL to precisely filter rows from a relational database query
Level: ApplyType: CognitiveCourse mapping: —
MO3
Differentiate between the WHERE and HAVING clauses by explaining at which stage of query execution each clause filters data and on which target it operates
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Compose GROUP BY queries that incorporate aggregate functions and HAVING conditions to produce filtered statistical summaries from relational data
Level: ApplyType: CognitiveCourse mapping: —
MO5
Construct subqueries placed in the WHERE, FROM, or SELECT clause to solve multi-step data retrieval problems within a single SQL statement
Level: CreateType: CognitiveCourse mapping: —

Module 12: 12 - Normalization, Denormalization, and Practical Database Design

Topics

Review of Normalization Principles

Revisits the core normal forms (1NF through BCNF) and their theoretical foundations. Reinforces why normalization eliminates redundancy and maintains data integrity in relational databases.

Normalization in a Practical Context

Explores how normalization principles are applied when designing real-world database schemas. Examines common challenges and trade-offs that arise when moving from theory to production environments.

Introduction to Denormalization

Defines denormalization as a deliberate design strategy rather than a design flaw. Explains when and why a database designer might intentionally introduce redundancy to meet performance goals.

Denormalization Techniques and Patterns

Covers common denormalization approaches such as storing precomputed values, merging tables, and adding redundant columns. Illustrates each technique with practical schema examples.

Performance Implications of Normalization vs. Denormalization

Analyzes how normalization and denormalization each affect query performance, write overhead, and storage costs. Provides a framework for evaluating the performance impact of design decisions.

Balancing Theoretical Purity with Real-World Needs

Guides students in making informed decisions about when to normalize strictly and when to denormalize strategically. Emphasizes aligning database design choices with application requirements, workload patterns, and scalability goals.

Learning Outcomes

MO1
Classify a given relational table according to its highest satisfied normal form (1NF, 2NF, 3NF, or BCNF) by identifying functional dependencies and their violations
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Translate an entity-relationship diagram into a fully normalized relational schema that eliminates redundancy and preserves data integrity
Level: ApplyType: CognitiveCourse mapping: —
MO3
Select an appropriate denormalization technique — such as storing precomputed values, merging tables, adding redundant columns, or creating summary tables — for a given query performance scenario
Level: EvaluateType: CognitiveCourse mapping: —
MO4
Compare the read performance, write overhead, and storage cost implications of a normalized schema versus a denormalized schema for a specified application workload profile
Level: AnalyzeType: CognitiveCourse mapping: —
MO5
Justify a database design decision — choosing the appropriate degree of normalization or denormalization — by applying a structured decision framework aligned with defined workload patterns and scalability goals
Level: EvaluateType: CognitiveCourse mapping: —

Module 13: 13 - Designing Databases for Concurrent Use

Topics

Introduction to Multi-User Database Environments

Explores the unique challenges that arise when multiple users access and modify a database simultaneously. Establishes the foundational need for concurrency control strategies.

Transactions and ACID Properties

Defines database transactions and examines the four ACID properties: Atomicity, Consistency, Isolation, and Durability. Explains how these properties guarantee reliable and predictable database operations.

Concurrency Problems and Data Conflicts

Identifies common concurrency issues such as dirty reads, non-repeatable reads, phantom reads, and lost updates. Illustrates how these conflicts can compromise data integrity in multi-user environments.

Locking Mechanisms

Covers the types of locks used to manage concurrent access, including shared, exclusive, and intent locks. Explains lock granularity, lock escalation, and the trade-offs between concurrency and data protection.

Deadlocks and Conflict Resolution

Examines how deadlocks occur when transactions mutually block each other and presents strategies for detection, prevention, and resolution. Discusses timeout policies and deadlock victim selection.

Transaction Isolation Levels

Describes the standard isolation levels defined by SQL standards, from Read Uncommitted to Serializable. Explains how each level balances data consistency against system performance and concurrency.

Concurrency Control Strategies and Best Practices

Surveys optimistic and pessimistic concurrency control approaches and multiversion concurrency control (MVCC). Provides practical guidance for designing databases that maintain consistency without sacrificing performance.

Learning Outcomes

MO1
Identify the four ACID properties and describe the role each plays in guaranteeing reliable transaction processing in a multi-user database environment
Level: RememberType: CognitiveCourse mapping: —
MO2
Distinguish among dirty reads, non-repeatable reads, phantom reads, and lost updates by explaining the specific transaction interleaving that causes each concurrency problem
Level: UnderstandType: CognitiveCourse mapping: —
MO3
Select an appropriate transaction isolation level for a given application scenario by evaluating the trade-offs between concurrency anomaly prevention and system performance
Level: EvaluateType: CognitiveCourse mapping: —
MO4
Compare optimistic concurrency control, pessimistic concurrency control, and multiversion concurrency control by analyzing how each strategy handles read/write conflicts under different workload conditions
Level: AnalyzeType: CognitiveCourse mapping: —
MO5
Design a deadlock mitigation plan for a multi-user database by applying deadlock prevention strategies, timeout policies, and victim selection criteria to a specified transaction scenario
Level: CreateType: BehavioralCourse mapping: —

Module 14: 14 - Cloud and Local Databases

Topics

Introduction to Database Deployment Models

Overview of the two primary database deployment approaches: locally hosted systems and cloud-based services. Establishes foundational concepts and context for comparing the two models.

Locally Hosted Database Systems

Examination of on-premises database infrastructure, including setup, management responsibilities, and common use cases. Covers the characteristics that define local deployment environments.

Cloud-Based Database Services

Introduction to major cloud database platforms including AWS RDS, Azure SQL, and Google Cloud SQL. Explores how these managed services operate and what features they offer.

Cost Comparison: Cloud vs. Local

Analysis of the financial trade-offs between cloud and local database deployments, including capital expenditure versus operational expenditure models. Covers licensing, hardware, and ongoing service costs.

Scalability and Performance

Comparison of how cloud and local databases handle growing data demands and performance requirements. Highlights the scalability advantages and limitations of each deployment model.

Maintenance and Administration

Evaluation of the administrative burden associated with each deployment model, including patching, backups, and monitoring responsibilities. Contrasts self-managed maintenance with provider-managed services.

Availability, Reliability, and Security

Examination of uptime guarantees, disaster recovery options, and security considerations for both deployment models. Discusses how each approach addresses data protection and business continuity.

Learning Outcomes

MO1
Distinguish between locally hosted and cloud-based database deployment models based on their defining infrastructure characteristics
Level: UnderstandType: CognitiveCourse mapping: —
MO2
Compare the capital expenditure and operational expenditure cost structures of on-premises and cloud database deployments using total cost of ownership factors
Level: AnalyzeType: CognitiveCourse mapping: —
MO3
Contrast the scalability mechanisms of cloud databases such as AWS RDS, Azure SQL, and Google Cloud SQL against those of locally hosted database systems
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Evaluate the maintenance, availability, and security trade-offs of each deployment model to recommend an appropriate database hosting strategy for a given organizational scenario
Level: EvaluateType: CognitiveCourse mapping: —
MO5
Classify administrative responsibilities under the shared responsibility model for cloud-managed database services
Level: ApplyType: CognitiveCourse mapping: —

Module 15: 15 - Database Security Models, Users, and Application Connections

Topics

Database Security Fundamentals

Introduces the core principles of database security, including the importance of protecting data integrity, confidentiality, and availability. Establishes the foundation for understanding security models and access control strategies.

User Roles and Permissions

Explores how database users are created and managed, including the assignment of roles and privileges to control access to data and operations. Covers the principle of least privilege and role-based access control models.

Authentication and Authorization

Examines the mechanisms databases use to verify user identity and enforce access policies. Discusses authentication methods, password policies, and how authorization rules are applied at the database level.

SQL Injection Prevention

Covers the SQL injection attack vector, explaining how malicious input can compromise database security. Presents prevention strategies including parameterized queries, prepared statements, and input validation techniques.

Application-to-Database Connections

Describes how applications establish connections to databases using connection strings and configuration best practices. Addresses secure storage of credentials and environment-based configuration management.

ORM Frameworks and Database Abstraction

Introduces Object-Relational Mapping frameworks as a layer between application code and the database. Explains how ORMs can simplify development while also contributing to security and consistency in data access.

Connection Pooling Best Practices

Explains the concept of connection pooling and why it is essential for application performance and scalability. Covers configuration considerations, resource management, and security implications of shared connection pools.

Learning Outcomes

MO1
Explain the CIA Triad and the principle of least privilege as foundational frameworks for database security
Level: UnderstandType: CognitiveCourse mapping: —
MO2
Construct role-based access control configurations by creating database users, defining roles, and applying GRANT and REVOKE statements to enforce separation of duties
Level: ApplyType: BehavioralCourse mapping: —
MO3
Implement parameterized queries or prepared statements to eliminate SQL injection vulnerabilities in application database interactions
Level: ApplyType: BehavioralCourse mapping: —
MO4
Design a secure application-to-database connection strategy that incorporates credential storage outside the codebase, encrypted connections in transit, and least-privilege service accounts
Level: CreateType: CognitiveCourse mapping: —
MO5
Evaluate the security implications of connection pooling configurations, identifying risks related to session state isolation and connection leak vulnerabilities
Level: EvaluateType: CognitiveCourse mapping: —