15.
データベースの応用,データ
ベースの種類
1
URL:
htt
ps://www
.kkaneko
.jp
/de/ds/
index.html
金子邦彦
謝辞:この資
料では「い
らすとや」の
イラストを
使用してい
ます
オープンデータ
2
オープンデータ
•
政府等が保有するデ
ータがデジタルで公開
データカタログサイ
ト
https://www
.data.go.jp/
3
専門家の間でも、データの
共有は当然
•
Kaggle
のデータセットのペー
ジ
https://www
.kaggle.c
om/datase
ts
機械学習、データサ
イエンス、人工知能研究等のため
4
データベースシステム
とその周辺分野
5
データベースシステ
ム
6
データベー
スシステム
ネットワー
ク
取引
記入
データ保
存
センサー連携
人工知能応用
・データベース管理システムは,データベースの管理等の機
能を持ったソフト
ウ
エア
・オンラインでデータを共有するときに,特に適する
「データベースシステム」
と周辺研究領域
7
データベース
システム
人工知能
情報システム
(知的情報、社会情報)
3次元コンピュータ
グラフィックス
セキュリティ
データベースシステムと
AI
(人工
知能)の融合
人工知能の学習にはデータが必要
8
モーションキャプチャ実験(マーカーレス)
ナンバープレート自動読み取り実験
眼球運動、顔の動きの自動抽出実験
顔検出実験
データベースシステムと社
会情報
データの収集,蓄積,
活用で,データベース
システムが
役に立つ
9
センサーからの交通密度プロット
広域3次元地図の製作
車両観測システムの製作
ヴァーチャル・
リアリ
ティ表示も可能
情報共有型地図アプリの製作
プライベートな
グループ向けア
プリ
•
地図表示
•
位置表示
•
写真投稿
•
メッセージや
り取り
リレーショナル
データベースシステムの歴史
10
リレーショナルデータベー
スシステムの歴史
•
1969年(
E.F
. Co
dd
at IBM research
)リレーショナル
データベースの提唱
•
1970年代前半から
実際のシステムが登場
従来のプログラミング言語や,他のデータベースシステムで
出来なかったことができるよ
う
になり,大きく普及.
いまも,
リレーショナルデータベースは,データベースシス
テムの主流
11
12
リレーショナル
データベースシステム
以前
リレーショナル
データベースシステム
デーブルは
ダイナミック
に
結合
する
関係のあるレコード同士を
ポインタ
でつないでおく
大きな変化.データ管理が簡単に
データベースシステムの種類
13
データベースシステムの種
類
①
リレー
ショナルデータベースシステム
②
ドキュ
メント指向のデータベースシステム
XML
などの
ドキュメント
に特化.
③
キー・
バリュー形式のデータベースシステム
(
キー・
バリュー・
ストア
)
その他さまざま
14
テーブル
ドキュメント
キー・バリュー
45343430
キー(鍵)
金子邦彦
バリュー(値)
リレーショナルデータベースと
オブジェクトの統合
15
オブジェクト
•
オブジェクト
は、プログラムの中で扱
う
データの
かたまり
16
オブジェクト
■
オブ
ジ
ェ
ク
トは
,構造
を
持つ
場合
があ
る
構造体
,
集合
,
リスト,
ベクト
ル,行列,配列など
■
オブ
ジ
ェ
ク
トに
は種類
が
ある
=
「
クラス
」と
言ったりするする
■
オブ
ジ
ェ
ク
トの
種類ご
と
に,
振る
舞い
を
関連づ
け
ることがで
きる
=「
メソッ
ド
」と言
ったりする
リレーショナルデータベー
スとオブジェクト
18
オブジェクト
プログラム
SQL
リレーショナルデータベース
とオブジェクトの統合
オブジェクトのみ
オブジェクト
プログラム
リレーショナル
データベース
システムと
接続
リレーショナルデータベー
スとオブジェクト
19
R
システムでの例
d
はオブジェクト
d
は
オブジェクト
d
は
オブジェクト
SQL
リレーショナルデータベー
スとオブジェクト
20
da
ta
v
alue
1
4
月
100
2
5
月
120
3
6
月
150
前ページのプログラムで行っていること
全体で
オブジェクト
d
SQL
も実行可能
select * fr
om d;
select * fr
om d wher
e v
alue > 100;
オブジェクト
d
が,テーブル
d
にマッピングされている
オブジェクトとテーブル
21
リレーショナルデータベースの
テーブル
SQL
数値、文字列、日付、バイト列など
(単純な構造のデータに限定)
基本は
自動保存
リレーショナルデータベース管理システム
が、
データ管理のためのさまざまな機能
を
持つ
テーブル
オブジェクト
プログラムの中で扱う
データのかたまり
プログラム
C,
C++, Java, Python, R,
・・・
数値、文字列、日付、バイト列、
構造体、集合、リスト、ベクトル、行列、
配列
など
保存したいときは、
ファイル
の読み書き
などを行う
プログラム
を書く
データ管理は,自分で頑張る
(アルゴ
リズム、データ構造)
ここまでのまとめ
リレーショナルデータベースシステムの
テ
ーブ
ル
と,
オブジェクト指向の
オブジェ
クト
•
テー
ブル
と
オブジェクト
の
マッピング
により,両
方に機能をあわせも
つことに.
•
状況に応じて,良い
方を使用
22
データの種類
•
テー
ブル
•
構造体,集
合,リスト,ベク
トル,行列,配列
などの構造
をもったデータ
•
マルチメデ
ィア
•
テキスト/文書
•
静止画
•
動画
•
音声
•
グラフィックス
など
マルチメディア
24
マルチメディアのコンテンツ
画像、ビデオ
地図
グラフィックス
音声
音楽
+
付加情報
タイトル
説明文
感想,批評
レーティング(点数)
価格
制作日
制作者
など
付加情報は,
検索時の有効な手がかり
全体で,
1つのオブジェクト
として扱うことも
多い
マルチメディアデータベー
スシステム
の枠組み
マルチメディア
データ
空間データ
特徴抽出
近似表現
この上で検索
特徴量
(多次元ベクトル
等)
近似図形
いずれも
多次元データ
ドキュメント指向のデータベース
26
XML
形式ドキュメント
27
OpenStr
eetMap
の地図表示
データ
(
XML
形式)
XML
は,タグでマークアップ
された
テキストファイル
地図,グラフィックス,書式付きの文書などは
XML
で扱われることが多い
XML
形式ドキュメント
28
データ
(
XML
形式)
XML
は,タグでマークアップ
された
テキストファイル
国土地理院が公開している「基盤地図情報」
キー・バリュー形式のデータベース
29
キー・バリュー形式のデー
タの例
ID
パスワード,氏名,
住所
30
キー
バリュー
キー・バリュー形式のデー
タの例
31
name
price
0
apple
10
1
or
ang
e
20
0, name
apple
キー
バリュー
キー・バリュー形式のデータを扱
う
2
つの方法
32
•
ファイル
JSON
などの方法
•
キー・バリュー形式のデータベースシステム
JSON
とは
「
タグ
」と「
値
」を
並べる
こ
とを特徴とする
データ形式
33
Python
で扱うことも簡単
JSON
の例
{"name": "apple", "price": 10
}
{
タグ
:
値
,
タグ
:
値
}
JSON
の
デ
ータ型
•
配列
例
[1, 2, 3]
•
数値
例
4.56
•
文字列
例
"hello"
※
「
"
」で囲む
•
ブール値
true
false
•
null
34
・
タグ
必ず文字列
・
値
さまざまな
データ型
でありえる.
JSON
オブジェクト
を値とする
ことも
{"name": "apple", "price": 10}
JSON
での
入れ
子
入れ子
:
値
が
JSON
オブジェクト
になること
35
{"
name
":{"
0
":"apple","
1
":"or
ang
e"},"
price
":{"
0
":10,"
1
":20
}}
JSON
での入れ子
id
name
price
0
apple
10
1
or
ang
e
20
リレーショナルデータベースのテーブル
同じ意味
JSON
とキー・バリュー形式のデータベー
ス
シス
テム
Cloud
FireStore
の違い
36
JSON
Google
Firebase
オブジェクト
の種類
JSON
オブジェクト
コレクション
,ドキュメント
入れ子
OK
OK
「値」の
種類
文字列
(string)
,
数値
(number)
,
ブール値
(boole
an)
,
配列
(arr
a
y)
,
null
文字列
(string)
,
数値
(number)
,
ブール値
(boole
an)
,
配列
(arr
a
y)
,
null
,
日時
(tim
estamp)
,
geopoint
,
参照
(reference
)