# IT初級者｜データベースとSQL

## 学習目標
顧客・商品・注文を別の表へ設計し、整合性を保ちながら登録・検索・結合・集計を行う。

## 1. ER図と項目定義

課題：customers、products、orders、order_itemsを紙に描き、主キーと参照先を付ける。

前提・環境：

手順：

期待結果：

実際の結果：

根拠・未確認：

レビューと修正：

## 2. 正規化の前後比較

課題：商品マスターの価格と注文明細の購入単価を分け、どちらを変更しても過去の注文が変わらない設計にする。

前提・環境：

手順：

期待結果：

実際の結果：

根拠・未確認：

レビューと修正：

## 3. 検索SQLと期待結果

課題：同梱のSQL演習で特定顧客の注文を検索し、日付と金額の条件を変えて件数を照合する。

前提・環境：

手順：

期待結果：

実際の結果：

根拠・未確認：

レビューと修正：

## 4. 集計SQLと検算表

課題：顧客別の注文合計を作り、件数と単価×数量を手計算でも検証する。注文なし顧客も必要かを決める。

前提・環境：

手順：

期待結果：

実際の結果：

根拠・未確認：

レビューと修正：

## 5. 更新・取消の記録

課題：メモリー上の演習DBでBEGIN、更新、ROLLBACKを試し、取り消し後の値を確認する。別にCOMMITの結果も比べる。

前提・環境：

手順：

期待結果：

実際の結果：

根拠・未確認：

レビューと修正：

## 6. 性能比較と安全なSQL例

課題：EXPLAIN QUERY PLANで索引前後を比べ、Pythonの?プレースホルダーで入力値を渡す。

前提・環境：

手順：

期待結果：

実際の結果：

根拠・未確認：

レビューと修正：
