コンテンツにスキップ

スキーマ・制約・正規化

小さなECサイトの顧客・注文・注文明細をどう分け、何をDBの制約で守りますか?

詳細な解説や模範解答を読む前に、まず自分の仮定と判断を口頭で説明する。

  • Learn:正規化と参照コストを、自分の言葉と小さな例で説明する。
  • Practice:最初の問いについて、要件確認 → 初案 → 理由 → 代替案を説明する。
  • Interview:商品名と価格が毎日変わり、過去の請求は当時の内容で再現する必要が出たら?
  • Production:アプリの不具合で不整合が発生したとき、どこで検出し、何を修復しますか?

判断を見直す観点:正規化と参照コスト/PK・FK・UNIQUE/現在値と注文時点の履歴。

ChatGPT開始文
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を返してください。作成できない場合は未作成と明示し、コピー可能なタイトルと本文を返してください。

基礎からなら interviewlearn、設計練習なら practice に変更する。口頭で15〜20分を目安に、一回は一つの判断に絞る。 GitHubを読めない場合は npm run session:pack -- database-schema の出力を貼る。

公式資料 — データモデルをテーブル・制約に落とすための基本要素を確認する。

資料確認日:2026-09-07。これは出題の入口で、学習済み・実験済みを意味しない。 AIは未提示の要件を事実として補わず、回答後に必要な資料を確認する。