1 / 27

データベースS

データベースS. 第 8 回 PosgreSQL 入門 システム創成情報工学科 尾下 真樹. 今回の内容. 演習 第 1 回 PostgreSQL 入門 PostgreSQL の概要 演習の環境について PostgreSQL の基本的な使い方. 参考書. 「 PHP4 徹底攻略 改訂版 」 堀田倫英 石井達矢 廣川類 著 ソフトバンクパブリッシング ( 3,800 円) PHP (次回説明) + PostgreSQL についての詳しい参考書 「 PostgreSQL による Linux データベース構築」 廉升烈 著、翔泳社 出版 ( 2,200 円).

ganesa
Download Presentation

データベースS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. データベースS 第8回 PosgreSQL入門 システム創成情報工学科 尾下 真樹

  2. 今回の内容 • 演習 第1回 PostgreSQL入門 • PostgreSQLの概要 • 演習の環境について • PostgreSQLの基本的な使い方

  3. 参考書 • 「PHP4徹底攻略 改訂版 」堀田倫英 石井達矢 廣川類 著ソフトバンクパブリッシング (3,800円) • PHP(次回説明) + PostgreSQLについての詳しい参考書 • 「PostgreSQLによるLinuxデータベース構築」廉升烈 著、翔泳社 出版 (2,200円)

  4. 演習環境の説明 • PostgreSQL(ぽすとぐれす、ぽすとぐれすきゅーえる) • フリーのリレーショナルデータベースシステム • 広く使われている • それほどパフォーマンスが要求されない用途であれば、十分実用になる • Windowsでも動く(cygwinを入れる必要がある)が、今回の演習では Linux を使用 • 希望者は、自宅の PC-UNIX や Windows を使ってレポートをやっても構わない

  5. PostgreSQLの実行環境 • クライアント・サーバ環境 • PostgreSQLサーバ • データベースを全て管理 • 今回の演習では、popura.ces.kyutech.ac.jp という学科のサーバを使用 • クライアント • データベースにコマンドやSQLなどを送り、結果を受け取る • 今回の演習では、端末室のPC(pcXX.ces.kyutech.ac.jp)

  6. 別の利用者 クライアント・サーバ環境 • サーバがクライアントにサービスを提供する 利用者 データベースサーバ 操作(コマンドを実行) 結果(実行結果をテキストで表示) データを管理コマンドラインインターフェース

  7. psql • psql • クライアントで使用するフロントエンド・プログラム • 対話的にコマンドやSQLを実行できる • キャラクターベース

  8. PosgreSQLの使い方 • データベースの作成 • psqlの起動 • テーブルの作成 • データの挿入 • ファイルからのコマンド実行 • SQLによる問い合わせ • データの更新と削除

  9. データベース作成、psqlの起動 • createdb コマンド(プログラム) • 最初にデータベースを作成する必要がある • データベース名(本演習ではユーザ名と同じにする) や PostgreSQLサーバ名などを指定する • 最初に一度だけ行う • 詳しい使用方法は、資料を参照 • psql コマンド(プログラム) • 同じくデータベース名とサーバ名を指定して起動

  10. データベース作成、psqlの起動 dbnameには、必ず自分のアカウント名を入れること

  11. psqlの操作 • psqlの内部コマンド • \で始まるコマンド (環境によっては \ は / と表示される) • メタ情報(テーブル一覧)の表示や、ファイルの読み込みなど • SQL • テーブルの作成、データの挿入、問い合わせ • SQLなどのコマンドの最後には ; を入力 • ; を入れるまで、複数行に渡って入力しても良い

  12. psqlの内部コマンド • コマンドの例

  13. テーブルの作成 • テーブルの作成 • 詳しくは資料を参照 • 入力方法 • psqlのコマンドラインから直接入力 • ファイルに記述して、\i コマンドで読み込み実行 create table employee( id varchar(4) not null unique, dept_no varchar(2), name varchar(12) not null, age int2, primary key( id ) );

  14. 指定可能な型1

  15. 指定可能な型2 ※ これら以外の型については、参考書等を参照

  16. テーブルの作成(方法1) • create table を実行 • 前ページのように途中に改行を入れてもOK(psql は ; (セミコロン) までを解釈) • テーブル名や属性名には、アルファベットを使うのが無難

  17. テーブルの作成(方法2) • テキストファイルから実行することもできる • あらかじめ、テキストファイルに処理の内容を記述した上で、ファイルを呼び出して実行

  18. データの挿入(方法1) • INSERT文を使用 • 入力方法 1. psqlのコマンドラインからSLECT文を直接入力 • 一度にひとつのデータしか挿入できない 2. ファイルにINSERT文を記述して、\i コマンドで読み込み実行 (前のスライドと同じ方法) 3. ファイルにデータを記述して、\COPYコマンドで読み込み設定 insert into employee( id, dept_no, name, age ) values( ‘0001’, ‘007’, ‘taro’, 20 );

  19. データの挿入(方法2) • \COPYコマンドによる方法 • あらかじめテキストファイルにデータを記述し、\COPY コマンドで一度にテーブルに読み込み dbname =# \COPY employee FROM ‘employee_data.txt’ USING DELIMITERS ','

  20. テーブルの削除 • drop table コマンドで、テーブルを削除可能 • 演習中に、間違えてテーブルのデータがおかしくなったりしたときには、一度テーブルを削除して作り直すと良い dbname =# drop table employee;

  21. 問い合わせ • SQLによる問い合わせ • 前回学習した SQLを使って、さまざまな問い合わせを実行することができる • 同じくSQLを使用して、データの削除(DELETE)や変更(UPDATE)もできる

  22. 問い合わせの例 • 部門番号01の従業員の人数 • 21歳以下の従業員の氏名の一覧 select count(*) from employee where dept_no = '01'; select name from employee where age < 21;

  23. 複数のテーブルの追加 • 部門のテーブル・データも追加

  24. 外部参照整合性制約の設定 • 従業員テーブルに制約を追加 • alter table テーブル名 add constraint 制約名 ・・・ • 制約名は適当(制約削除のときに使用) • 外部参照整合性制約 • foreign key (外部キー属性) references 参照先テーブル(参照先属性)

  25. 演習 • 各自、資料の説明に従って、データベースを作成し、用意されているデータを追加せよ • 演習問題のSQLを考えて、実行せよ • Moodleに置かれているレポートのファイルに、回答を貼り付けて、Moodleから提出 • 締め切り 7/15(金) 12:30 • 2週分の演習問題として評価する • 先にMoodleの演習問題を全て解いて、正解してから、演習のSQLに挑戦すると良い

  26. 来週の講義 • 休講(CLで各自演習)

  27. 次回予告 • ウェブインターフェースの作成 • HTML + PHP • SQLの結果を動的に表示するようなウェブページや、データベース更新のためのウェブインターフェースを作成

More Related