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
3NFの先にあるもの
Search
赤神青空
PRO
August 14, 2026
Video
Programming
45
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
3NFの先にあるもの
赤神青空
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
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
130
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
130
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
370
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
220
Next.js: The final boss of Web Performance
guaca
0
400
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
340
LLM 101
dalinaum
0
480
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.5k
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
310
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
56
10k
Exploring anti-patterns in Rails
aemeredith
4
560
Designing for Performance
lara
612
70k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
350
A Modern Web Designer's Workflow
chriscoyier
699
190k
Typedesign – Prime Four
hannesfritz
42
3.2k
Facilitating Awesome Meetings
lara
57
7.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Agile that works and the tools we love
rasmusluckow
331
22k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
320
Discover your Explorer Soul
emna__ayadi
2
1.3k
Transcript
2026年8月 3NF 第n正規形をひととおり の先にあるもの ③ 赤神青空
▪全4回。今回は名前と、何を外すかだけ このシリーズの地図 01 02 03 04 更新時異常とキーの言葉 注文票を4つの表に分ける BCNF・4NF・5NF 第何正規形かを答える
なぜ正規化するのか 今ココ はじめに 1NF〜3NF 3NF の先 判定演習 2/7
▪ボイス・コッド正規形。3NF BCNF — 3NF に残った穴 より強い条件 定義は一行で、自明でない関数従属の左側が、すべてスーパーキーであること。 先に言葉を2つ スーパーキー …
行を一意に識別できる属性の組 候補キー … スーパーキーのうち、これ以上削れないもの ずれるのは候補キーが重なるときだけ 複合の候補キーが複数。1つなら 3NF と一致する 出るのは、コードが分類を含むとき 郵便番号 → 市区町村、型番 → メーカー、教員 → 担当科目 よくある誤解 id を主キーにしても、候補キーは消えない 3NF は本当に満たす。それでも更新異常は残る 今ココ 3NF の先 3/7
▪学生・科目・教員。出てくるのはほぼこの形 BCNF の典型例 BCNF 違反 候補キーが2つあり、属性を共有している 候補キー② {学⽣, 教員} 候補キー①
{学⽣, 科⽬} 受講(元の表‧3NF は満たす) 科⽬ DB NW DB DB 学⽣ ⾚神 ⾚神 ⽩神 黒神 教員 教員 佐藤 鈴⽊ ⽥中 佐藤 教員 ★ 教員を切り出す 佐藤 鈴⽊ ⽥中 科⽬ DB NW DB 受講(分解後) 学⽣ ★ ⾚神 ⾚神 ⽩神 黒神 教員 ★◆ 佐藤 鈴⽊ ⽥中 佐藤 教員 → 科⽬ 候補キーは必ずスーパーキー。この表のスーパーキーは、上の2組とそれを含む組だけ。 教員は1科⽬しか担当しないので「教員 → 科⽬」が成り⽴つ。 だが教員だけでは⾏が決まらない(佐藤の⾏が2つある)= スーパーキーではない。 全属性がどちらかの候補キーに⼊っているので 3NF は成⽴する。しかし BCNF は満たさない。 ★ = 主キー ◆ = 外部キー。分解後は候補キーが1つずつになるので、そこで初めて主キーが決まる。 代償として「学生・科目 → 教員」が1つの表に収まらなくなる 今ココ 3NF の先 4/7
▪名前と、何を取り除くかだけ 第4正規形と第5正規形 第4正規形 — 多値従属 例)社員の資格と話せる言語 出るのは外から取り込んだデータ 症状は行数が掛け算になること 資格を1つ足すと複数行が増える 第5正規形
— 結合従属 例)営業員・メーカー・商品 3項が2項に分けられる場合だけ 前提は業務ルールが例外なく成り立つこと 現実には例外があるので崩れる 4NF は取り込みデータで踏むことがある。5NF は理論の終着点。 今ココ 3NF の先 5/7
▪「何を取り除くか」だけで区別できる 正規形の早見表 1NF 2NF 3NF BCNF 4NF 5NF 繰り返し項目 部分関数従属
推移的関数従属 キーの一部への従属 自明でない多値従属 自明でない結合従属 今ココ まとめ 1セル1値にする。ここで複合キーが現れる 複合キーの一部で決まる列を切り出す 非キー属性を経由して決まる列を切り出す 決定側がスーパーキーでない従属をなくす 独立した多値の事実を別々の表に分ける 3項以上の関係を2項の関係に分ける 6/7
▪次回は、与えられた表を実際に判定します 今回のまとめ 01 定義は全部「従属の除去」 1NF は繰り返し、2NF〜BCNF は関数従属、4NF は多値、5NF は結合。 02
ずれるとしたら、候補キーの重なり 複合の候補キーが複数あって属性を共有するとき。無ければずれない。 03 探しに行くのではなく、症状から気づく 直す行が多い、行数が掛け算になる。違和感が先で、名前は後から付く。 今ココ まとめ 7/7