データベースと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
© Copyright 2025 ExpyDoc