Module outline:📋 Module Topics🎯 Student Learning Outcomes
COP4708

Module 2 – Relational Theory and Functional Dependencies

This module explores the mathematical foundations of the relational model, including sets, domains, tuples, and relations, as well as the theory of functional dependencies and their role in principled database schema design. Work through the readings, interactive exercises, and lab activities below to build a rigorous understanding before advancing to normalization.

Module Artifacts

16
Module Topics .json

This JSON file outlines the topics covered in the module, organised into sections on mathematical foundations of relational theory (sets, domains, tuples), relations/tuples/attributes, and functional dependencies, serving as a navigation guide for learners and instructors.

Custom Material .html

This interactive HTML activity presents a sample DOG_REGISTRY database table and asks learners to evaluate a series of potential functional dependencies as Valid, Invalid, or Partially Valid, helping them practice identifying and reasoning about functional dependencies in a realistic relational schema.

Custom Material .html

An interactive HTML exercise presenting a university course registration dataset where learners analyze sample data to classify listed functional dependencies as Valid, Invalid, or Partially Valid, reinforcing their understanding of FD concepts from relational theory.

Text Content .html

This reading explains how functional dependencies serve as logical design tools, covering how real-world data rules drive schema design decisions, and is used by learners to understand the theoretical basis for structuring database schemas systematically.

Text Content .html

An interactive assignment tool where learners act as a database consultant, using a provided set of entities and functional dependencies gathered from a simulated director interview to produce a normalized database design that satisfies all given constraints.

Text Content .html

This HTML exercise presents a university course registration dataset and asks learners to identify functional dependencies and violations among attributes such as students, courses, instructors, and enrollments, serving as a hands-on practice activity for applying functional dependency analysis concepts.

Example Problems .html

A worked-example practice page that teaches learners how to apply Armstrong's three axioms—reflexivity, augmentation, and transitivity—to derive new functional dependencies from a given FD set, used by students to build and check their reasoning skills before assessments.

Topic Detail .html

This reading introduces the mathematical underpinnings of the relational model as developed by Codd, covering sets, domains, tuples, and relations as formal mathematical constructs, and is used by learners to build rigorous conceptual grounding before studying SQL or database design.

Topic Detail .html

This reading explains the three core building blocks of the relational model — relations (tables), tuples (rows), and attributes (columns) — and is used by learners to understand how data is structured and interpreted within relational database systems.

Topic Detail .html

This reading introduces the concept of functional dependencies, explaining what they are, the notation used, and how they describe real-world constraints between attribute sets within a relation, serving as foundational preparation for studying normalization.

Topic Detail .html

This reading covers the classification and formal properties of functional dependencies, including types such as trivial and non-trivial dependencies and inference rules, and is used by learners to develop the analytical skills needed for normalization and schema evaluation.

Topic Detail .html

This reading explains how functional dependencies are applied in practice to drive database schema design decisions, reinforcing how real-world data rules translate into logically consistent relational structures for learners studying database design methodology.

Text Content .html

An interactive normalization lab activity where learners decompose a flat client spreadsheet into properly structured tables by applying functional dependency business rules, then verify their design is lossless by proving it survives a join.

Reference File .html

This assignment presents a realistic university course registration dataset and asks students to classify a set of potential functional dependencies as Valid, Invalid, or Partially Valid, providing reasoned justifications for each decision. Students analyze relationships among attributes such as StudentID, CourseCode, InstructorID, and composite keys like (CourseCode, Semester). The exercise culminates in a formal written report submitted in Word or PDF format.

Reference File .html

This interactive HTML tool allows students to work through functional dependency problems by splitting FD sets and proving derived dependencies step by step. It provides a structured, rule-checked environment where students can apply derivation rules and receive real-time feedback on whether their steps are valid. The interface includes scenario selection, a live rule checklist, and visual indicators for correct and incorrect reasoning.

Reference File .html

An interactive HTML-based design board activity that presents relational schema concepts and functional dependency exercises in a structured, visual interface. The tool appears to include attribute chips, dependency relationship displays, and checklist-style criteria panels for hands-on schema analysis. Students likely drag, select, or organize schema components to complete guided tasks.

Topics & Learning Outcomes

View Topics & Learning Outcomes