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
330
データサイエンス13_解析.pdf
jnlp
0
380
データサイエンス12_分類.pdf
jnlp
0
290
データサイエンス11_前処理.pdf
jnlp
0
400
Recurrent neural network based language model
jnlp
0
100
自然言語処理研究室 研究概要(2012年)
jnlp
0
100
自然言語処理研究室 研究概要(2013年)
jnlp
0
69
自然言語処理研究室 研究概要(2014年)
jnlp
0
65
自然言語処理研究室 研究概要(2015年)
jnlp
0
120
Other Decks in Education
See All in Education
子どもたち創造的活動機会の必要性に関する提言/creativehub
codeforeveryone
0
230
全員参加型で会社を強くしていく活動を考えてみる
ikefukurou777
0
210
week2@tcue2024
nonxxxizm
0
810
千葉県印西市立・原山小学校における新たな学び「情報探究の時間」実践報告』
codeforeveryone
1
710
2023年度桜井政成ゼミ資料_論文の探し方・読み方
masanari
6
2.2k
Interactive Tabletops and Surfaces - Lecture 7 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
1.2k
Tips for the Presentation - Lecture 2 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
0
130
Canva
matleenalaakso
0
160
合理的配慮を知るワークショップ/Understanding Reasonable Accommodations (Workshop)
freee
1
1.4k
Project Sprint 学生版(入門編)
copilot
PRO
0
180
財務分析 - 入門編
lsuzuki
0
370
MonacaEducation導入手引き2024年第1版
asial_edu
1
150
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
43
6.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
How STYLIGHT went responsive
nonsquared
92
4.8k
The Mythical Team-Month
searls
216
42k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
What the flash - Photography Introduction
edds
64
11k
Writing Fast Ruby
sferik
621
60k
Design by the Numbers
sachag
274
18k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Clear Off the Table
cherdarchuk
84
310k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
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 など