「店舗に受取方法を追加する」は、基本的な SQL とターミナル操作を知っている方向けの MySQL 実践プロジェクトです。既存の注文システムを拡張し、新クライアントが受取先を選択できるようにしながら、旧クライアントは引き続き新しい列を省略できます。元の注文 ID、金額、メモ、明細の関係を保ちます。
2 つの Guided Lab で互換性を保つ拡張、過去の選択の正確な反映、独立した制約の強化を学びます。独立した Challenge では、窓口、既定値、注文 ID が異なる修理店へ同じ判断を応用します。各単元には新しいデータと準備済みの Terminal があります。
学習内容
- 明示的な既定値でテーブルを拡張し、列を省略する旧クライアントの書き込みを保つ。
- 名前や既定値から過去の選択を推測せず、承認された注文 ID ごとの対応を使う。
- 不完全、重複、不正な対応を、業務データの一部だけが変更される前に拒否する。
- NULL でない有効な受取先参照を強制し、新旧双方の正当な注文を維持する。
- トランザクション内のデータ変更と MySQL DDL を分け、ROLLBACK で取り消せないものを観察する。
このコースの対象者
業務データを失わずに既存スキーマを進化させたいデータベース開発の入門者や MySQL 学習者が対象です。ターミナル操作、MySQL 接続、SELECT/WHERE、INSERT/UPDATE、列、主キー、既定値が前提です。JOIN、集約、一時テーブル、トランザクションのパターンは Challenge 前に説明します。
LabEx が Oracle MySQL、元の注文と明細、承認済みの過去の対応、注文ツール、ブラウザー内の Terminal を用意します。作成するのは SQL ファイルで、Python やアプリケーションのプログラミングは不要です。
よくある質問
何を完成させますか? 拡張、過去データの反映、制約強化の SQL と、実際に移行された注文システムです。双方のクライアントが動作し、不正な受取先の書き込みは拒否され、保護対象の履歴と後から選ばれた受取先が正しく保たれる必要があります。
無停止の移行を保証しますか? いいえ。制御された保守時間内でリクエストを逐次実行します。実際の暗黙のコミットを観察し、ALTER をトランザクションで囲んでも DDL が自動でロールバックされない理由を学びます。ロックのない展開や任意の並行移行の安全性を証明するものではありません。

