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
51
データベース:正規系の続き
NearMeの技術発表資料です
PRO
April 28, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
Architecture Decision Record (ADR)
nearme_tech
PRO
1
560
遺伝的アルゴリズムを実装する
nearme_tech
PRO
1
17
Fractional Derivative!
nearme_tech
PRO
1
14
GitHub Projectsにおける チケットの ステータス更新自動化について
nearme_tech
PRO
1
25
2つの曲線を比較する方法ってあるの? 〜フレシェ距離を試してみた〜 with Python
nearme_tech
PRO
1
100
Constrained K-means Clustering (クラスタサイズの制限をしたK-means法) を調べてみた
nearme_tech
PRO
1
45
VRPの近傍操作SWAP*について調べてみた
nearme_tech
PRO
1
77
新人エンジニアが読んでためになった本
nearme_tech
PRO
2
38
Object–relational mapping and query builder battle 1: Intro to Prisma
nearme_tech
PRO
1
46
Other Decks in Technology
See All in Technology
waitany と waitall を作った話
mrkn
0
120
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
2
170
標準最高!標準はださくないぞ! at fukuoka.ts #1
yoiwamoto
0
160
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
430
RAGHack: Kickoff and RAG 101
pamelafox
0
260
ロボットアームを遠隔制御の話 & LLMをつかったIoTの話もしたい
soracom
PRO
1
220
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
4
840
分野に潜むツールの紹介
pojiro
1
350
ビジネスとエンジニアリングを繋ぐプロダクトを中心とした組織づくりの実践
sansantech
PRO
1
130
contenteditableと向き合う
kikuchikakeru
2
240
疎通2024
sadnessojisan
5
860
Featured
See All Featured
The Cult of Friendly URLs
andyhume
76
5.9k
Designing for humans not robots
tammielis
248
25k
Art, The Web, and Tiny UX
lynnandtonic
294
20k
The Pragmatic Product Professional
lauravandoore
30
6.2k
How to train your dragon (web standard)
notwaldorf
85
5.6k
How to Think Like a Performance Engineer
csswizardry
16
920
Code Review Best Practice
trishagee
62
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
Gamification - CAS2011
davidbonilla
79
4.9k
Scaling GitHub
holman
458
140k
Into the Great Unknown - MozCon
thekraken
28
1.4k
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