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
0
96
見直したいテーブル設計
Hiroyuki Mito
February 27, 2023
Tweet
Share
More Decks by Hiroyuki Mito
See All by Hiroyuki Mito
PHPDocを活用する
hiroyukimito
0
77
Paiza CloudとVS Codeで快適な環境を作ろう! / Let's create a comfortable development environment with Paiza Cloud and Visual Studio Code !
hiroyukimito
0
680
Ruby以外から始めるエンジニア生活 PHP(Laravel)版 / Let's start an engineer other than Ruby !! PHP ver.
hiroyukimito
0
450
Other Decks in Programming
See All in Programming
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
20260320登壇資料
pharct
0
120
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
540
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
130
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
160
Windows on Ryzen and I
seosoft
0
400
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
820
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
620
ファインチューニングせずメインコンペを解く方法
pokutuna
0
190
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
560
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
How to make the Groovebox
asonas
2
2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Optimizing for Happiness
mojombo
378
71k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
160
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
250
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
590
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
440
Transcript
⾒直したい テーブル設計 −どこまで正規化は⾏うべきか−
確認 • 正規化とは • データの重複を減らす扱いやすい状態にする • 例. 顧客情報テーブル ・顧客ID ・顧客名
決済情報テーブル ・決済ID ・顧客ID ・決済料⾦
設計者の視点に⽴ってみよう • とある⼩売店の在庫管理システムを作成するとしましょう • 必要な情報は何ですか? • いくつのテーブルが必要ですか? • 各テーブルが持つ情報は何ですか? •
取り扱う商品は以下のように仮定します。 • 寝具 • 枕 • 敷布団・マットレス • 掛け布団 • 布団カバー • その他
設計者の視点に⽴ってみよう • カテゴリーID • カテゴリー名 商品カテゴリーテーブル • 商品ID • カテゴリーID
商品情報テーブル • 商品ID • 商品名 商品名テーブル • 商品ID • 必要在庫数 • 現在在庫数 在庫情報テーブル
システム使⽤者の⽬線に⽴ってみよう • システム使⽤者が欲しい情報は • 在庫として存在する商品名 • 商品毎の在庫数 • 発注しなければならない数量 •
必要なテーブルは • 商品カテゴリーテーブル • 商品情報テーブル
システム使⽤者の⽬線に⽴ってみよう • カテゴリーID • カテゴリー名 商品カテゴリーテーブル • 商品ID • カテゴリーID
• 商品名 • 必要在庫数 • 現在在庫数 商品情報テーブル
情報の主従を意識する • 商品カテゴリーテーブル • 商品情報テーブル • 商品名テーブル • 在庫情報テーブル カテゴリー
→商品情報 →商品名 →在庫情報 • 商品カテゴリーテーブル • 商品情報テーブル カテゴリー →商品
意識したいポイント 1. 必要な情報 2. 情報の持ち主(依存先) 3. 親(⼦)の情報が重複しているか