Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベース:正規系の続き
Search
NearMeの技術発表資料です
PRO
April 28, 2023
Technology
0
55
データベース:正規系の続き
NearMeの技術発表資料です
PRO
April 28, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
ガウス過程回帰とベイズ最適化
nearme_tech
PRO
0
35
確率的プログラミング入門
nearme_tech
PRO
2
35
Observability and OpenTelemetry
nearme_tech
PRO
2
29
観察研究における因果推論
nearme_tech
PRO
1
72
React
nearme_tech
PRO
2
33
Architecture Decision Record (ADR)
nearme_tech
PRO
1
820
遺伝的アルゴリズムを実装する
nearme_tech
PRO
1
46
Fractional Derivative!
nearme_tech
PRO
1
37
GitHub Projectsにおける チケットの ステータス更新自動化について
nearme_tech
PRO
1
58
Other Decks in Technology
See All in Technology
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
120
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
260
Chasing the White Whale of Open Source - ROI
mrbobbytables
0
110
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
2
230
"とにかくやってみる"で始めるAWS Security Hub
maimyyym
2
100
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
540
Storybook との上手な向き合い方を考える
re_taro
5
1.4k
Terraform Stacks入門 #HashiTalks
msato
0
360
TypeScript、上達の瞬間
sadnessojisan
48
14k
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
950
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Rails Girls Zürich Keynote
gr2m
94
13k
Gamification - CAS2011
davidbonilla
80
5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Writing Fast Ruby
sferik
627
61k
Facilitating Awesome Meetings
lara
50
6.1k
Happy Clients
brianwarren
98
6.7k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Fireside Chat
paigeccino
34
3k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
It's Worth the Effort
3n
183
27k
Transcript
0 データベース:正規形の続き 2023-04-28 第42回NearMe技術勉強会 Takuma Kakinoue
1 ボイスコッド正規形(第3.5正規形) このテーブルには、例えば以下の様な問題点がある。 • イーブイの進化先として、新しくニアブイを追加したい。しかし、ニアブイの進化に必要な石 はまだ未実装である。この場合、テーブルにイーブイとニアブイの関係を追加することがで きない。
以下のテーブルは第3正規形までは満たしている。
2 ボイスコッド正規形(第3.5正規形) {ポケモン名,使うアイテム} ➡ {進化先ポケモン名}という関係のほか、 {進化先ポケモン名} ➡ {(進化元)ポケモン名}という関係もあるので、 以下の様にテーブルを分解する。これでニアブイを追加できる!しかし。。。 (分解前) (分解後)
3 ボイスコッド正規形(第3.5正規形) よく見ると、イーブイに何の石を使ったらブースタに進化するのかという情報が 抜け落ちている... ボイスコッド正規化では、分割の仕方によっては、情報が失われる可能性があるので注意! (分解前)
(分解後)
4 ボイスコッド正規形(第3.5正規形) 以下の様に分解することで、情報が失われない! ブースターに進化するためには、イーブイにほのおの石を使えばよいとわかる!! (分解後) (分解前)
5 第4正規形 右のテーブルは、 {ポケモン名} →→ {特性} {ポケモン名} →→ {覚える技} という2つの関連を含んでいる!
ただ、ピカチュウの特性に仕様変更があった 場合に、複数行を更新しなくてはならない.. 以下の様に、1つのテーブルに含まれる関連は1つ になるようにする!! (分解前) (分解後)
6 参考文献 • ミック,達人に学ぶDB設計徹底指南書~初級者で終わりたくないあなたへ~, 株式会社 翔泳社,2012
7 Thank you