• 検索結果がありません。

関係データベース

N/A
N/A
Protected

Academic year: 2021

シェア "関係データベース"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

1

データベース

動的コンテンツ

2011年5月19日 4班 宇賀 一登 尾形 勇磨 田口 龍一 藤森 夏輝 藤原 祐太 2

目次

データベースシステム データベース データベース管理システム SQL 動的コンテンツ 今回の課題について 3

データベースシステム

DBS (Data Base System)

各種アプリケーションが取り扱うデータを効率的 に管理・共有・利用 データベース(DB) データベースシステム (DBS) データベース管理システム(DBMS) ユーザ、アプリケーション

DBSの開発動機

データ格納手段として、OSによるファイルシステム ファイルシステムの問題点 データがファイルごとにばらばらになる 不正な更新や誤ったデータ入力を認識する機能が存在 しない ファイル単位でしか機密を保護できない 複数ユーザがデータ操作を同時に行うとデータが不正に システムの障害時にデータの整合性を保てない

データベース

様々な利用・応用を考慮して格納された データの集まり データベース 販売担当 生産担当 売り上げ予測 生産能力確認

データベースの形態

カード型データベース 一枚のカードに必要な情報を記入 簡単なデータ記録のみ、関連する別のカードは更 新されない 関係(リレーショナル)型データベース データモデルに表構造を用いる 複数の関係によって構成される表の集まり

(2)

7

データベース管理システム(1)

 DBMS (Data Base Management System) アプリケーションとデータベースとの橋渡し 以下の要件を満たす 物理的データ管理 データの独立性 データの一貫性,同時実行制御 機密保護 障害回復 8

データベース管理システム(2)

 物理的データ管理  データを抽象化して扱う  データの独立性  データ構造の変化にもアプリケーションの変更が不必要  データの一貫性、同時実行制御  データへの複数のアクセスによる矛盾を発生させない  機密保護  利用者に応じてデータへのアクセス制限  障害回復  障害時にもシステムを矛盾のないようにする 9

データ操作言語

 DML (Data Manipulate Language) DBMSによるデータ操作のための言語 データの登録 データの検索 データの更新 データの削除 SQLも含まれる 10

関係データベース

RDB (Relational Data Base) 表構造 表は関係(リレーション)と呼ばれる 関係は組(タプル)の集合 組はドメイン(定義域)から取り出したアトリビュート (属性)により構成 複数の関係により構成 11

表構造

名前 種別 攻撃力 アンロック MP5K SMG 40 0 AK74u SMG 35 17 AUG AR 35 26 AK47 AR 40 38 M60 LMG 50 21 属性(アトリビュート) 組(タプル) 武器 関係 (リレーション) 定義域(ドメイン){SMG,AR,LMG}から 12

RDBの技術要素(1)

キー(key) 関係するデータを指定できる入力(a[0]=1,..) 主キー:データを一意に指定可能なキー 候補キー:データを複数指定するキー テーブル(table) データに複数の属性を持たせる 表構造

(3)

13

RDBの技術要素(2)

ハッシュ (Hash) 与えられたキーをハッシュ関数によって別の数値に変 換し、データの格納番地(ハッシュ番地)を得る データ指定のための計算量O(1) 例:キーをハッシュ関数f(k)=k/16の余りに変換 3015番の情報の格納番地? 3015/16=188あまり7→7ページに格納 14

関係データベース管理システム

操作や定義を行うソフトウェア SQLによりデータベースの操作を行う データベース 管理システム ユーザ データ データ 命令 クエリ データベースシステム 15

オープンソースの管理システム

MySQL PostgreSQL オープンソースの管理システムのシェア 世界的にはおよそ8:2、日本ではおよそ5:5

MySQL

歴史 1996年 自力で開発,6月には 公式リリース 2000年 MySQL AB 社設立 2008年 サンマイクロシステムズが買収 2010年 Oracleが買収 2010年 最新版の MySQL ver.5.5.12 をリリース ストレージエンジンの設定の自由度が高い データベースを操作するための基礎となるシ ステムの部品 Monty Widenius 氏

PostgreSQL

オブジェクト関係データベース管理システム 1980年頃開発開始 → 1989年発表 データ型とオブジェクトの作成が可能 データ型:データの意味を指定できる オブジェクト:演算子や関数が作成可能

商用の管理システム

Oracle Database 大規模データベース向け 1979年に発表された Microsoft Access 小規模データベース向け 操作が簡単であり設定も容易 Microsoft SQL server 大規模データベース向け 拡張性が高く、柔軟性がある

(4)

19

SQLの開発の経緯

Coddの論文 →IBM社のSanJose研究所 System Rを開発 19 System Rのデータ操作言語

としてSEQUELを開発→SQL Donald Chamberlin氏

20

SQL

SQLとは

関係データベースの データ作成・操作・取得のための言語 

機能

データ定義 データ操作 データ制御 20 21

データ定義言語

create・・・作成

drop・・・削除

alter・・・変更

truncate・・・全ての行を削除

スキーマ・・・データ構造の定義の記述 21 22

CREATEの使用例

mysql> CREATE TABLE person -> (person_id int , -> fname char(20), -> name char(20), -> birth_date date),

-> constraint pk_person primary key

(person_id);

列名

テーブル名

22 23

生成されたテーブル

Field Type Null Key Default Extra person_id int NO PRI 0 fname char YES NULL name char YES NULL birth_date date YES NULL

mysql>DESC person;

23 24

データ操作言語

insert・・・挿入

select・・・検索

update・・・更新

delete・・・削除

24

(5)

25

INSERT,SELECTの使用例

mysql-> INSERT INTO person

-> (person_id, fname, name, birth_date) -> VALUES (1, ‘TAGUCHI’, ‘Ryuuichi’, ‘1990-08-21’);

mysql-> SELECT person_id, fname, name,birth_date -> FROM person;

person_id fname name birth_date 1 TAGUCHI Ryuuichi 1990-08-21 25 26

データ制御言語

grant・・・権限を与える

revoke・・・権限を剥奪

例 connect…接続 select…検索 insert…新規登録 26 27

動的コンテンツ

利用者の挙動に応じて変化 ⇔ 静的コンテンツ

動的コンテンツの実現

SSI (Server Side Include)

HTML内にその記述をすることにより、文字通

りその処理結果をその場に挿入し表示するも の。

CGI (Common Gateway Interface)

Webサーバ内のプログラムを実行し、その実 行結果を表示するもの。

SSIの動き

Web サーバ 要求 結果 利用者

CGIの動き

Web サーバ 要求 起動 結果 結果

(6)

31

SSIとCGIの違い

CGIはユーザーからの入力を受け取れる が、SSIはそれができない。 CGIでは、CGIを通じて実行されたプログラ ムが直接Webサーバーに対してHTMLデ ータを送ることができる。 コメント: 上記の差は本質的ではなく,動的にコンテンツを作成するプロセ ス(SSI->HTTPサーバ,CGI->別のプログラム)の違いと,コンテンツの 作成方法(SSI->HTMLの中にコマンドを埋め込む,CGI->プログラムを 記述し,プログラムでHTMLを出力する命令を書く)の違いが本質です. 32

主なスクリプト言語

PHP  単独のプログラミング言語として独立して動かすことが可能。 ECMAScript  JavaScriptと、JScriptの動作を統一するために作られた言語。 Perl  速度的には遅いが、手軽にコーディングでき、テキストファイルの 処理に関して強みを持っている言語。 Ruby  OSへの直接アクセスが可能なインタープリタ言語。 コメント: 名称の似ている Java (Oracle)とは,関係のないもの. PHPはプリプロセッサとして動 く. コメント: スクリプト言語は一般にPerlに限らず速度は遅 いので,Perl の特徴ではない. コメント:Perl と目的や特徴も似ている が,完全なオブジェクト指向の言語 33

今回の課題について

MySQLのインストール データベース操作 34

参考文献

 Sasha Pachev 著, 伊藤直也・田中慎司・吉川英興監訳 「詳解 MySQL」(オライリージャパン 2007)  Alan Beaulieu 著,株式会社クイープ訳 「初めてのSQL」(オライリージャパン 2009)  北川博之 著, 「データベースシステム」(昭晃堂 2011)  穂鷹良介 著, 「データベース入門」(オーム社 1997)  谷中一朝 著, 「実践 Perl プログラミング」(日経印刷株式 会社 2000)

参照

関連したドキュメント

大阪府では、これまで大切にしてきた、子ども一人ひとりが違いを認め合いそれぞれの力

c 契約受電設備を減少される場合等で,1年を通じての最大需要電

c 契約受電設備を減少される場合等で,1年を通じての最大需要電

巣造りから雛が生まれるころの大事な時 期は、深い雪に被われて人が入っていけ

賠償請求が認められている︒ 強姦罪の改正をめぐる状況について顕著な変化はない︒

一︑意見の自由は︑公務員に保障される︒ ントを受けたことまたはそれを拒絶したこと

者は買受人の所有権取得を争えるのではなかろうか︒執行停止の手続をとらなければ︑競売手続が進行して完結し︑

・私は小さい頃は人見知りの激しい子どもでした。しかし、当時の担任の先生が遊びを