280 likes | 416 Views
PostgreSQL8.0の使用方法. 教養ゼミ:旅行とデータベース資料 imai@eng.kagawa-u.ac.jp horiyuki@cc.kagawa-u.ac.jp. データベースの簡単な説明. データベースは管理システムとデータベース(ファイル)から構成 管理システムとしてのPostgreSQLの理解(以下がその利用方法の解説) データベースは複数のテーブル(表)から構成 各テーブルには「フィールド」と呼ばれる複数の「列」を定義. 関係表(テーブル). データベース. データベースのイメージ. 表自体の作成 表の内容(各項目の記載:項目の挿入)
E N D
PostgreSQL8.0の使用方法 教養ゼミ:旅行とデータベース資料 imai@eng.kagawa-u.ac.jp horiyuki@cc.kagawa-u.ac.jp
データベースの簡単な説明 • データベースは管理システムとデータベース(ファイル)から構成 • 管理システムとしてのPostgreSQLの理解(以下がその利用方法の解説) • データベースは複数のテーブル(表)から構成 • 各テーブルには「フィールド」と呼ばれる複数の「列」を定義
関係表(テーブル) データベース データベースのイメージ • 表自体の作成 • 表の内容(各項目の記載:項目の挿入) • 表を対象とした各項目に対する演算(検索など)
データベースの起動 PostgreSQLの起動について(既に,インストール済みであるとして説明) <スタート>から<すべてのプログラム>を選択 <PostgreSQL8.0>から<pgAdminⅢ>を選択
pgAdminⅢの起動画面 最初は,テーブルなど存在せず
データベースの(表の)作成 • まず,データベースにしたいデータ自体の準備 • ここでは,旅行に拘って,飛行機の時刻表を対象(データとして扱う) • ケーススタディとしてANAの時刻表を入手 • 項目を整理(ここでは高松・羽田便に着目)
https://www.ana.co.jp/timetable/main_fr.html https://www.ana.co.jp/timetable/pdf/050701.pdf
ここではデータをまず表計算ソフト(Excel)に記載ここではデータをまず表計算ソフト(Excel)に記載
項目の英字表記(注1) テーブルの作成: create table flightTable( here varchar, there varchar, days varchar, strt varchar, stop varchar, number varchar, Spendtime varchar); 注1)実は“from”や“start”などの文字列をそのまま使用することは問題あり
テーブル(表)の作成 PostgreSQLの操作手順を示す
pgAdminⅢQueryが別ウィンドウで起動 SQL文: create table flightTable( here varchar, there varchar, days varchar, strt varchar, stop varchar, number varchar, Spendtime varchar); を1行でタイプする
タイプしたSQL文を実行するため,クエリーから実行を指定タイプしたSQL文を実行するため,クエリーから実行を指定
各項目の挿入(インサートの実行) いよいよ実際のデータをinsert文を使用して挿入していきます.
SQL文を使用してテーブル内に各項目を順次挿入(インサート)SQL文を使用してテーブル内に各項目を順次挿入(インサート) insert into flightTable values('東京','高松','毎日','8:15','9:25','ANA631','1:10'); insert into flightTable values('東京','高松','毎日','10:05','11:15','ANA633','1:10'); insert into flightTable values('東京','高松','毎日','12:45','13:55','ANA635','1:10'); insert into flightTable values('東京','高松','毎日','17:20','18:30','ANA637','1:10'); insert into flightTable values('東京','高松','毎日','19:30','20:40','ANA639','1:10'); insert into flightTable values('高松','東京','毎日','8:10','9:25','ANA632','1:15'); insert into flightTable values('高松','東京','毎日','10:10','11:25','ANA634','1:15'); insert into flightTable values('高松','東京','毎日','14:35','15:50','ANA636','1:15'); insert into flightTable values('高松','東京','毎日','17:05','18:20','ANA638','1:15'); insert into flightTable values('高松','東京','毎日','19:15','20:30','ANA640','1:15');
タイプしたSQL文を実行するため,クエリーから実行を指定タイプしたSQL文を実行するため,クエリーから実行を指定
データベースの操作(表の検索など) 検索結果の表示など
SQL文を使用してテーブル内の検索: select * from flightTable where days='毎日';
タイプしたSQL文を実行するため,クエリーから実行を指定タイプしたSQL文を実行するため,クエリーから実行を指定
-- クエリーの実行: create table flightTable (from varchar, to varchar, day varchar, start varchar, stop varchar, number varchar, time varchar); ERROR: syntax error at or near "from" at character 27 -- クエリーの実行: create table flightTable( from varchar, to varchar, day varchar, start varchar, stop varchar, number varchar, time varchar); ERROR: syntax error at or near "from" at character 27 -- クエリーの実行: create table flightTable( here varchar, there varchar, days varchar, strt varchar, stop varchar, number varchar, Spendtime varchar); クエリーは、400 で結果なしでうまく帰りました。
-- クエリーの実行: insert into flightTable values('東京','高松','毎日','8:15','9:25','ANA631','1:10'); insert into flightTable values('東京','高松','毎日','10:05','11:15','ANA633','1:10'); insert into flightTable values('東京','高松','毎日','12:45','13:55','ANA635','1:10'); insert into flightTable values('東京','高松','毎日','17:20','18:30','ANA637','1:10'); insert into flightTable values('東京','高松','毎日','19:30','20:40','ANA639','1:10'); insert into flightTable values('高松','東京','毎日','8:10','9:25','ANA632','1:15'); insert into flightTable values('高松','東京','毎日','10:10','11:25','ANA634','1:15'); insert into flightTable values('高松','東京','毎日','14:35','15:50','ANA636','1:15'); insert into flightTable values('高松','東京','毎日','17:05','18:20','ANA638','1:15'); insert into flightTable values('高松','東京','毎日','19:15','20:30','ANA640','1:15'); クエリーは、成功しました: OID 17300 をもつ行を挿入し, 実行時間は、702 ミリ秒でした。 -- クエリーの実行: select * from flightTable where days='毎日'; クエリー全体 実行時間:31 ms. データ検索 実行時間:40 ms. 10 行検索しました