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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
自然言語処理研究室
April 19, 2013
Education
660
0
Share
データベースと応用システム:データモデル
自然言語処理研究室
April 19, 2013
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
410
データサイエンス13_解析.pdf
jnlp
0
530
データサイエンス12_分類.pdf
jnlp
0
370
データサイエンス11_前処理.pdf
jnlp
0
490
Recurrent neural network based language model
jnlp
0
160
自然言語処理研究室 研究概要(2012年)
jnlp
0
160
自然言語処理研究室 研究概要(2013年)
jnlp
0
120
自然言語処理研究室 研究概要(2014年)
jnlp
0
140
自然言語処理研究室 研究概要(2015年)
jnlp
0
230
Other Decks in Education
See All in Education
2026年度春学期 統計学 第5回 分布をまとめるー記述統計量(平均・分散など) (2026. 5. 7)
akiraasano
PRO
0
100
アジャイルなマインドセットを「取り戻す」新人研修づくり
chinmo
2
510
ブランチ操作 / 02-a-branch
kaityo256
PRO
0
290
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
signer
PRO
0
2.7k
コマンドラインの使い方 / 01-d-cli
kaityo256
PRO
1
160
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
1
3k
Catecismo 26 #1 - Aula inaugural
cm_manaus
0
120
Gitの仕組みと用語 / 01-b-term
kaityo256
PRO
1
360
Railsチュートリアル × 反転学習の事例紹介
yasslab
PRO
3
180k
Referendum Costituzionale Giustizia
nostradalmine
0
140
反応する前に「受容する」力を鍛える。 自分の安全地帯🌱 を育てよう / Cultivating and sharing ventral vagal safety.
spring_aki
0
160
0506
cbtlibrary
0
140
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Invisible Side of Design
smashingmag
302
52k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
Navigating Weather and Climate Data
rabernat
0
190
The untapped power of vector embeddings
frankvandijk
2
1.7k
First, design no harm
axbom
PRO
2
1.2k
How to make the Groovebox
asonas
2
2.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
Designing Experiences People Love
moore
143
24k
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 など