Database Schema Design — Tables, Keys and Migrations
Design a database schema from your requirements: tables, columns and types, keys and constraints, indexes for your real queries, and a migration plan that flags steps that could lock a table or lose data.
Nigel Yoshida