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
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
82
Paiza CloudとVS Codeで快適な環境を作ろう! / Let's create a comfortable development environment with Paiza Cloud and Visual Studio Code !
hiroyukimito
0
700
Ruby以外から始めるエンジニア生活 PHP(Laravel)版 / Let's start an engineer other than Ruby !! PHP ver.
hiroyukimito
0
460
Other Decks in Programming
See All in Programming
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
170
The NotImplementedError Problem in Ruby
koic
1
860
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
260
Webフレームワークの ベンチマークについて
yusukebe
0
170
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
dRuby over BLE
makicamel
2
380
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
New "Type" system on PicoRuby
pocke
1
980
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.9k
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
660
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
420
A Tale of Four Properties
chriscoyier
163
24k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Deep Space Network (abreviated)
tonyrice
0
210
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Balancing Empowerment & Direction
lara
6
1.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Code Reviewing Like a Champion
maltzj
528
40k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
170
Transcript
⾒直したい テーブル設計 −どこまで正規化は⾏うべきか−
確認 • 正規化とは • データの重複を減らす扱いやすい状態にする • 例. 顧客情報テーブル ・顧客ID ・顧客名
決済情報テーブル ・決済ID ・顧客ID ・決済料⾦
設計者の視点に⽴ってみよう • とある⼩売店の在庫管理システムを作成するとしましょう • 必要な情報は何ですか? • いくつのテーブルが必要ですか? • 各テーブルが持つ情報は何ですか? •
取り扱う商品は以下のように仮定します。 • 寝具 • 枕 • 敷布団・マットレス • 掛け布団 • 布団カバー • その他
設計者の視点に⽴ってみよう • カテゴリーID • カテゴリー名 商品カテゴリーテーブル • 商品ID • カテゴリーID
商品情報テーブル • 商品ID • 商品名 商品名テーブル • 商品ID • 必要在庫数 • 現在在庫数 在庫情報テーブル
システム使⽤者の⽬線に⽴ってみよう • システム使⽤者が欲しい情報は • 在庫として存在する商品名 • 商品毎の在庫数 • 発注しなければならない数量 •
必要なテーブルは • 商品カテゴリーテーブル • 商品情報テーブル
システム使⽤者の⽬線に⽴ってみよう • カテゴリーID • カテゴリー名 商品カテゴリーテーブル • 商品ID • カテゴリーID
• 商品名 • 必要在庫数 • 現在在庫数 商品情報テーブル
情報の主従を意識する • 商品カテゴリーテーブル • 商品情報テーブル • 商品名テーブル • 在庫情報テーブル カテゴリー
→商品情報 →商品名 →在庫情報 • 商品カテゴリーテーブル • 商品情報テーブル カテゴリー →商品
意識したいポイント 1. 必要な情報 2. 情報の持ち主(依存先) 3. 親(⼦)の情報が重複しているか