Skip to content
Computer Science · 11th Grade

Active learning ideas

Introduction to Relational Databases

Active learning works for relational databases because students need to see the invisible structure that organizes information in real systems. When they build and interrogate schemas themselves, they move from abstract ideas to concrete understanding of how data integrity, relationships, and constraints hold everything together.

Common Core State StandardsCSTA: 3B-DA-05
20–35 minPairs → Whole Class4 activities

Activity 01

Case Study Analysis35 min · Small Groups

Design Challenge: School Database Schema

Groups receive a description of a school's data needs (students, teachers, classes, grades, rooms) and must design a database schema on paper, choosing tables, columns, and primary/foreign keys. Groups present to each other and critique: Where does a design cause redundancy? What breaks when a teacher changes classrooms?

Explain the core concepts of a relational database, including tables, rows, and columns.

Facilitation TipDuring the Design Challenge, circulate and ask students to explain their foreign key choices aloud so peers can hear the reasoning behind shared keys.

What to look forPresent students with a small dataset (e.g., a list of students and their favorite colors). Ask them to identify how this data could be organized into at least two tables, specifying the columns for each and identifying a potential primary key for each table.

AnalyzeEvaluateCreateDecision-MakingSelf-Management
Generate Complete Lesson

Activity 02

Think-Pair-Share20 min · Pairs

Think-Pair-Share: Flat vs. Relational

Show students a spreadsheet with repeated data (student name duplicated in every grade record). Students individually identify problems with this design, compare observations with a partner, and the class catalogs all the issues found. This motivates the relational model as a solution rather than an abstract requirement.

Analyze the benefits of organizing data into a relational model.

Facilitation TipIn the Think-Pair-Share, assign the flat vs relational comparison first to individuals, then pairs, then share out to surface common misconceptions early.

What to look forPose the scenario: 'Imagine you are designing a database for a small music festival. What kinds of information would you need to store (e.g., bands, attendees, stages, schedules)? How would you organize this into tables, and what relationships would exist between them?' Facilitate a class discussion where students share and critique their proposed schemas.

UnderstandApplyAnalyzeSelf-AwarenessRelationship Skills
Generate Complete Lesson

Activity 03

Case Study Analysis25 min · Small Groups

Card Sort: Table Components

Groups receive a set of cards labeled with terms (primary key, foreign key, row, column, table, relationship, NULL, constraint) and a partially completed relational schema. Groups must correctly place cards on the schema diagram and explain each placement. Comparing across groups surfaces confusion about key relationships.

Design a simple database schema for a given real-world scenario.

Facilitation TipDuring the Card Sort, have students justify their placement of terms like 'foreign key' or 'composite key' by referencing the example tables in front of them.

What to look forProvide students with a simple database schema diagram. Ask them to write one SQL query to retrieve all records from one table, and another query to join two tables based on their foreign key relationship to find specific related information.

AnalyzeEvaluateCreateDecision-MakingSelf-Management
Generate Complete Lesson

Activity 04

Case Study Analysis30 min · Small Groups

Case Study Analysis: Database Design Failures

Groups analyze a simplified scenario where poor database design caused a real problem (such as a hospital's records becoming inconsistent after a department restructuring). Each group identifies the design flaw and proposes a relational schema fix, then compares solutions with another group to evaluate the alternatives.

Explain the core concepts of a relational database, including tables, rows, and columns.

Facilitation TipIn the Case Study, assign each group a different failure scenario so the class collectively builds a full picture of what not to do.

What to look forPresent students with a small dataset (e.g., a list of students and their favorite colors). Ask them to identify how this data could be organized into at least two tables, specifying the columns for each and identifying a potential primary key for each table.

AnalyzeEvaluateCreateDecision-MakingSelf-Management
Generate Complete Lesson

A few notes on teaching this unit

Teach relational databases by making students feel the pain of flat data first, then offering the relational model as the solution. Avoid lecturing on normalization theory before students have tried to represent relationships in a single table. Use real-world analogies sparingly; instead, let students experience the cognitive load of denormalized data firsthand. Research shows schema design improves when students wrestle with data duplication and update anomalies before formalizing rules.

Students will show they understand relational databases when they can design a normalized schema, explain why relationships matter, and critique designs based on duplication and query complexity. Look for clear primary and foreign keys, minimal redundant data, and coherent table relationships in their deliverables.


Watch Out for These Misconceptions

  • During the Design Challenge, watch for students who default to a single table with many columns for related data like courses and students.

    Point students back to their task cards that show data duplication issues when all student info repeats for each course. Ask them to sketch a second table and explain what would happen if a student changes their phone number in the single-table design.

  • During the Card Sort, watch for groups that treat auto-generated IDs as the only valid primary key.

    Have them use the composite key example from the activity sheet where enrollment combines student_id and course_id. Ask them to consider what happens if they drop the course_id column and rely only on student_id.

  • During the Think-Pair-Share, watch for students who equate more tables with better design.

    Bring them back to the activity’s flat vs relational comparison. Ask them to count the joins required to answer a sample query on both schemas and decide which feels more maintainable.


Methods used in this brief