Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
なぜ正規化するのか
Search
赤神青空
PRO
August 14, 2026
Video
Programming
48
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なぜ正規化するのか
赤神青空
PRO
August 14, 2026
Video
More Decks by 赤神青空
See All by 赤神青空
【AWS資格のニュース】SAP が SAP-C03 に変わります
akagami
PRO
0
2
【力学 #5】単振り子と小角近似
akagami
PRO
0
5
【AIニュース】Genie 4 とは何か
akagami
PRO
0
15
【基本情報対策】IPアドレスとサブネットマスク
akagami
PRO
0
15
GPT-6 Cyber とは何か
akagami
PRO
0
15
【AWSの新サービス】Amazon ECS Gateway とは何か
akagami
PRO
0
20
【力学 #4】単振動:ばねの運動方程式を解く
akagami
PRO
0
9
【力学 #4】単振動:ばねの運動方程式を解く
akagami
PRO
0
10
Cloudflare の AI で他人の会話が混ざった?
akagami
PRO
0
27
Other Decks in Programming
See All in Programming
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
120
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
3
290
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
AI Augmentation Techniques with Liberty
ivargrimstad
1
440
小さなアプリを作って公開するまで
onozaty
0
160
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
370
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
600
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.2k
はじめてのPLATEAU
nokonoko1203
1
640
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.5k
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
120
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
370
How to Talk to Developers About Accessibility
jct
2
620
Bash Introduction
62gerente
615
220k
A Tale of Four Properties
chriscoyier
163
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
A better future with KSS
kneath
240
18k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
560
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
980
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Done Done
chrislema
187
17k
Transcript
2026年8月 なぜ正規化するのか 第n正規形をひととおり ① 赤神青空
▪全4回。今回は目的と言葉を揃える回です このシリーズの地図 01 02 03 04 更新時異常とキーの言葉 注文票を4つの表に分ける BCNF・4NF・5NF 第何正規形かを答える
なぜ正規化するのか 今ココ はじめに 1NF〜3NF 3NF の先 判定演習 2/8
▪読みやすくするためではない 正規化は更新のための整理 正規化が守っているのは「1つの事実は1か所にしか書かない」という状態であ る。 同じ事実が散る 商品名が変わると、その商品の明細を全部直す。漏れれば2 つの名前が残る。 同じ事実が1行にある 商品表の1行を直すだけ。漏れようがないので矛盾も起きな い。
正規形の段が上がるほど、この状態に近づく。 今ココ 目的 3/8
▪まとめて更新時異常と呼ばれるもの 詰め込んだ表で起きる3つの異常 01 更新異常 — 直し漏れが矛盾になる 同じ単価が何行にも書かれていると、一部だけ古い値のまま残る。 02 挿入異常 —
登録したいのにできない 注文がまだ無い新商品を、注文表しか無ければ登録する場所がない。 03 削除異常 — 消したくないものまで消える 最後の注文を削除すると、その商品の単価まで一緒に失われる。 今ココ 目的 4/8
▪主キー・複合キー・非キー属性・外部キー 先にキーの言葉を揃えます 注⽂明細 注⽂番号 ★ 商品コード ★◆ P P P
数量 外部キー 商品 商品コード ★ P P 商品名 記号の読み⽅ ★ = 主キー。⾏を1つに決める列。 主キーが2列以上のとき、複合キーと呼ぶ。この例は2列。 主キーに⼊らない列(数量‧商品名)が⾮キー属性。 ◆ = 外部キー。ほかの表の主キーを指す列。 外部キーの値は、参照先の表に必ず存在していなければならない。 外部キーだけが表をまたぐ。ほかは1つの表の中の話。 りんご みかん ★ が主キー、◆ が外部キー。この4語だけ今日は使います 今ココ 目的 5/8
▪正規形の定義はすべてこの言葉で書かれている 関数従属という言葉 「A が決まれば B が1つに決まる」を A → B と書く。
完全関数従属 … 複合キーの全体が揃って初めて決まる 部分関数従属 … キーの一部だけで決まる(2NF で外す) 推移的関数従属 … 非キーを経由して決まる(3NF で外す) この3つを見分けられれば 3NF までは機械的に進む 今ココ 目的 6/8
▪注文票を1枚に詰め込むと、決まり方の違う列が同居する 3つを1つの表で見る 注文番号・商品コード・注文日・顧客ID・顧客名・商品名・単価・数量が1つの 表にある。 完全関数従属 {注文番号, 商品コード} → 数量。両方そ ろって初めて決まる。
今ココ 目的 部分関数従属 商品コード → 商品名。キーの一部だけ で決まっている。 推移的関数従属 注文番号 → 顧客ID → 顧客名。非キーを 経由して決まる。 7/8
▪次回はこの言葉を使って表を分解します 今回のまとめ 01 目的は更新時異常の防止に尽きる 読みやすさのためではない。1つの事実を1か所に置くための整理。 02 防いでいるのは更新・挿入・削除 同じ事実が散っていることが、3つすべての原因になっている。 03 定義は全部「関数従属」で書かれる
完全・部分・推移の3つを見分けられれば 3NF までは進める。 今ココ まとめ 8/8