# Foundations of Database Design

Foundations of Database Design: Common Sense Design, Create Database Scripts in T-SQL, Normalization, Database Diagrams in SSMS.

Updated: November 3, 2026

1. [Common Sense Design](https://www.ask-codey.com/lessons/foundations-of-database-design-common-sense-design-in-sql-server) (Journeyman): Design tables from the questions the data must answer. Learn from Northwind's design - one subject per table, columns at their smallest useful size, a primary key in every table, and foreign keys to link them.
2. [Create Database Scripts in T-SQL](https://www.ask-codey.com/lessons/foundations-of-database-design-create-database-scripts-in-t-sql) (Journeyman): Turn a design into a script that builds it - CREATE DATABASE, CREATE TABLE with types, NOT NULL, IDENTITY and DEFAULT, and constraints for primary keys, foreign keys, UNIQUE and CHECK.
3. [Normalization](https://www.ask-codey.com/lessons/foundations-of-database-design-normalization) (Journeyman): Normalization splits data into tables so each fact is stored once. Spot the problems repeated data causes, and apply the first three normal forms.
4. [Database Diagrams in SSMS](https://www.ask-codey.com/lessons/foundations-of-database-design-database-diagrams-in-ssms) (Journeyman): SSMS draws a database's tables and the foreign keys between them. Make a diagram of Northwind, read its keys and relationship lines, and know when to draw one.

Source: https://www.ask-codey.com/courses/csharp-full-stack-bootcamp/topics/csharp-foundations-of-database-design
