Presentation is loading. Please wait.

Presentation is loading. Please wait.

データベース設計 第8回 クライアント=サーバーモデル(2)

Similar presentations


Presentation on theme: "データベース設計 第8回 クライアント=サーバーモデル(2)"— Presentation transcript:

1 データベース設計 第8回 クライアント=サーバーモデル(2)
データベース設計 第8回 クライアント=サーバーモデル(2) 坂口利裕

2 サーバーの運用準備(1) サーバー用のマシンの要件 多数のクライアント・マシンからの要求に耐える 安定したOSで動作する
一定以上の速度・メモリ容量・データベース格納に必要なディスク容量が必要 小規模範囲(部署内・家庭内)での利用であれば一般のPCでも十分 安定したOSで動作する Windows系:Windows Server MacOS系: MacOS X(テン) Server 商用Unix系: Solaris,AI/Xなど多数 オープンソース・フリーUnix系: Linux,FreeBSDなど多数 データベース設計

3 サーバーの運用準備(2) サーバー用ソフトのインストール DBサーバー: Oracle,PostgreSQL,MySQLなど
Webサーバー: IIS,Apacheなど CGI作成用言語: Perl,PHPなど(DB連携のための機能拡張も必要) 管理者権限(Administrator,rootなどのスーパーユーザー)で作業 DB作成権限をユーザーに許可 データベース設計

4 実習用サーバーの仕様 ホスト名: orion.yokohama-cu.ac.jp
データベース設計 実習用サーバーの仕様 ホスト名: orion.yokohama-cu.ac.jp マシン: NEC(Sun MicrosystemsのOEM) OS: Unix(Solaris 5.10) DBサーバー: PostgreSQL Webサーバー: Apache CGI作成用言語: PHP(予定) データベース設計 坂口利裕

5 実習用サーバー上でのDB作成手順(1) 遠隔操作用に ssh を使用して接続 TeraTermのウィンドウ内でコマンドを使用
データベース設計 実習用サーバー上でのDB作成手順(1) 遠隔操作用に ssh を使用して接続 [ネットワークツール]→[TeraTerm] ホスト名(Host:)に orion と入力 サービスは SSH を選択 OKをクリックし,各自のユーザ名とパスワードでログイン TeraTermのウィンドウ内でコマンドを使用 接続解除(ログアウト)は exit と入力 文字列で与える操作指令 データベース設計 坂口利裕

6 実習用サーバー上でのDB作成手順(2) DBの作成 DBの削除
createdb 【DB名】   ~DB名省略時はユーザー名と同じ DBの削除 dropdb DB名   ~省略はなし DB操作(テーブルの作成/削除,データの追加/削除,テーブルの検索,アクセス権限の設定) psql 【DB名】   ~DB名省略時はユーザー名と同じ データベース設計

7 実習用サーバー上でのDB作成手順(3) psqlによるテーブル作成/削除
データベース設計 実習用サーバー上でのDB作成手順(3) psqlによるテーブル作成/削除 psqlを起動後,対話処理モードに移行 「ユーザ名=# 」が入力待ちの合図 作成: create table テーブル名 (   フィールド名 型と属性   【,フィールド定義の繰り返し・・・】   ) ; 削除: drop table テーブル名 ; psql終了は   \q と入力 データベース設計 坂口利裕

8 実習用サーバー上でのDB作成手順(4) psqlによるデータ追加/表示
対話入力: copy テーブル名 from stdin delimiters ‘,’ ; 「>> 」に対してデータをフィールド間を「,」で区切って入力 最後のデータを入力後「¥.」を入力 表示: select * from テーブル名 ; 全データを無条件に表示 データベース設計

9 SQLとは (リレーショナル型)データベースの操作言語
データ定義(DDL=Data Definition Language) データ操作(DML=Data Manipulation Language) データ制御(DCL=Data Control Language) 汎用言語(Cobol,Fortran,PL/I)の補完言語として出発(Structured Query Language) DBMS用言語として1986年に標準化を開始 骨格はSQL92(1992年版)で安定 →SQL:2003ではマルチメディアにも対応 データベース設計

10 SQL文の基本 言語の一種~プログラミング言語に類似 機能別に設けられた“予約語”で始まる“文”で処理内容を表記する
文の終わり(終端)はセミコロン“;”で示す 例) SELECT * FROM tab WHERE height>=150 ; 意味) “tab”テーブルから“height”フィールドが150以上のものについて,すべてのフィールドを選べ 予約語で始まる 文の終端を示すセミコロン データベース設計

11 SQLによるテーブル操作(1) テーブルから特定のフィールドを抽出(射影) テーブルから特定の行を抽出(選択)
データベース設計 SQLによるテーブル操作(1) テーブルから特定のフィールドを抽出(射影) SELECT 出力フィールド名 FROM テーブル名 ; テーブルから特定の行を抽出(選択) SELECT *  FROM テーブル名 WHERE 条件式 ; データベース設計 坂口利裕

12 SQLによるテーブル操作(2) フィールドの指定 複数指定するときはコンマ“,”で区切る SELECT height,weight ・・・
複数テーブルの同一名のフィールドを指定する時はテーブル名をフィールド名の前にピリオド“.”で付け加える SELECT tab.id ・・・ ASを追加することで出力時のフィールド名を変更できる SELECT id AS newid ・・・ フィールド全部を一括指定する時はアスタリスク“*”を用いる SELECT * ・・・・ データベース設計

13 SQLによるテーブル操作(3) テーブルの指定
複数指定するときはコンマ“,”で区切る SELECT * FROM tab1,tab2 ・・・ データベース設計

14 SQLによるテーブル操作(4) WHERE句の条件式の書き方
単純比較 式1 = 式2 両辺が等しい 式1 <> 式2 両辺が等しくない 式1 < 式2 左辺が小さい 式1 > 式2 左辺が大きい 式1 <= 式2 左辺≦右辺 式1 >= 式2 左辺≧右辺 式は,フィールド名または数値・文字列(シングルクォート‘で括って指定) 複数の比較を同時に行うときは AND(かつ) や OR(または)でつなぐ WHERE (weight >=50) AND (weight<=60) データベース設計

15 SQLによるテーブル操作(5) LIKEによるパターンマッチング 比較の対象が文字列型の場合に有効
データベース設計 SQLによるテーブル操作(5) LIKEによるパターンマッチング 比較の対象が文字列型の場合に有効 文字列にワイルドカードである“%”を含める 例) ・・・ WHERE name LIKE ‘%yama’ ・・・   →“yama”で終わるもの ・・・ WHERE name LIKE ‘Kawa%’ ・・・   →“Kawa”から始まるもの ・・・ WHERE name LIKE ‘%aya%’ ・・・   →“aya”を含む社員名を持つもの ・・・ WHERE name LIKE ‘Sa%ta’ ・・・   →“Sa”で始まり“ta”で終わる社員名を持つもの データベース設計 坂口利裕

16 SQLによるテーブル操作(6) 複数のテーブルで,キーが一致するものを結合する
SELECT 出力フィールド名 FROM テーブル名1,テーブル名2 WHERE テーブル名1.キーフィールド = テーブル名2.キーフィールド ; データベース設計

17 SQLによるテーブル操作(7) テーブルの集合演算 複数のSELECT文を結合して利用
積(共通部分):INTERSECT~Access未サポート 和:UNION ~Accessでもサポート 差:EXCEPT ~Access未サポート 例) SELECT * FROM 名簿1 UNION SELECT * FROM 名簿2 ; →名簿1と名簿2の和集合 データベース設計

18 練習 orion 上でSQLを用いてDB操作の練習 別紙・練習6にしたがって作業 Webインタフェースは次回以降に設計作成
データベース設計


Download ppt "データベース設計 第8回 クライアント=サーバーモデル(2)"

Similar presentations


Ads by Google