0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データベース設計:正規化

Posted at

正規化

正規化とは繰り返している部分をなくし、無駄のないテーブルを作ることです。
手順は2ステップ

  • 「横」の繰り返しをなくす
  • 「縦」の繰り返しのなくす

正規化を実際にやってみる

以下のテーブルを正規化していきましょう。
スクリーンショット 2025-01-09 16.42.15.png

「横」の繰り返しをなくす

まずは「横」の繰り返しのなくします。
横の繰り返しはオレンジの部分です。
スクリーンショット 2025-01-09 16.47.58.png

「横」の繰り返しをなくしました。
スクリーンショット 2025-01-09 16.55.46.png

「縦」の繰り返しをなくす:1回目

「縦」の繰り返しのなくすには1:Nの関係を作りましょう。

<購入履歴>(1)
スクリーンショット 2025-01-09 17.08.38.png

<購入履歴明細>(N)
スクリーンショット 2025-01-09 17.04.59.png

「縦」の繰り返しをなくす:2回目

購入履歴明細の「縦」の繰り返しもなくしましょう。

<商品データ>(1)
スクリーンショット 2025-01-09 17.30.31.png

<購入履歴明細>(N)
スクリーンショット 2025-01-09 17.30.26.png

「縦」の繰り返しをなくす:3回目

次にユーザに関するカラムの縦のデータをなくしましょう。
スクリーンショット 2025-01-09 17.17.03.png

1:Nの関係性にするため、切り出します。

<ユーザデータ>(1)
スクリーンショット 2025-01-09 17.38.46.png

<購入履歴>(N)
スクリーンショット 2025-01-09 17.39.08.png

「縦」の繰り返しをなくす:3回目

ユーザデータテーブルの「縦」の繰り返しもなくしましょう。

<送料区分データ>(1)
スクリーンショット 2025-01-09 17.44.53.png

<ユーザデータ>(N)
スクリーンショット 2025-01-09 17.44.59.png

まとめ

  • 「横」の繰り返しをなくす
  • 「縦」の繰り返しをなくす(1:Nの関係にする)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?