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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hiroyuki Mito
February 27, 2023
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
見直したいテーブル設計
Hiroyuki Mito
February 27, 2023
More Decks by Hiroyuki Mito
See All by Hiroyuki Mito
PHPDocを活用する
hiroyukimito
0
83
Paiza CloudとVS Codeで快適な環境を作ろう! / Let's create a comfortable development environment with Paiza Cloud and Visual Studio Code !
hiroyukimito
0
710
Ruby以外から始めるエンジニア生活 PHP(Laravel)版 / Let's start an engineer other than Ruby !! PHP ver.
hiroyukimito
0
470
Other Decks in Programming
See All in Programming
Android CLI
fornewid
0
240
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.2k
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
380
AIの中の人になってみる
htkym
0
120
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
380
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.8k
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
480
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
170
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
550
React本体のコードリーディング
high_g_engineer
1
160
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
260
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
350
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to build a perfect <img>
jonoalderson
1
5.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Odyssey Design
rkendrick25
PRO
2
780
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Scaling GitHub
holman
464
140k
Designing Experiences People Love
moore
143
24k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
From π to Pie charts
rasagy
0
320
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
⾒直したい テーブル設計 −どこまで正規化は⾏うべきか−
確認 • 正規化とは • データの重複を減らす扱いやすい状態にする • 例. 顧客情報テーブル ・顧客ID ・顧客名
決済情報テーブル ・決済ID ・顧客ID ・決済料⾦
設計者の視点に⽴ってみよう • とある⼩売店の在庫管理システムを作成するとしましょう • 必要な情報は何ですか? • いくつのテーブルが必要ですか? • 各テーブルが持つ情報は何ですか? •
取り扱う商品は以下のように仮定します。 • 寝具 • 枕 • 敷布団・マットレス • 掛け布団 • 布団カバー • その他
設計者の視点に⽴ってみよう • カテゴリーID • カテゴリー名 商品カテゴリーテーブル • 商品ID • カテゴリーID
商品情報テーブル • 商品ID • 商品名 商品名テーブル • 商品ID • 必要在庫数 • 現在在庫数 在庫情報テーブル
システム使⽤者の⽬線に⽴ってみよう • システム使⽤者が欲しい情報は • 在庫として存在する商品名 • 商品毎の在庫数 • 発注しなければならない数量 •
必要なテーブルは • 商品カテゴリーテーブル • 商品情報テーブル
システム使⽤者の⽬線に⽴ってみよう • カテゴリーID • カテゴリー名 商品カテゴリーテーブル • 商品ID • カテゴリーID
• 商品名 • 必要在庫数 • 現在在庫数 商品情報テーブル
情報の主従を意識する • 商品カテゴリーテーブル • 商品情報テーブル • 商品名テーブル • 在庫情報テーブル カテゴリー
→商品情報 →商品名 →在庫情報 • 商品カテゴリーテーブル • 商品情報テーブル カテゴリー →商品
意識したいポイント 1. 必要な情報 2. 情報の持ち主(依存先) 3. 親(⼦)の情報が重複しているか