SlideShare a Scribd company logo
Team Study
2018/11/30, Kihyun Kim
Database Modeling
Team Study
Data Modeling is
 Modelingとは複雑な現実世界に存在するデータを単純化させて表
現してコンピュータ世界のデータベースに移す変換過程
 Modelingの特徴
– 抽象化:一定の形式に合わせて表現
– 単純化:規約や表記法と言語で表現
– 明確化:誰でも誤解しないように正確に表現
 Modelingの観点
– Data (What):業務と関連するデータ
– Process (How):業務の処理内容/作業
– Interaction (CRUD):業務によるデータの変化
Team Study
Without Database Modeling
Team Study
Data Modeling Tools
 Unified Modeling Language (UML)
– Rational Rose
– Visual Studio
– Visio
– StarUML, …
 Entity Relationship Diagram (ERD)
– Erwin
– MySQL Workbench
– draw.io , …
Team Study
Data Modelingの3段階 – Step #1
 Step #1 Conceptual (Enterprise) Modeling
 概念的モデリングは現実世
界のデータを抽象化を通じ
て概念世界のデータで表現
する過程
 情報モデリングまたは、概
念的設計と同じ概念。主に
ERモデルという概念的デー
タモデルを使って、モデリ
ング結果をERDで表現
Team Study
Data Modelingの3段階 – Step #2
 Step #2 Logical Modeling
 論理的データモデリングは概念世
界の個体タイプをDBMSが支援す
る論理的データモデルに変換させ
る過程
 論理的設計(Logical Design)と同
じ概念
Team Study
Data Modelingの3段階 – Step #3
 Physical Modeling
 物理的データモデリ
ングは論理的データ
モデルを物理的デー
タ(データベース)
構造に変換させる過
程
 物理的設計(Pysical
Design)と同じ概念
Team Study
MySQL Workench 8.0 CE
 MySQLに最適化
 無料
 Multi-Platform : Windows, MaxOS, Linux
 商用ツールと競争できるほどの機能
– Database Design & Modeling
– SQL Development
– Database Administration
– Database Migration
Team Study
実際のモデリング作業 (RDBMS)
1. Create Entity(Table) & Attribute(Column)
– Think Naming
2. Select Primary Key
– Think Data Length
– Sequence or UUID
3. Normalization (正規化)
1. 第1正規化:重複Data、重複Columnの分離
2. 第2正規化:複合PKの場合、PKのColumnのすべてに依存しないColumnの分離
3. 第3正規化:PKじゃない他のColumnに依存するColumnの分離
4. 第4・5正規化
4. Simulation (検証)
5. Input Base Data
6. Applying (Forward Engineering )
Team Study
Relationship
 次数 (Cardinality)
– 1:1
– 1:N
– N:N
 選択性(必須有無)
– Mandatory
– Optional
 Foreign Key Options
– RESTRICT
– CASCADE
– SET NULL
– NO ACTION ?
Team Study
JSON Column on RDBMS
 RDBMS
– Oracle >= 12c
– MySQL >= 5.7.8
– PostgreSQL >= 9.2
 Profits
– アプリケーションやSPとに大きい変更なし
にSchema変更が可能
 Problems
– Can’t do Normalization (正規化)
– Can’t make Relationship
– Can’t do Data validation
– Hard to Optimize Searching
TABLE
Key Column Type
PK Id bigint
data json
Go to No-SQL
極端な使用も可能
Team Study
参考
 https://gerardnico.com/data/modeling/modeling
 http://tech.devgear.co.kr/index.php?mid=db_kb&document_srl=320
 http://blog.naver.com/PostView.nhn?blogId=tomatosoft&logNo=220853122078
 https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html
 https://www.thomascerqueus.fr/json-fields-relational-databases-postgresql/

More Related Content

Similar to Database Modeling (2018)

DataDrift in Azure Machine Learning
DataDrift in Azure Machine LearningDataDrift in Azure Machine Learning
DataDrift in Azure Machine Learning
Keita Onabuta
 
ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ
Kent Ishizawa
 
Conceptual Data Modeling Level01 Part01
Conceptual Data Modeling Level01 Part01Conceptual Data Modeling Level01 Part01
Conceptual Data Modeling Level01 Part01
HirohideYazaki
 
Meta Service Design
Meta Service DesignMeta Service Design
Meta Service Design
Kazumichi (Mario) Sakata
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvc
Takao Tetsuro
 
DDDで本質の探究 .pptx
DDDで本質の探究 .pptxDDDで本質の探究 .pptx
DDDで本質の探究 .pptx
ssuser502958
 
データ処理の改善をどのように行なうか
データ処理の改善をどのように行なうかデータ処理の改善をどのように行なうか
データ処理の改善をどのように行なうか
Ken SASAKI
 
IA Workshop, Introduction to Information Architecture (2002)
IA Workshop, Introduction to Information Architecture (2002)IA Workshop, Introduction to Information Architecture (2002)
IA Workshop, Introduction to Information Architecture (2002)
Nobuya Sato
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
Preferred Networks
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
増田 亨
 
Microsoft 365 Day 基調講演
Microsoft 365 Day 基調講演Microsoft 365 Day 基調講演
Microsoft 365 Day 基調講演
日本マイクロソフト株式会社
 
データ分析で Excel を活用しよう
データ分析で Excel を活用しようデータ分析で Excel を活用しよう
データ分析で Excel を活用しよう
Tsuyoshi Kitagawa
 
ビジュアライゼーションの役割とUI開発のイノベーション(1)
ビジュアライゼーションの役割とUI開発のイノベーション(1)ビジュアライゼーションの役割とUI開発のイノベーション(1)
ビジュアライゼーションの役割とUI開発のイノベーション(1)
BizCOLLEGE
 
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
Hajime Fujita
 
Using Mind Maping And UML Effectively in Software Development
Using Mind Maping And UML Effectively in Software DevelopmentUsing Mind Maping And UML Effectively in Software Development
Using Mind Maping And UML Effectively in Software Development
Kenji Hiranabe
 
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum NovemberDDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November
増田 亨
 
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
Hideyuki Takeuchi
 
東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介
Daiyu Hatakeyama
 
Open Hybrid Cloudを検討すべき理由.pdf
Open Hybrid Cloudを検討すべき理由.pdfOpen Hybrid Cloudを検討すべき理由.pdf
Open Hybrid Cloudを検討すべき理由.pdf
Masahiko Umeno
 
110518_本気で考える! I T人財育成研究部会 討議資料
110518_本気で考える! I T人財育成研究部会 討議資料110518_本気で考える! I T人財育成研究部会 討議資料
110518_本気で考える! I T人財育成研究部会 討議資料kashima yasuyuki
 

Similar to Database Modeling (2018) (20)

DataDrift in Azure Machine Learning
DataDrift in Azure Machine LearningDataDrift in Azure Machine Learning
DataDrift in Azure Machine Learning
 
ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ
 
Conceptual Data Modeling Level01 Part01
Conceptual Data Modeling Level01 Part01Conceptual Data Modeling Level01 Part01
Conceptual Data Modeling Level01 Part01
 
Meta Service Design
Meta Service DesignMeta Service Design
Meta Service Design
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvc
 
DDDで本質の探究 .pptx
DDDで本質の探究 .pptxDDDで本質の探究 .pptx
DDDで本質の探究 .pptx
 
データ処理の改善をどのように行なうか
データ処理の改善をどのように行なうかデータ処理の改善をどのように行なうか
データ処理の改善をどのように行なうか
 
IA Workshop, Introduction to Information Architecture (2002)
IA Workshop, Introduction to Information Architecture (2002)IA Workshop, Introduction to Information Architecture (2002)
IA Workshop, Introduction to Information Architecture (2002)
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
Microsoft 365 Day 基調講演
Microsoft 365 Day 基調講演Microsoft 365 Day 基調講演
Microsoft 365 Day 基調講演
 
データ分析で Excel を活用しよう
データ分析で Excel を活用しようデータ分析で Excel を活用しよう
データ分析で Excel を活用しよう
 
ビジュアライゼーションの役割とUI開発のイノベーション(1)
ビジュアライゼーションの役割とUI開発のイノベーション(1)ビジュアライゼーションの役割とUI開発のイノベーション(1)
ビジュアライゼーションの役割とUI開発のイノベーション(1)
 
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
【技術情報協会】人工知能を使ったR&D業務効率化・生産性向上のシステム作り
 
Using Mind Maping And UML Effectively in Software Development
Using Mind Maping And UML Effectively in Software DevelopmentUsing Mind Maping And UML Effectively in Software Development
Using Mind Maping And UML Effectively in Software Development
 
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum NovemberDDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November
 
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
 
東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介
 
Open Hybrid Cloudを検討すべき理由.pdf
Open Hybrid Cloudを検討すべき理由.pdfOpen Hybrid Cloudを検討すべき理由.pdf
Open Hybrid Cloudを検討すべき理由.pdf
 
110518_本気で考える! I T人財育成研究部会 討議資料
110518_本気で考える! I T人財育成研究部会 討議資料110518_本気で考える! I T人財育成研究部会 討議資料
110518_本気で考える! I T人財育成研究部会 討議資料
 

More from Kihyun Kim

IoT Google Home (2017)
IoT Google Home (2017)IoT Google Home (2017)
IoT Google Home (2017)
Kihyun Kim
 
Appling Google Analytics (2016)
Appling Google Analytics (2016)Appling Google Analytics (2016)
Appling Google Analytics (2016)
Kihyun Kim
 
Aurora & MSSQL on AWS RDS (2017)
Aurora & MSSQL on AWS RDS (2017)Aurora & MSSQL on AWS RDS (2017)
Aurora & MSSQL on AWS RDS (2017)
Kihyun Kim
 
Effective DBMS (2018)
Effective DBMS (2018)Effective DBMS (2018)
Effective DBMS (2018)
Kihyun Kim
 
Technology for the Internet (2018)
Technology for the Internet (2018)Technology for the Internet (2018)
Technology for the Internet (2018)
Kihyun Kim
 
The Twelve-Factor App (2017)
The Twelve-Factor App (2017)The Twelve-Factor App (2017)
The Twelve-Factor App (2017)
Kihyun Kim
 
Trends of Web Application (2016)
Trends of Web Application (2016)Trends of Web Application (2016)
Trends of Web Application (2016)
Kihyun Kim
 
Technical debt (2018)
Technical debt (2018)Technical debt (2018)
Technical debt (2018)
Kihyun Kim
 

More from Kihyun Kim (8)

IoT Google Home (2017)
IoT Google Home (2017)IoT Google Home (2017)
IoT Google Home (2017)
 
Appling Google Analytics (2016)
Appling Google Analytics (2016)Appling Google Analytics (2016)
Appling Google Analytics (2016)
 
Aurora & MSSQL on AWS RDS (2017)
Aurora & MSSQL on AWS RDS (2017)Aurora & MSSQL on AWS RDS (2017)
Aurora & MSSQL on AWS RDS (2017)
 
Effective DBMS (2018)
Effective DBMS (2018)Effective DBMS (2018)
Effective DBMS (2018)
 
Technology for the Internet (2018)
Technology for the Internet (2018)Technology for the Internet (2018)
Technology for the Internet (2018)
 
The Twelve-Factor App (2017)
The Twelve-Factor App (2017)The Twelve-Factor App (2017)
The Twelve-Factor App (2017)
 
Trends of Web Application (2016)
Trends of Web Application (2016)Trends of Web Application (2016)
Trends of Web Application (2016)
 
Technical debt (2018)
Technical debt (2018)Technical debt (2018)
Technical debt (2018)
 

Recently uploaded

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 

Recently uploaded (16)

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 

Database Modeling (2018)

  • 1. Team Study 2018/11/30, Kihyun Kim Database Modeling
  • 2. Team Study Data Modeling is  Modelingとは複雑な現実世界に存在するデータを単純化させて表 現してコンピュータ世界のデータベースに移す変換過程  Modelingの特徴 – 抽象化:一定の形式に合わせて表現 – 単純化:規約や表記法と言語で表現 – 明確化:誰でも誤解しないように正確に表現  Modelingの観点 – Data (What):業務と関連するデータ – Process (How):業務の処理内容/作業 – Interaction (CRUD):業務によるデータの変化
  • 4. Team Study Data Modeling Tools  Unified Modeling Language (UML) – Rational Rose – Visual Studio – Visio – StarUML, …  Entity Relationship Diagram (ERD) – Erwin – MySQL Workbench – draw.io , …
  • 5. Team Study Data Modelingの3段階 – Step #1  Step #1 Conceptual (Enterprise) Modeling  概念的モデリングは現実世 界のデータを抽象化を通じ て概念世界のデータで表現 する過程  情報モデリングまたは、概 念的設計と同じ概念。主に ERモデルという概念的デー タモデルを使って、モデリ ング結果をERDで表現
  • 6. Team Study Data Modelingの3段階 – Step #2  Step #2 Logical Modeling  論理的データモデリングは概念世 界の個体タイプをDBMSが支援す る論理的データモデルに変換させ る過程  論理的設計(Logical Design)と同 じ概念
  • 7. Team Study Data Modelingの3段階 – Step #3  Physical Modeling  物理的データモデリ ングは論理的データ モデルを物理的デー タ(データベース) 構造に変換させる過 程  物理的設計(Pysical Design)と同じ概念
  • 8. Team Study MySQL Workench 8.0 CE  MySQLに最適化  無料  Multi-Platform : Windows, MaxOS, Linux  商用ツールと競争できるほどの機能 – Database Design & Modeling – SQL Development – Database Administration – Database Migration
  • 9. Team Study 実際のモデリング作業 (RDBMS) 1. Create Entity(Table) & Attribute(Column) – Think Naming 2. Select Primary Key – Think Data Length – Sequence or UUID 3. Normalization (正規化) 1. 第1正規化:重複Data、重複Columnの分離 2. 第2正規化:複合PKの場合、PKのColumnのすべてに依存しないColumnの分離 3. 第3正規化:PKじゃない他のColumnに依存するColumnの分離 4. 第4・5正規化 4. Simulation (検証) 5. Input Base Data 6. Applying (Forward Engineering )
  • 10. Team Study Relationship  次数 (Cardinality) – 1:1 – 1:N – N:N  選択性(必須有無) – Mandatory – Optional  Foreign Key Options – RESTRICT – CASCADE – SET NULL – NO ACTION ?
  • 11. Team Study JSON Column on RDBMS  RDBMS – Oracle >= 12c – MySQL >= 5.7.8 – PostgreSQL >= 9.2  Profits – アプリケーションやSPとに大きい変更なし にSchema変更が可能  Problems – Can’t do Normalization (正規化) – Can’t make Relationship – Can’t do Data validation – Hard to Optimize Searching TABLE Key Column Type PK Id bigint data json Go to No-SQL 極端な使用も可能
  • 12. Team Study 参考  https://gerardnico.com/data/modeling/modeling  http://tech.devgear.co.kr/index.php?mid=db_kb&document_srl=320  http://blog.naver.com/PostView.nhn?blogId=tomatosoft&logNo=220853122078  https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html  https://www.thomascerqueus.fr/json-fields-relational-databases-postgresql/