Caveat Academy course · Grades 9 to 12

Database Design: tables, keys and SQL

Design databases the way professionals do: turn a plain description into entities and relationships, link tables with primary and foreign keys, normalize a messy table to third normal form, write SQL that filters, groups and joins, protect data with constraints and transactions, decide when an index pays off and stop SQL injection. Six modules at your own pace, ending with a club database you design and query yourself.

$19one-time · every device you sign in on

Included with the Caveat Academy pass and Whole-school licenses. Or get it in the High school electives library, $119 for 66 items.

6 modules · 18 lessonsabout 13 hours$19

Six modules, eighteen lessons

Each module ends with a practice set that tracks mastery, an explain-it-back prompt, a short written response and a module exam. The final opens when every module is proficient; passing it earns a certificate with a verification code.

  1. Module 1: Data and databases

    Explain what a database management system does, choose data types and identify primary keys, foreign keys and referential integrity.

    • Why databases exist
    • Tables, rows, columns and data types
    • Primary keys and foreign keys
    about 2.1 h
  2. Module 2: Modeling data

    Model a system as entities, attributes and relationships with the right cardinality and turn the model into a schema.

    • Entities, attributes and relationships
    • Cardinality: one-to-one, one-to-many, many-to-many
    • From diagram to tables
    about 2.1 h
  3. Module 3: Normalization

    Analyze tables for update, insert and delete anomalies and normalize them to third normal form.

    • Redundancy and anomalies
    • First and second normal form
    • Third normal form and when to bend the rules
    about 2.1 h
  4. Module 4: Querying with SQL

    Write SQL queries that filter, sort, aggregate, group and join tables, and predict their results.

    • SELECT, WHERE and ORDER BY
    • Counting, totals and groups
    • Joining tables
    about 2.2 h
  5. Module 5: Building and changing a database

    Create tables with constraints, change data safely with transactions and evaluate when an index helps.

    • Creating tables with constraints
    • Inserting, updating and deleting safely
    • Indexes and performance
    about 2.1 h
  6. Module 6: Databases in the real world

    Evaluate database security practices and database types for a task, and design a complete database from a description.

    • Security and privacy
    • Beyond relational: other kinds of databases
    • A design project and careers
    about 2.1 h

Try it before you start

This is how every lesson works: step through a worked example at your own pace, then answer a check and get the reason right away. Nothing here is saved; the course keeps your progress.

Module 2 · Cardinality: one-to-one, one-to-many, many-to-many

Worked example: students and clubs

  1. A student can join many clubs, and a club has many students: many-to-many.

A lesson check from each module

The checks need JavaScript turned on. The course itself works the same way.

What you get

Academics · High School$19 · included with the Academy pass and Whole-school licenses

What you finish with
A finished course in database design: you can explain what a database management system does, choose data types, identify primary and foreign keys and referential integrity, model a system as entities and relationships with the right cardinality, turn a model into a schema, find update, insert and delete anomalies and normalize to third normal form, write SQL that filters, sorts, aggregates, groups and joins, create tables with constraints, change data safely with transactions, decide when an index helps, defend against SQL injection, compare kinds of databases and build a complete database from a description. Passing the final earns a Caveat certificate of completion.
Who it is for
Students in grades 9 to 12 interested in computer science, web development, data or information systems, students taking or about to take a database or programming elective, and homeschool families who want a practical computing course. No programming experience is needed; every query can be practiced in a free database program or a free browser-based SQL practice site.
Format
An online self-paced course: 6 modules and 18 lessons with worked examples you reveal step by step, 144 practice and exam items (multiple choice, numeric, fill-in and ordering), an explain-it-back prompt and a rubric-checked short response in every module, module exams with one retake, a 24-question final and a certificate with a verification code. About 13 hours in all; works on a phone or a computer.
Access
$19 one-time, yours on every device you sign in on; the course opens once you are signed in with it. Included with the Caveat Academy pass and Whole-school licenses. Also in the High school electives library ($119) and the Academics Suite pass ($149), and 1 more bundle. Progress is saved in this browser on this device, and the certificate page lets you download your record.
Where it lives
The High School space in Caveat Academics.
Support
Access, a receipt, a refund or a correction to the course: team@caveatacademic.com.

How it works

  1. Open the course and start Module 1. Each lesson takes about 25 to 35 minutes; two or three a week finishes the course in about a semester.
  2. Answer the checks as you read. Every answer shows the reason, and a miss links you back to the lesson that covers it.
  3. Finish each module with its practice set and exam. Proficient on every module opens the final; 70 percent passes it.
  4. Print or download your certificate and record from the certificate page.

Start the course

Sources and accuracy

The lessons are original writing by Caveat Academic Services. Facts were checked against these free, open references, which are also good places to read further.

  1. E. F. Codd, A Relational Model of Data for Large Shared Data Banks, Communications of the ACM, 1970: dl.acm.org
  2. SQLite documentation, the SQL language as understood by SQLite, a free public-domain database: sqlite.org
  3. PostgreSQL documentation, tutorial on tables, queries, joins, constraints and transactions: postgresql.org
  4. OWASP, SQL injection prevention and password storage cheat sheets: cheatsheetseries.owasp.org
  5. U.S. Bureau of Labor Statistics, Occupational Outlook Handbook, database administrators and architects: bls.gov

Database Design is a self-paced course from Caveat Academic Services. It follows the sequence of a typical high school database design course but does not replace a school course and awards no credit. SQL syntax differs slightly between database systems; the lessons use standard forms that work in common free systems. Practice projects should use made-up data only. Support: team@caveatacademic.com.