リレーショナルデータベースの
基本概念と応用
1
金子邦彦
URL: https://www.kkaneko.jp/de/db/index.html
リレーショナルデータベース
データ共有の問題点
データはデータファイルにエンコードされる
他のユーザーはデータファイルを理解できますか?
リレーショナル・データベース
リレーショナル・データベースは、以下の標準規格である。
データ形式
データ操作(問い合わせと更新)
データ形式の記述方法
制約の記述方法
2
データ形式を記述する
3
リレーショナルデータベース
リレーショナルデータベース
テーブルの集合
スキーマ
スキーマ
product(idproduct_nametypecostcreated_at)
score(name, score, student_name, created_at, updated_at)
スキーマの形式:テーブル名(属性名1, 属性名2, ...)
SQL によるテーブル定義述
4
スキーマ:score(name, score, student_name, created_at, updated_at)
SQL nいよるテーブル定義
テーブル定義で使用される主なキーワード
INTEGER, REAL, TEXT, DATETIME,
NOT NULL, UNIQUE, PRIMARY KEY
テーブルと属性と行(レコード)
5
テーブルの本体は行の集合
6
データ
ソース
スキーマ
各種データ形式
リレーショナルデータベース
コマンドによる操作
(SQL言語)
さまざまなプログラム言語による操作
(埋め込みSQL文)
データのインポート
データソース
為替データ
日付
cat >/tmp/a.$$.sql <<-SQL
createテーブル引用 (
seq INTEGER PRIMARY KEY NOT NULL
datetimeに追加した、
USDリアル、
GBPは本物だ、
EURリアル、
CADは本物だ、
CHFリアル、
SEKリアル、
DKKリアル、
NOKリアル、
豪ドルは本物だ、
NZDレアル、
ZARリアル、
BHDリアル、
IDR100リアル、
CNYリアル、
HKDリアル、
INRリアル、
MYRリアル、
PHPは本物だ、
SGDリアル、
KRW100リアル、
THBリアル、
KWDリアル、
SARは本物だ、
AEDリアル、
MXNリアル、
PGKは本物だ、
HUFリアル、
CZKリアル、
PLNリアル、
RUBリアル、
本物を試す、
a01本物、
IDR100bリアル、
CNYbは本物だ、
MYRb本物、
KRW100b
TWDリアル
);
SQL
cat /tmp/a.$$.sql | sqlite3
/tmp/quotedb
スキーマの
プログラム
cat >/tmp/a.$$.sql <<-SQL
モード csv
.import /tmp/a.$$.csv quote
SQL
#
tail -n +2 /tmp/Book1.csv >
/tmp/a.$$.csv
cat /tmp/a.$$.sql | sqlite3
/tmp/quotedb
データインポートの
プログラム
M <- table_to_melt(T, T$at, "%Y/%m/%d")
#
ggplot(M, aes(x=Date, y=Value, color=factor(AttrNum)))+
geom_point(size=1)
プロットプログラム
プロットの結果
リレーショナルデータベース
リレーショナルデータベースを使用したプロット例
福岡市地図データ
A デジタル標高地図データ
リレーショナルデータベースを使った三次元プロットの例
ポリゴンデータ点群データ
データによる将来予測の例(ARIMAを使用)
トレンドの検出,異常値の発見の例
まとめ
リレーショナル・データベースは簡単
データ形式と制約を簡単に記述できる
リレーショナル・データベースは様々な種類の
データを扱うことができる
空間的
時間的
データ分析手法にはすでに多くの種類がある
12