DB・動的コンテンツの説明資料

データベースとwebシステム
グループ8
柏木恵
栗焼崇史
段床智志
山本天流
1
データベースとは
データを集め保存、共有、検索、抽出などを
容易にするためのシステム
データベース管理システム
アプリケーション
データベース
アプリケーション
データ
データ
ユーザ
2
ファイルシステムとの違い
• データの一貫性を保てる
• データを共有できる
• データとプログラムを独立させることができる
1つのデータを複数のプログラム、ユーザが
利用できる。
3
データベースを用いる利点
•
•
•
•
データの一貫性を保てる
データの共有ができる
データとプログラムを独立させることができる
検索が高速である
– ハッシュ法
• キーを基に演算を行いデータの格納位置を求める
– インデックス法
• キーとデータ格納位置を索引として構成し、索引を引くこと
で格納位置を求める
– 索引は木構造に階層化して構成する
4
データモデル
データを記述するためのモデル
– 階層型データモデル
• ツリー構造を持つデータモデル
– ネットワーク型データモデル
• ネットワーク(網)構造を持つデータモ
デル
– リレーショナルデータモデル
5
階層型データモデルとネットワーク型
モデルの欠点
• 階層型データモデルの欠点
– 子が複数の親を持つことができない
• ネットワーク型モデルの欠点
– データの追加、変更の処理が複雑
6
リレーショナルデータモデル
• リレーショナルデータモデルの特徴
– 木構造を持たず2次元の表でデータを表す
– データ間の関係を表と表の関係で表す
– 共通の項目(キー)で表と表をつなげることで表現する
7
社員表
社員番号
名前
給与
部門番号
1001
山田
3000
10
1002
松田
4500
20
1003
上田
1800
30
1008
山田
1000
10
部門表
部門番号
部門名
所在地
10
経理
名古屋
20
営業
東京
30
商品管理
大阪
社員表と部門表をリレーション
社員番号
名前
給与
部門番号
部門名
所在地
1001
山田
3000
10
経理
名古屋
1002
松田
4500
20
営業
東京
1003
上田
1800
30
商品管理
大阪
1008
山田
1000
10
経理
名古屋
8
リレーショナルデータベース
• リレーショナルデータモデルに基づいて設計、
開発されたデータベース
• リレーショナルデータベースを管理するため
のソフトウェアをRDBMSという
• 機能
– SQLによるアクセス機能
– 高速な検索機能
– トランザクション機能
– 障害回復機能 など
9
社員表
社員番号
名前
給与
部門番号
1001
山田
3000
10
1002
松田
4500
20
1003
上田
1800
30
1008
山田
1000
10
部門表
部門番号
部門名
所在地
10
経理
名古屋
20
営業
東京
30
商品管理
大阪
列(フィールド、属性)
テーブル(リレーション)
行(タプル)
社員の所属部署表
クエリー
社員番号
名前
給与
部門番号
部門名
所在地
1001
山田
3000
10
経理
名古屋
1002
松田
4500
20
営業
東京
1003
上田
1800
30
商品管理
大阪
1008
山田
1000
10
経理
名古屋
10
SQL
• リレーショナルデータベースの操作を行う
データベース言語の一つ
- 関係データベース言語におけるデファクトス
タンダード
• SQL を実装した主なRDBMS
• Oracle Database(商用)
• MySQL(オープンソース)
• PostgreSQL(オープンソース)
11
SQLを用いる利点
 データベースとプログラムが独立していない場合
データベース
 データベースとプログラムが独立している場合
データベース
12
SQLの歴史
• 初の関係データベースシステムは、1970年に開発さ
れたSystem R
System Rのデータ操作言語がSEQUEL(1974年)
IBM社の研究成果として1976年にSQLが開発される
• その後、SQLの仕様に準拠した製品が続々と商用化
されていく
– Oracle (世界初の商用DBMS)
– Access (Microsoft)
– SQL/DS (IBM)
13
SQL標準化の変遷とRDB
1970
1980
1990
2000
RDB時代
統合化時代
SQL-92
SQL3
SQL/MM
SQL4
実用化・標準化時代
SQL-87
SQL-89
実験・研究時代
SEQUEL2
14
SQL言語の構成
• データ定義言語(DDL: Data Definition Language)
– データベースの定義(スキーマ)や環境設定に関する
命令群
• データ操作言語(DML: Data Manipulation Language)
– テーブルのデータにアクセスするための命令群
• データ制御言語(DCL: Data Control Language)
– ユーザに対しアクセス制御を行うための命令群
15
MySQL
• オープンソースで開発されているRDBMS
- Michael Widenius氏が開発
- オープンソース・データベースでは高いシェアを
占めている
• 特徴
– プログラミング言語とのインターフェースのサポー
トの多さ
C, C++, Perl, Python, PHPなど
– テーブルごとにストレージエンジンが選択可能
同じデータベース内にストレージエンジンが異なる複
数のテーブルを作成できる
16
Webシステムと動的コンテンツ
• ユーザからの要求内容やそのときの条件に
よってコンテンツを生成
• サーバ側で処理を行う
- SSI、CGI、PHP(ファイルシステム)
Webシステムを用いた動的コンテンツ
Webシステム←データベース
17
Webシステムとは
• Web上で動作するプログラム
Webアプリケーションシステムとも呼ばれる
データベースと連動する
• Webシステムを用いてできること
掲示板 ECサイト Webメール
• 代表例
CMS
Blog
Wiki
18
CMS(Contents
Management System)
• コンテンツ管理するためのWebシステム
• Webサイトの更新ツールとして広く利用されて
いる
→ Wiki Blog
• Webサイト作成・編集・管理ソフトウェア
→ Xoops
19
Wiki
• Webブラウザからコンテンツ作成を行うシス
テム
• 特有の文書マークアップ言語が簡単
→操作、記述が容易
• 複数人でどこからでも編集可能
• Wikiを用いた例
Wikipedia
• ソフトウェア
MediaWiki PukiWiki
20
Blogシステム(Weblog)
• Web上の日記のようなコンテンツを発展させたも
の
• 継続的に情報を記録し、更新するサイト
→Blog(コメントの発信、返信が可能)
最新の情報を手に入れる
必要な情報へのアクセスが容易
 ソフトウェア
→ Word Press
21
Xoops(eXtensible Object Oriented
Portal System)
• GNU一般公有使用許諾書に基づいて開発さ
れたオープンソースのCMS
• Webサイト構築ソフトウェア
→コミュニティサイト構築に特化している
• 日本人初心者向けである
• モジュール管理システムによりプログラムの
新規インストールなどを容易に行える
22
Cookie
• データを書き込んで保持させる仕組み
• クライアントに情報を保持させる
• ユーザの識別
23
<1回目>
cookie
クライアント
<2回目>
クライアントにCookieを作成
cookie
Web
サーバ
cookie
Web
サーバ
クライアント
前回作成されたCookieをWebサーバに送信
24
本日の作業内容
以下をインストールする。
• Xoops(CMS)
• Media Wiki(Wiki)
• Word Press(Blog)
25
レポート
キーワード
関係データベース
SQL
Cookie
Webアプリケーション
提出日:5月21日(月)
18:00までに4FレポートBOX
26
参考文献
• Webデザイン-コンセプトメイキングから運用まで-改訂
版- Webデザイン編集委員会監修 CG-ARTS協会 2006
• 入門Webデザイン Webデザイン編集委員会監修CGARTS協会 2006
• データベースの原理 赤間世紀著 技報堂出版 2001
• 未来ねっと技術シリーズ 情報データベース技術9 鶴
保征城監修 社団法人 電気通信協会 2000
• リレーショナルデータベース教科書 斉藤孝著 ソフト・
リサーチ・センター 1999
• 最新SQL実践活用 ネットワーク時代の発達と適用技術
小碇暉雄著 株式会社テクノプレス 1998
27