15. データベースの応用,データベースの種類

609 Views

January 12, 22

スライド概要

(リレーショナルデータベースの基本)(全15回)
URL: https://www.kkaneko.jp/cc/ds/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

15. データベースの応用,データ ベースの種類 URL: https://www.kkaneko.jp/cc/ds/index.html 金子邦彦 謝辞:この資料では「いらすとや」のイラストを使用しています 1

2.

アウトライン 番号 項目 説明時間の 目安 15-1 データベースシステムとその周辺分野 12分 15-2 リレーショナルデータベースの歴史 4分 15-3 6分 15-4 データベースシステムの種類 リレーショナルデータベースとオブジェ クトの統合 15-5 ドキュメント指向のデータベース 4分 15-6 キー・バリュー形式のデータベース 8分 15-7 データベースでできること 6分 15分 2

3.

15-1. データベースシステム とその周辺分野 3

4.

データベースシステム ・データベース管理システムは,データベースの管理等の機 能を持ったソフトウエア ・オンラインでデータを共有するときに,特に適する 取引 記入 データ保 存 データベー スシステム ネットワー ク 人工知能応用 センサー連携 4

5.

「データベースシステム」と周辺研究領域 3次元コンピュータ グラフィックス 人工知能 データベース システム 情報システム (知的情報、社会情報) セキュリティ 5

6.

データベースシステムとAI(人工知能)の融合 モーションキャプチャ実験(マーカーレス) 顔検出実験 ナンバープレート自動読み取り実験 眼球運動、顔の動きの自動抽出実験 6

7.

データベースシステムと社会情報 情報共有型地図アプリの製作 車両観測システムの製作 プライベートな グループ向けアプリ • 地図表示 • 位置表示 • 写真投稿 • メッセージやり取り 広域3次元地図の製作 センサーからの交通密度プロット ヴァーチャル・リアリ ティ表示も可能 7

8.

データベースシステムと実世界センシング 小型人工知能カメラシステムの製作 ・プログラミング言語 Python ・人工知能ソフトウェア Keras, TensorFlow ・コンピュータビジョン OpenCV, PiCamera ・顔検出、顔識別 Dlib 気圧による段差、傾斜計測実験 気圧の利用により、 屋内でも利用可能 8

9.

15-2. リレーショナル データベースシステムの歴史 9

10.

リレーショナルデータベースシステムの歴史 • 1969年(E.F. Codd at IBM research)リレーショナル データベースの提唱 • 1970年代前半から 実際のシステムが登場 従来のプログラミング言語や,他のデータベースシステムで 出来なかったことができるようになり,大きく普及. いまも,リレーショナルデータベースは,データベースシス テムの主流 10

11.

関係のあるレコード同士を ポインタでつないでおく リレーショナル データベースシステム以前 デーブルはダイナミックに 結合する リレーショナル データベースシステム 大きな変化.データ管理が簡単に 11

12.

15-3. データベースシステムの種類 12

13.

リレーショナルデータベースの機能拡張例 ① 地図を扱えるように拡張 PostGIS, ArcGIS 図は PostGIS のホームページより ② オブジェクト指向の機能を持つように拡張 (クラス,メソッド,継承) 金子邦彦 カネコクニヒコ 46 全体で1つの オブジェクト ● 13

14.

データベースシステムの種類 ① リレーショナルデータベースシステム テーブル ② ドキュメント指向のデータベースシステム XMLなどのドキュメントに特化. ドキュメント ③ キー・バリュー形式のデータベースシステム(キー・バリュー・ ストア) キー(鍵) 45343430 バリュー(値) 金子邦彦 キー・バリュー その他さまざま 14

15.

15-4. リレーショナルデータベースと オブジェクトの統合 15

16.

オブジェクト • オブジェクトは、プログラムの中で扱うデータの かたまり 16

17.

オブジェクト ■ オブジェクトは,構造を持つ場合がある 構造体, 集合, リスト, ベクトル,行列,配列など ■ オブジェクトには種類がある 言ったりするする =「クラス」と ■ オブジェクトの種類ごとに,振る舞いを関連づけ ることができる =「メソッド」と言ったりする ■ 「オブジェクト指向」というときは,クラス,ク ラス階層,継承などの機能をもつ

18.

リレーショナルデータベースとオブジェクト プログラム プログラム SQL オブジェクト リレーショナル データベース システムと 接続 オブジェクト オブジェクトのみ リレーショナルデータベース とオブジェクトの統合 18

19.

リレーショナルデータベースとオブジェクト d はオブジェクト d はオブジェクト SQL d はオブジェクト R システムでの例 19

20.

リレーショナルデータベースとオブジェクト 前ページのプログラムで行っていること 全体で オブジェクト d 1 2 3 data 4月 5月 6月 value 100 120 150 SQL も実行可能 select * from d; select * from d where value > 100; オブジェクト d が,テーブル d にマッピングされている 20

21.

オブジェクトとテーブル オブジェクト テーブル プログラムの中で扱うデータのかたまり リレーショナルデータベースのテーブル プログラム C, C++, Java, Python, R, ・・・ SQL 数値、文字列、日付、バイト列など 数値、文字列、日付、バイト列、 構造体、集合、リスト、ベクトル、行列、 (単純な構造のデータに限定) 配列など 保存したいときは、ファイルの読み書き などを行うプログラムを書く 基本は自動保存 データ管理は,自分で頑張る (アルゴ リズム、データ構造) リレーショナルデータベース管理システム が、データ管理のためのさまざまな機能を 持つ 21

22.

ここまでのまとめ リレーショナルデータベースシステムのテーブルと, オブジェクト指向のオブジェクト • テーブルとオブジェクトのマッピングにより,両 方に機能をあわせもつことに. • 状況に応じて,良い方を使用 22

23.

データの種類 • テーブル • 構造体,集合,リスト,ベクトル,行列,配列 などの構造をもったデータ • マルチメディア • テキスト/文書 • 静止画 • 動画 • 音声 • グラフィックス など

24.

マルチメディア 付加情報は, 検索時の有効な手がかり 画像、ビデオ 地図 グラフィックス 音声 音楽 + マルチメディアのコンテンツ タイトル 説明文 感想,批評 レーティング(点数) 価格 制作日 制作者 など 全体で, 1つのオブジェクト として扱うことも 多い 付加情報 24

25.

マルチメディアデータベースシステム の枠組み いずれも 多次元データ 特徴抽出 特徴量 (多次元ベクトル 等) 近似表現 近似図形 マルチメディア データ 空間データ この上で検索

26.

15-5. ドキュメント指向のデータベース 26

27.

XML形式ドキュメント 地図,グラフィックス,書式付きの文書などは XML で扱われることが多い OpenStreetMap の地図表示 データ (XML形式) XML は,タグでマークアップ されたテキストファイル 27

28.

XML形式ドキュメント 国土地理院が公開している「基盤地図情報」 データ (XML形式) XML は,タグでマークアップ されたテキストファイル 28

29.

15-6. キー・バリュー形式のデータベー ス 29

30.

キー・バリュー形式のデータの例 ID キー パスワード,氏名,住所 バリュー 30

31.

キー・バリュー形式のデータの例 name apple 0 1 price 10 20 orange 0, name apple キー バリュー 31

32.

キー・バリュー形式のデータを扱う2つの方法 • ファイル JSON などの方法 • キー・バリュー形式のデータベースシステム 32

33.

JSON とは 「タグ」と「値」を並べることを特徴とする データ形式 {"name": "apple", "price": 10} {タグ: 値, タグ: 値} JSON の例 Pythonで扱うことも簡単 33

34.

JSON のデータ型 • 配列 例 [1, 2, 3] • 数値 例 4.56 • 文字列 例 "hello" ※ 「"」で囲む • ブール値 true false • null {"name": "apple", "price": 10} ・タグ 必ず文字列 ・値 さまざまなデータ型でありえる. JSON オブジェクトを値とすることも 34

35.

JSON での入れ子 入れ子: 値が JSON オブジェクトになること id 0 1 name apple orange price 10 20 リレーショナルデータベースのテーブル 同じ意味 {"name":{"0":"apple","1":"orange"},"price":{"0":10,"1":20}} JSON での入れ子 35

36.

JSON とキー・バリュー形式のデータベース システム Cloud FireStore の違い JSON Google Firebase オブジェクト の種類 JSONオブジェクト コレクション,ドキュメント 入れ子 OK OK 「値」の 種類 文字列 (string), 数値 (number), ブール値 (boolean), 配列 (array), null 文字列 (string), 数値 (number), ブール値 (boolean), 配列 (array), null, 日時 (timestamp), geopoint, 参照 (reference) 36

37.

15-7. データベースでできること 37

38.

データベースでできること • マッチング • データの分布に関する分析 • 人工知能の学習 SQL単独では困難.Python 等のプログラムで, データベースを読み込んで利用 38

39.

マッチング 未知の データ 照合 (マッチング) マッチング結果 自動で照合 データベース 39

40.

アヤメ属 (Iris) ◆多年草 ◆世界に 150種. 日本に 9種. ◆花被片は 6個 外花被片(がいかひへん) Sepal 3個(大型で下に垂れる) 内花被片(ないかひへん) Petal 3個(直立する) 画像は http://montana.plant-life.org/families/Iridaceae.htm より転載 40

41.

Iris データセット ◆ 3種のアヤメの外花被辺、内花 被片の幅と長さを計測したデータ セット Iris setosa Iris versicolor Iris virginica Ronald Fisher ◆ データ数は 50 × 3 作成者:Ronald Fisher 作成年:1936 Iris setosa Iris versicolor Iris virginica 画像は Wikipedia より転載 41

42.

Iris データセット ◆ 3種のアヤメの外花被辺、内花 被片の幅と長さを計測したデータ セット Iris setosa Iris versicolor Iris virginica ◆ データ数は 50 × 3 作成者:Ronald Fisher 作成年:1936 https://archive.ics.uci.edu/ml/datasets/iris などから簡単にダウンロードできる 42

43.

外花被辺の散布図,内花被片の散布図 外花被片 内花被片 (横軸が長さ、縦軸が幅.単位はセンチメートル)(横軸が長さ、縦軸が幅.単位はセンチメートル) 43

44.

内花被片でのマッチング 新しい未知の花のデータ → マッチングにより,種類は「赤」 と推定可能 内花被片のデータ 44

45.

関連資料 • リレーショナルデータベース序論(全4回) 全体を知る. https://www.kkaneko.jp/cc/di/index.html • リレーショナルデータベースの基本(全15回) 基礎を学ぶ. https://www.kkaneko.jp/cc/ds/index.html • リレーショナルデータベース演習(全15回) 演習により修得する. https://www.kkaneko.jp/cc/de/index.html 45