スキーマ・制約・正規化
小さなECサイトの顧客・注文・注文明細をどう分け、何をDBの制約で守りますか?
詳細な解説や模範解答を読む前に、まず自分の仮定と判断を口頭で説明する。
学習の切り口
Section titled “学習の切り口”- Learn:正規化と参照コストを、自分の言葉と小さな例で説明する。
- Practice:最初の問いについて、要件確認 → 初案 → 理由 → 代替案を説明する。
- Interview:商品名と価格が毎日変わり、過去の請求は当時の内容で再現する必要が出たら?
- Production:アプリの不具合で不整合が発生したとき、どこで検出し、何を修復しますか?
判断を見直す観点:正規化と参照コスト/PK・FK・UNIQUE/現在値と注文時点の履歴。
この題でセッションを始める
Section titled “この題でセッションを始める”tech2026 の CHATGPT.md と reviews/database-schema.yaml、src/content/docs/topics/database/schema.md を読み、database-schema の interview を始めてください。最初はこのページの最初の一問だけを出し、私の回答を待ってください。以降は回答に応じて条件を一つずつ変え、理由とtrade-offを聞いてください。終了時は実際の回答を根拠に、CHATGPT.mdと既存テンプレートに従ってYAML+Session narrativeを含む [Session Sync] GitHub IssueをMFQWKMR4/tech2026に作成し、URLを返してください。作成できない場合は未作成と明示し、コピー可能なタイトルと本文を返してください。基礎からなら interview を learn、設計練習なら practice に変更する。口頭で15〜20分を目安に、一回は一つの判断に絞る。
GitHubを読めない場合は npm run session:pack -- database-schema の出力を貼る。
一次資料への入口
Section titled “一次資料への入口”公式資料 — データモデルをテーブル・制約に落とすための基本要素を確認する。
資料確認日:2026-09-07。これは出題の入口で、学習済み・実験済みを意味しない。 AIは未提示の要件を事実として補わず、回答後に必要な資料を確認する。