Designing Your First Table gets easier when you decide what it must hold before you write any SQL. This post walks through naming, data types, NULL or NOT NULL, a primary key, a default and a check constraint on a small Customers table. It also shows what to leave for later.
Script Table As in SSMS: CREATE, INSERT and SELECT in One Click
Script Table As is the right-click menu in SSMS that writes CREATE, SELECT, INSERT, UPDATE and DELETE statements for a table. This post shows what each option writes, what the scripts leave out, and how to run them safely.
Rows, Columns and Tables: How a Database Holds Information
Rows, Columns and Tables are the three ideas behind every relational database. A table holds one kind of thing, a column describes one fact about it, and a row records one item. This post builds a small Books table in SQL Server and reads it back by row and by column.
SQL Code Generators: Let SSMS Write the Script for You
SQL Code Generators in SSMS turn clicks into T-SQL. This post shows the Script button on dialogs, the Generate Scripts wizard and Select Top 1000 Rows, plus the checks I run before I trust a generated script.
Joining Tables in SQL Server: INNER, LEFT and FULL Joins
Joining Tables lets one query combine rows from two tables that share a value. This post uses small Customers and Orders tables to show what INNER, LEFT and FULL OUTER joins return, how many rows each one gives, and how to read the rows that have no match.
Data and Information: Why Every Business Runs on a Database
Data and Information are not the same thing. Data is the raw facts a business stores, and information is the answer you get when a query processes them. This post uses a small bookshop table to show the difference, and why a database does the job better than a ledger or a spreadsheet.
Adding System Versioning to a Table That Already Has Rows
Turning on temporal history for a table that already has data does not rebuild the past. Here is the clean way to do it, and the traps to avoid.







