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
自然言語処理研究室
April 19, 2013
Education
0
650
データベースと応用システム:データモデル
自然言語処理研究室
April 19, 2013
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
380
データサイエンス13_解析.pdf
jnlp
0
480
データサイエンス12_分類.pdf
jnlp
0
330
データサイエンス11_前処理.pdf
jnlp
0
460
Recurrent neural network based language model
jnlp
0
130
自然言語処理研究室 研究概要(2012年)
jnlp
0
130
自然言語処理研究室 研究概要(2013年)
jnlp
0
93
自然言語処理研究室 研究概要(2014年)
jnlp
0
110
自然言語処理研究室 研究概要(2015年)
jnlp
0
180
Other Decks in Education
See All in Education
『会社を知ってもらう』から『安心して活躍してもらう』までの プロセスとフロー
sasakendayo
0
230
Tutorial: Foundations of Blind Source Separation and Its Advances in Spatial Self-Supervised Learning
yoshipon
1
120
生成AI
takenawa
0
6.2k
AIC 103 - Applications of Property Valuation: Essential Slides
rmccaic
0
210
2025/06/05_読み漁り学習
nag8
0
150
20250625_なんでもCopilot 一年の振り返り
ponponmikankan
0
220
2025年度春学期 統計学 第5回 分布をまとめるー記述統計量(平均・分散など) (2025. 5. 8)
akiraasano
PRO
0
120
2025年度春学期 統計学 第3回 クロス集計と感度・特異度,データの可視化 (2025. 4. 24)
akiraasano
PRO
0
130
JOAI2025講評 / joai2025-review
upura
0
160
SkimaTalk Teacher Guidelines Summary
skimatalk
0
790k
今も熱いもの!魂を揺さぶる戦士の儀式:マオリ族のハカ
shubox
0
210
Gaps in Therapy in IBD - IBDInnovate 2025 CCF
higgi13425
0
500
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
410
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Code Reviewing Like a Champion
maltzj
524
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Writing Fast Ruby
sferik
628
62k
It's Worth the Effort
3n
185
28k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
How to Ace a Technical Interview
jacobian
277
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
260
Transcript
(c)長岡技術科学大学 電気系 1 データベースと応用システム データモデル 山本和英 長岡技術科学大学 電気系
(c)長岡技術科学大学 電気系 2 データモデル • 実世界のデータをどのようにしてデータベースに格 納・保持するかを表現するための方法 • つまり、データとデータ間の関連を表現するための 方法
実世界 論理 モデル 概念 モデル 特定のDBに 依存しない 特定のDBに依存する (実装できる表現)
(c)長岡技術科学大学 電気系 3 3層スキーマ構造
(c)長岡技術科学大学 電気系 4 ANSI/X3/SPARCの3層スキーマ構造 • スキーマ(schema):データベースの構造、データの 定義の集合 – RDBでは関係と関係内の属性、それらの関連の 定義
• ANSI/X3/SPARC が3層スキーマを整理 – Standards Planning And Requirements Committee (標準化計画委員会) • 意義:物理的・論理的データ独立性を確保 – ある層に変更が生じても他に影響を与えないよ うに
(c)長岡技術科学大学 電気系 5 ANSI/SPARCの3層スキーマ構造 • 外部スキーマ – 「見せ方」を定義したもの。個々のプログラムや利用者 から見た記述。RDBでのビューに相当。 –
複数存在することがあり、その一部を「サブスキーマ」と 呼ぶ。 • 概念スキーマ – 実体やデータ項目相互の関係に関する記述 – 特定のアプリケーションに依存しない • 内部スキーマ – 概念スキーマを計算機上に実現するための記述
(c)長岡技術科学大学 電気系 6 実世界 内部 スキーマ 概念 スキーマ 外部 スキーマ
外部 スキーマ (RDBのview) 外部 スキーマ サブ スキーマ (RDBのtable) (RDBのindexや データ配置)
(c)長岡技術科学大学 電気系 7 概念データモデル
(c)長岡技術科学大学 電気系 8 用語の説明 • エンティティ(entity、実体) – 対象事物を概念としてモデル化したもの – いくつかの属性を持つ
• インスタンス(instance) – エンティティを具体化した(=属性に値を持った)もの • リレーションシップ(relationship、関連) – エンティティ間の結びつき – インスタンス間に何らかの参照関係がある場合にリレーション シップで結ばれる • 関係スキーマ – (関係データモデルにおける)エンティティと属性の対
(c)長岡技術科学大学 電気系 9 実際の例 • エンティティ名 – 商品 • 属性名
– 商品番号、商品名、単価 • 関係スキーマ – 商品(商品番号、商品名、単価) • インスタンス – 001, AQUOS何とか, 10万円
(c)長岡技術科学大学 電気系 10 多重度(カーディナリティ) リレーションシップは、単に参照関係にあるというだけ でなく、対応関係によって3通りある。 • 1対1 (例:見積と契約) – 一つの見積書が一つの契約書に完全対応する
• 1対多 (例:部署と社員) – 一つの部署には複数の社員がいる • 多対多 (例:商品と注文) – 一つの商品は何度も注文され、1回の注文で複 数商品を受け付ける
(c)長岡技術科学大学 電気系 11 ER図(実体関連図) 見積 契約 部署 社員 商品 注文
ER(entity-relation)図 (を簡略化したもの)による 記法 複数に対応している場合に 矢印で表現する。
(c)長岡技術科学大学 電気系 12 UMLのクラス図 見積 契約 部署 社員 商品 注文
UML(unified modeling language) のクラス図による記 法 UMLでは多重度を x .. y の ように記述できる。単に複数を 表わす場合は * を用いる。 1 2 .. 5 * * 1 1
(c)長岡技術科学大学 電気系 13 連関エンティティ 商品 注文 パソコン 注文1 注文2 プリンタ
注文3 • 多対多関係は、非正規形(次回以降に説明) になるため データベース設計上好ましくない。
(c)長岡技術科学大学 電気系 14 連関エンティティ(続き) 商品 注文 注文明細 パソコン 注文1 注文2
プリンタ {プリンタ, 注文1} {パソコン, 注文2} {プリンタ, 注文2} {パソコン, 注文3} 注文3 • 多対多の関係にある商品と注文の間に連関エン ティティ「注文明細」を作ることで解消できる。
(c)長岡技術科学大学 電気系 15 強エンティティと弱エンティティ • 強エンティティ(強実体) – 他のエンティティのインスタンスに関係なくインスタンス が存在可能なエンティティ •
弱エンティティ(弱実体) – あるエンティティのインスタンスが存在する時だけインス タンスが存在可能なエンティティ • 弱エンティティの例 – 売上明細(エンティティ「売上」にインスタンスがあって はじめて、エンティティ「売上明細」にインスタンスが存 在する)
(c)長岡技術科学大学 電気系 16 例:図書館予約システムを考える • 必要なエンティティは二つ – 利用者、図書 • 利用者に必要な属性
– 利用者ID、氏名、住所、年齢、... • 図書に必要な属性 – 図書ID、書名、著者、出版社、出版年、... • 図書と利用者の関係は? – 1人がいろんな本を予約する – 1冊の本をいろんな人が予約する
(c)長岡技術科学大学 電気系 17 例:図書館予約システム 利用者 図書 利用者(利用者ID, 氏名, 住所, ...)
図書(図書ID, 書名, 著者, ...) 問題:利用者と図書が多対多の対応関係になっている。
(c)長岡技術科学大学 電気系 18 例:図書館予約システム 利用者 図書 予約 利用者(利用者ID, 氏名, 住所,
...) 予約(利用者ID, 図書ID) 図書(図書ID, 書名, 著者, ...) 対策:連関エンティティをはさんで多対多を解消する。 問題:図書館には同じ本が何冊もある。
(c)長岡技術科学大学 電気系 19 例:図書館予約システム 利用者 図書 予約 利用者(利用者ID, 氏名, 住所,
...) 予約(利用者ID, 図書ID) 図書(図書ID, 書名, 著者, ...) 蔵書(蔵書ID, 図書ID, 購入日, 貸出回数) 対策:エンティティ「蔵書」を作る。 蔵書
(c)長岡技術科学大学 電気系 20 論理データモデル
(c)長岡技術科学大学 電気系 21 論理データモデルとは • データベース管理システム(DBMS)でのデータの表 現方法をモデル化したもの – 階層データモデル –
ネットワークデータモデル – 関係データモデル – オブジェクト指向データモデル
(c)長岡技術科学大学 電気系 22 階層データモデル 教員 A 教員 B 教員 C
X系 教員 D 教員 E 教員 F Y系 教員 G 教員 H 教員 I Z系 大学
(c)長岡技術科学大学 電気系 23 階層データモデル • 木構造 • エンティティを親子関係で表現 – 親レコード、子レコード
• 各エンティティをレコードとして表現 – レコード間の関係はポインタで表現
(c)長岡技術科学大学 電気系 24 ネットワークデータモデル 教員 A 教員 B 教員 C
X系 教員 D 教員 E 教員 F Y系 教員 G 教員 H 教員 I Z系 大学
(c)長岡技術科学大学 電気系 25 ネットワークデータモデル • 木構造の拡張 • 親となる実体を複数持てるようにしたモデル • 各実体間の関係をより柔軟に表現が可能
(c)長岡技術科学大学 電気系 26 関係データモデル • 数学の集合概念が基礎 • データ構造に2次元の表を採用したモデル • 構造上の前提条件がない
= 自由に設計できる • 行と行の関連付けは値の一致によって行う • 最も多くのDBMSで採用されている – Oracle Database, MySQL, PostgreSQL, FileMaker, Microsoft SQL Serverなど多数
(c)長岡技術科学大学 電気系 27 関係データモデル 注文番号 注文日 取引先 商品番号 数量 1
4/20 500 222 3 2 4/20 501 223 4 3 4/21 500 222 4 4 4/21 502 222 3 5 4/22 503 224 2 タプル アトリビュート(属性) ドメイン:属性の取り得る値 例:属性「性別」のドメインは「男・女」の2要素
(c)長岡技術科学大学 電気系 28 オブジェクト指向データモデル • 1990年代に注目 • データとその振る舞いをモデル化する • データやソフトウェアの共有、再利用化を向上させ
るのに有効 • いくつかのDBMSが開発 – Informix, PostgreSQL, IBM DB2, Oracle Database など