---
title: di-4. データベース設計
tags:  #リレーショナルデータベース #異状 #テーブルの分解  
author: [kunihikokaneko](https://www.docswell.com/user/6674398749)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/NPJXQ9ND7X.jpg?width=480
description: リレーショナルデータベース序論（全４回） データベースの入門者へ https://www.kkaneko.jp/cc/di/index.html
published: January 12, 22
canonical: https://www.docswell.com/s/6674398749/KNJYRZ-2022-01-12-094223
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/NPJXQ9ND7X.jpg)

di-4. データベース設
計
リレーショナルデータベース序
論（全４回）
データベースの入門者へ
https://www.kkaneko.jp/cc/di/index.html
金子邦彦
1
謝辞：この資料では「かわいいフリー素材集 いらすとや」のイラストを使用しています


# Page. 2

![Page Image](https://bcdn.docswell.com/page/63JK9PNDJD.jpg)

はじめに
• データベースで一番困ることは，データベースの
異状である．
• 異状は完全に防止できるわけではないが，正規化
により，ある程度防ぐことができる
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/4LE3WXVPE5.jpg)

異状の例
このバスは無料です
このバスは運賃１０００円です
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/V8EDK2837G.jpg)

異状が起きやすいリレーショナルデータベースの例
名前
A
B
C
朝食
カレー
ライス
うどん
カレー
ライス
テーブル
値段
400
250
400
• カレーライスは、４００円
• うどんは、２５０円
• Aさんはカレーライスを食べた
• Bさんはうどんを食べた
• Cさんはカレーライスを食べた
情報
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/4V7PK18PJ8.jpg)

異状が起きやすいリレーショナルデータベースの例
情報の更新
名前
A
B
C
朝食
カレー
ライス
うどん
カレー
ライス
テーブル
カレーライスが
400円から 350円に値下げ
350
値段
• カレーライスは、４００円
400 350
• うどんは、２５０円
250 • Aさんはカレーライスを食べた
400 • Bさんはうどんを食べた
350
• Cさんはカレーライスを食べた
情報
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/L2JVVYNVJQ.jpg)

異状が起きやすいリレーショナルデータベースの例
情報の更新
名前
A
B
C
朝食
カレー
ライス
うどん
カレー
ライス
カレーライスが
400円から 350円に値下げ
値段
400
250
400
350
書き換え忘れして
しまうかも！
テーブル
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/Z5EGL9K1JL.jpg)

異状が起きやすいリレーショナルデータベースの例
情報の更新
名前
A
B
C
朝食
カレー
ライス
うどん
カレー
ライス
テーブル
カレーライスが
400円から 350円に値下げ
値段
400
250
350
異状が起きている
◆朝食の値段が１つのはずなの
に、違った値段が記録
されていてつじつまが合わない
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/V4JQYWNN7P.jpg)

テーブルの分解による
異状の防止
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/DK74WKG3E1.jpg)

テーブルの分解
名前
A
B
C
朝食
カレー
ライス
うどん
カレー
ライス
名前
A
B
C
値段
400
250
400
分解
朝食
カレーライス
うどん
カレーライス
朝食
カレーライス
うどん
値段
400
250
分解後、情報は失わ
れていない
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/PLJ1YXDZEG.jpg)

分解後のテーブルは，異状が起きにくい
カレーライスが
名前
A
B
C
朝食
カレーライス
うどん
カレーライス
朝食
カレーライス
うどん
400円から 350円に値下げ
異状はない
値段
350
250
テーブル
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/8GJWGNY672.jpg)

設計変更による異状の防止
名前
A
B
C
朝食
値段
情報は
カレー
400 350 同じ
ライス
うどん
250
カレー
400 350
ライス
異状が起きやすいデータベース
冗長なデータがある
カレーライスの値下げのとき、
片方を書き忘れると → 異状
名前
A
B
C
朝食
カレーライス
うどん
カレーライス
朝食
値段
カレーライス
400 350
うどん
250
異状が起きにくいデータベース
冗長なデータがない
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/W4EZL3XR73.jpg)

１つのテーブルを、複数のテーブルに分解す
ることで、異状を起きにくくすることができ
る場合がある．
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/KY76WX417V.jpg)

関連資料
• リレーショナルデータベース序論（全４回）
全体を知る．
https://www.kkaneko.jp/cc/di/index.html
• リレーショナルデータベースの基本（全１５回）
基礎を学ぶ．
https://www.kkaneko.jp/cc/ds/index.html
• リレーショナルデータベース演習（全１５回）
演習により修得する．
https://www.kkaneko.jp/cc/de/index.html
13


