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
670
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データベースと応用システム:データモデル
自然言語処理研究室
April 19, 2013
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
420
データサイエンス13_解析.pdf
jnlp
0
540
データサイエンス12_分類.pdf
jnlp
0
380
データサイエンス11_前処理.pdf
jnlp
0
510
Recurrent neural network based language model
jnlp
0
180
自然言語処理研究室 研究概要(2012年)
jnlp
0
170
自然言語処理研究室 研究概要(2013年)
jnlp
0
130
自然言語処理研究室 研究概要(2014年)
jnlp
0
150
自然言語処理研究室 研究概要(2015年)
jnlp
0
240
Other Decks in Education
See All in Education
Throw Yourself In! - How I've learned English and What I'm Facing
georgeorge
1
230
SFプロトタイピング体験(滝中学校)
yusk1450
PRO
0
120
Course Review - Lecture 13 - Information Visualisation (4019538FNR)
signer
PRO
1
2.7k
2026年度春学期 統計学 第14回 分布についての仮説を検証する ― 仮説検定(1) (2026. 7. 2)
akiraasano
PRO
0
130
新入社員を「あの子」と呼ばない運動 -PBL その前に- / Stop Calling New Hires "Kids"
aokiplayer
2
710
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
19k
学習者データを「見る」:外国語教師のためのデータの入力、分析、解釈方法
uranoken
0
260
Gitがない時代 インターネットがない時代の 開発話
sapi_kawahara
0
370
2026年度春学期 統計学 第8回(オンデマンド配信回) 演習(1)・問題に対する答案の書き方 (2026. 5. 21)
akiraasano
PRO
0
180
Comentario del plano urbano de Madrid hasta 1860 (1ª parte )
juanmartin2026
1
2.8k
解決策を教えても次期リーダーは育たない ─ 器の発達に伴走するために / Partnering with leaders in their vertical development
matsu0228
1
630
遊ぶかね欲しさの犯行(ルビ:労働)です
shirayanagiryuji
0
240
Featured
See All Featured
Believing is Seeing
oripsolob
1
200
WENDY [Excerpt]
tessaabrams
11
39k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Mind Mapping
helmedeiros
PRO
1
330
GraphQLとの向き合い方2022年版
quramy
50
15k
Facilitating Awesome Meetings
lara
57
7.1k
Docker and Python
trallard
47
4.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
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 など