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

データベースと動的コンテンツ

N/A
N/A
Protected

Academic year: 2021

シェア "データベースと動的コンテンツ"

Copied!
7
0
0

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

全文

(1)

データベースと動的コンテンツ

グループ2

1130293 相川 由樹

1130305 岩本 祥平

1130319 小笠原 一聡

1130322 尾崎 遼太

1130390 松田 佳介

1

データ

• データとは、オブジェクト(物体や事象)を表す値の集合である。 • コンピュータ上では、データはファイルとしてファイルシステム上に記憶し ていくものである • ファイルシステム • OSによるツリー上のディレクトリに個別に格納 問題点 • データの独立性 データに変更が生じた時にそれを利用するプログラムも 変更が必要 • 検索の容易性 先頭からの比較照合を行いながらデータを探す • データの重複 複数ユーザが一つのファイルに同時操作を行うと起こる • 障害対策 誤ったデータ入力を認識できない、物理的な障害(例:停電) に無防備など 2

データベースシステムのメリット

• データベースシステム • 定義したデータ形式のファイルをデータベースにまとめる形 改良点 • データの独立性 仕様変更に対応 • データの非重複 冗長なデータベースにしない • 同時処理 複数ユーザに対応 • 障害復旧 バックアップ 3

データベースの基本的な構成要素

–フィールド データを分割して値とした形 –レコード 数種類のフィールドをまとめた形 –キー 検索する際に用いるフィールド –主キー ユニークな値を入れるフィールド 学籍番号 氏名 年齢 性別 1130XYZ 矢倍実見 10万21歳 ニューハーフ レコード フィールド (主キー) (キー) 4

データベースシステム

データベースシステムとは データベースとデータベース管理システム (DBMS) をまとめたもの 5 ユーザ データベースサーバ DBMS (データベース 管理システム) データ ベース 操作 データベースシステム 5

データベースとは

•広義では、特定のデータをまとめた集合体

–例 電話帳、住所録など

•由来

情報(Data)の基地(Base)から

•システムとしてのデータベース

構造を与えたデータをひとつの場所に蓄積してまとめたもの

6

(2)

DBMS(Data Base Management

System)

DBMS とは、データベース中のデータを管理し、利用するた めのソフトウェアである。 •基盤となるデータ記述、操作 •データモデル、SQL(データベース言語)の利用 •データ処理の効率化 •木構造などの格納方式を利用 •データの一元管理 •整合性の維持 DBMSによるチェックが行われる •機密保護 •各ユーザの操作権限の規定を行う •同時実行の制御 •ロックなどの機構を用いて排他アクセスを提供 •障害回復 •バックアップ・リカバリ 7 8

データモデル

どのような構造でデータを管理するか

データを管理するために用いる構造

必要となる理由

データにアクセスする

不正なデータへのアクセスからデータベースを守る

データモデルの例

階層型データモデル

ネットワークデータモデル

関係モデル(リレーショナルモデル)

8 9

階層型データモデル

メリット

データを木構造で表している

→ 少ない時間で探索可能

デメリット

木構造に沿わないデータの管理には向かない

代表的な階層的データモデルの使用例

IBM社のIMS

9

ネットワーク型データモデル

子が複数の親を持つことが可能

複雑なデータ構造になってしまう=データの整理・一元化

が困難

1 0

リレーショナルデータモデル

の台頭

階層型にもネットワーク型にも問題点

E.F.Coddによって提唱

構造が表形式で単純

データ操作は数学的に行う

現在のデータベースモデルの中で最も普及

テーブル

リレーショナルモデル1

データを二次元の表形式で表したもの 表のことをテーブルと呼ぶ テーブルは複数の属性(アトリビュート)より構成 個々の値の組をタプルと呼ぶ 学籍番号 名前 専攻所属 研究室 1130305 岩本祥平

CC

1130322 尾崎遼太

CS

属性 組

(3)

リレーショナルモデル2

ドメイン(定義域) ある属性の値として取りうる値の集合 例 性別 男と女 情報学群の専攻 iH , iM , CC , CS 外部キー リレーションの属性値が常に別のリレーションの主キーのどれか の値 主キー 外部キー 主キー 受験番号 出身高校 住所 4649 布賀高校 ◎◎県◎◎市 18782 三菜頃市立高校 △△県△△市 学籍番号 名前 受験番号 1130xxx 単井暮 4649 1130www 貫井徹夜 18782 受験生の情報 学生の情報 13

SQL

リレーショナルデータベース管理システムとやり取りを行う

ためのデータベース言語

データの作成、操作、取得させるための言語

SQL実装の代表的オープンソースDBMS

MySQL

PostgerSQL

14

SQLの機能

制御機能

詳細

データベース定義

データを格納すべき表の定義

複数の表を関連づけるための規約や制約

データベースに必要な機密保護の宣言

データベース操作

表に対するデータの登録・修正・削除

複数の表の結合、ビュー表の作成などの集

合操作

表中のデータを検索

データベース制御

データベース利用者に対する権限の譲渡と

剥奪をします

15

静的SQLと動的SQL

静的SQL

プログラムソースコード内に直接SQL文を記述

埋め込みSQLとも呼ばれる

動的SQL

プログラムで動的にSQL文を生成し発行

静的 SQLと比べるとパフォーマンスは劣るが柔軟性が

高い

16

MySQL

Monty Wideniusが独自開発した、リレーショナルデータベ

ース管理システム

オープンソースのデータベース管理システムの中でシェア

NO.1

歴史

•1996年 自力で開発,6月には 公式リリース •2000年 MySQL AB 社設立 •2008年 サンマイクロシステムズが買収 •2010年 Oracleが買収 •2010年 最新版の MySQL ver.5.5.12 をリリース 17

MySQL

MySQLの特徴=ストレージエンジンの自由度

アプリケーションに合して複数のストレージエンジンを選択

ストレージエンジンとは

データを挿入・抽出・更新・削除などをするための基礎と

なるソフトウェア部品

18

(4)

データベースと

Webシステムの関係

1 9

Webシステムとは

•動的コンテンツを生成するプログラム

頻繁にデータの更新をWebシステムで行う

データベースを通すことが多い

理由

•データベースへのアクセスがSQLを通して行える

•データの一貫性や同時アクセスを委ねれる

Web上で扱われるコンテンツ

静的コンテンツと動的コンテンツに分類

20

静的コンテンツ

静的コンテンツとは

・HTMLファイルの内容の変更に合わせて、コンテンツも変更

・HTMLファイルを変更しないとコンテンツも変更されない

いつも同じもの

21

動的コンテンツ

・URLが同じでもリクエストに応じて内容の変更

検索エンジンサイト、掲示板、アクセスカウンタ など

動的コンテンツとは

22

動的コンテンツ

2種類のプログラム実行方法

・Webサーバ側でのプログラムの実行

・クライアント側でのプログラムの実行

CGIを介するもの SSIを利用するもの

SSI

〜Server Side Include〜

・NCSA HTTPDが最初に取り入れた

(5)

SSIを利用しての実行

Webサーバへの要求

WebサーバはSSI命令

検索と処理を行う

処理結果に置換して、

クライアントへ渡す

25

SSI

~Server Side Include~

・動的なコンテンツの生成に、コーディングが必要ない

・SSI用のコマンドを使うだけでよい

・さまざまな情報を柔軟な形で取り込める

・サーバの負担が大きくなる

・処理時間がかかるため、返されるのが遅い

メリット

デメリット

26

SSIコマンド記述例

SSIの書式はすべてHTMLのコメントの形式

<!--#command option=″…″-->

#config 以降の出力形式の指定

#include

他のファイルを取り込む

#echo

ファイル名、現在時刻などを表示

#fsize ファイルサイズ、最終更新日の表示

#flastmod ファイルサイズ、最終更新日の表示

#exec シェルコマンド、CGIを実行

27

CGI

~Common Gateway Interface~

28

・Webブラウザからの要求に応じてプログラムを起動する仕組み

・要求から新規プロセスを作成する

CGIを介しての実行

Webサーバへの要求

CGIがプログラムを実行

実行結果を渡す

クライアントで表示

29

CGI

・どのブラウザでも表示できる

・Webサーバにデータを保存するためデータ共有が可能

掲示板、チャットなど

・webサーバの負担が大きい

・常に変化し続けるページの作成ができない

アクションゲームなど

メリット

デメリット

30

(6)

クライアント側での実行

Webサーバへの要求

クライアントがプログラムを実行

クライアントで表示

(例:ダイナミックHTML(DHTML)、Javaアップレット)

Webページにアクセスすると自動でダウンロード

31

クライアント側で実行

何故?

・DHTMLはクライアント側のスクリプトのみ使用可能

(CSS、JavaScript等)

・Javaアップレットは、実行する際にWebブラウザが必要

32

• 何人ものユーザーがWebサーバ側でのプログラムの実行

→数が少なく大勢に共有されているサーバーに負荷をかける

利用例

その他、関連技術的用語

PHP

ECMAScript

-HTMLの作成を主観として作成された言語 -多くのブラウザに実装されているクライアント側の

スクリプト言語

33

PHP

 HTMLの作成を目的として作成された言語  特徴 データベースと組合わせた動的なコンテンツを含むページが作成可能 主要なデータベースシステムをサポート HTML以外の XMLドキュメント、グラフィックス、Flashアニメーション、PDFファイル などの生成も可能  利用例 Yahooや 楽天などのショッピングサイトで採用 34

PHP

HTMLページの中にPHPのコマンドを埋め込んだ形式 WebサーバがPHPのコマンドを処理→その出力内容をブラウザへ PHP利用の利点 CGI:プログラム呼び出しの度にプロセスを起動しなくてはならない →このデメリットを克服 →CGIと比較すると、実行速度が断然早い。 充実したエラー解析・出力の機能 これまでの動的Webページ作成過程に比べて、デバッグ性が大きく向上

まとめ(1)

データベース

データベースシステム

DBMS

データモデル

SQL

(7)

まとめ(2)

3 7

Webコンテンツ

静的コンテンツと動的コンテンツの2種類

Webサーバで実行とクライアントで実行 SSIとCGI それぞれのメリットデメリットあり サーバの負担を減らすため

課題

ApacheにてSSI、CGIが実行できる環境の設定

PHPの動作環境をサーバに作成

それぞれの技術で時間表示するプログラムを作成

また、技術的違いを考えよ

(SSI、CGI、PHP、ECMAScript)

CGIでカウンタプログラムの作成

CGIで動作する簡易掲示板をインストール

PHPで動作するpukiwikiをサーバへインストール

38

参考文献(1)

CGIプログラミング 第2版 Scott Guelich、Shishir Gundavaram、Gunther Biznieks 著 オライリー・ジャパン 2001/06/27 発行 オブジェクト指向データベース入門 宇田川佳久 著

株式会社ソフト・リサーチ・センター 1992/08/25 発行 データベースおもしろ講座 飯沢篤志、白田由香利 著

共立出版株式会社 1993/4/30 発行 Java&XMLデータアクセスガイド Dan Chang、Dan Harkey 著

株式会社翔泳社 2000/1/30 発行 データベースシステム 北川博之 著 株式会社昭晃堂 1996/7/10 発行 39

参考文献(2)

新・HTML&CGI入門 笹木望、太田晶宏、藤崎真美 共著 エーアイ出版株式会社 1996/12/6 発行 SQLプログラミング R.K.Stephens、R.R.Plew、B.Morgan、J.Perkins 共著 ソフトバンクパブリッシング株式会社 1998/10/28 発行

プログラミングPHP Rasmus Lerdorf、Kevin Tatroe、Peter MacIntyre 共著

オライリージャパン 2007/10/19 発行

40

すぐわかるSQL 朝井淳 著

株式会社技術評論社 2001/03/09 発行 続・HTML入門 第2版 Laura Lemay、Arman Danesh 共著

株式会社プレンティスホール出版 1998/08/20 発行

参考文献(3)

4 1 Web+データベースちょ~入門 栗林誠也 著 株式会社広文社 2001/08/01 発行 標準SQL 第2版 C.J.Date 著 株式会社トッパン 1990/07/20 発行 これだけはおさえたい データベース基礎の基礎 谷尻かおり 著 株式会社技術評論社 2006/01/10 発行 XML技術大全 Charles F.Goldfarb、Paul Prescod 共著

参照

関連したドキュメント

事務情報化担当職員研修(クライアント) 情報処理事務担当職員 9月頃

プログラムに参加したどの生徒も週末になると大

繊維フィルターの実用上の要求特性は、従来から検討が行われてきたフィルター基本特

LLVM から Haskell への変換は、各 LLVM 命令をそれと 同等な処理を行う Haskell のプログラムに変換することに より、実現される。

実習と共に教材教具論のような実践的分野の重要性は高い。教材開発という実践的な形で、教員養

016-522 【原因】 LDAP サーバーの SSL 認証エラーです。SSL クライアント証明書が取得で きません。. 【処置】 LDAP サーバーから

“〇~□までの数字を表示する”というプログラムを組み、micro:bit