🦁

実践データベース設計 - 入門 - 13題

2023/12/22に公開

※ (2023/12/22)初記事なので、公開して反応を様子見したくて、途中までです。
※ 年末年始には書き終えます。

経緯

入門者に正規化を教えても、ポカンとしてしまうし、すぐ忘れてしまう。

だったらもっと実践的なことから取り組んだ方がいいのではないか?

ということで、さっさと実践しながらデータベース設計を学んだらいいんじゃないか、と考えたわけです。

試しに問題作りながら、勉強することにしました。

前提

  • たぶん入門者向けです。
  • 設計したものが、実装者に背景や意図が伝わることが最重要です。
  • 解答例はMySQLで作ろうかなと。
  • 間違ってたら教えてください。直します。
  • テーブルは一旦こんな感じで。
    • uniqueは別でまとめましょう。

早速、1問目 「データ型に親しむ」

Q 1. 以下のユーザー情報を保存できるテーブルを作成してください。

注意書き:

  • 全ての入力欄は必須項目です。
  • 出題として、文字数上限を明確に設定しているのは「表示名」のみです。
  • 指定してませんが、想定した方がいいことは、想定しておいてください。
  • (普通は年齢は、年齢では聞かないですよね・・・)
  • (パスワードは2問目で入れるので、1回忘れてください。)

A 1.

後日→別の記事にするかもしれない?

2問目 「パスワードのデータ型は? サイズは?」

Q 2. 以下のユーザー情報を保存できるテーブルを作成してください。

注意書き:

  • 全ての入力欄は必須項目です。
  • パスワードは8-20文字以内です。
  • 「パスワード データ型」で検索
    • なぜ、そのデータ型にする必要があるのか説明できるようになってください。

A 2.

後日。

今後の予定

ちょっと飛ばし過ぎ?

3問目 「色々なデータ型」

4問目 「命名も大切」

5問目 「リレーションとは?」

6問目 「色々なリレーション」

7問目 「多対多の例題といえばこれでしょ」

8問目 「制約がいっぱい!」 (複合ユニーク)

9問目 「正規化」

10問目 「もう少し正規化してみる」

11問目 「非正規化」

12問目 「難しい例を考える手順」

13問目 「レビューするためには」

Discussion