第8章 データベースシステムの発展 8.1 オブジェクトリレーショナルデータベース 8.2 分散データベース 8.3 インターネットとデータベース.

Slides:



Advertisements
Similar presentations
XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
Advertisements

Oracle Application Express アーキテクチャ. © 2009 Oracle Corporation アーキテクチャ概要 データベース 9iR2 、 10g 、 11g 、 XE 内に統合 メタデータ駆動型 APEX リスナー、組込みゲートウェイ、または ModPLSQL を使用.
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
ASP入門 - Windows 2000 Server 活用 -.
IIS 4.0で開発をするコツ Webアプリケーション構築.
WWW のおはなし 神戸大学理学部地球惑星科学科 4 回生 佐伯 拓郎 (地球および惑星大気科学研究室) 藤田 哲也 (宇宙物理学研究室)
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
ネットワークを利用した 環境情報データ自動収集 サーバシステムの開発
第3回参考文献発表 PHP言語 岩永逸平.
情報理工学部 情報システム工学科 3年 H 井奈波 和也
NC-2 情報通信基礎実験 WEBデザイン基礎実験 (2日目) 担当:清水,田代 副手:浦辺,石井.
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
背景 我々の研究室で開発しているJavaプログラム解析フレ ームワークでは,解析情報はメモリ上に保持される 問題点
PHPエディタによる 情報システム演習 01.
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
WWW (=World Wide Web)とは
JavaServlet&JSP入門 01K0018 中村太一.
Webアプリケーション.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
第4回 個人の動画配信補足のためのWeb構築
「まめだくん Ver.1.0」 特徴と利用方法.
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
情報科学1(G1) 2016年度.
Perlを用いた 学内専用アップローダの作成
HTTPプロトコルとJSP (1) データベース論 第3回.
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
Webを利用した授業支援システムの開発 北海道工業大学 電気電子工学科 H 渋谷 俊彦.
セマンティクスを利用した 図書検索システム
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
HTTPプロトコル J2EE I 第7回 /
Day3 Day4 Day3 Day4.
JSPの作成 J2EE II 第3回 2005年4月10日.
XSL-FO + MathML MathML表示、PDF生成、SVG生成
データベース設計 第9回 Webインタフェースの作成(1)
実際にたたいてAPI APIの初歩からプログラムまで使用方法のAtoZ.
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
11.Webサイトとデータベース, Webサイト+ブログシステムの開設手順例
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
Webアプリケーションの方向性 データベース論 第13回.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
制作技術ー3 双方向通信 : CGIシステムと環境変数
コンピュータ概論B ー ソフトウェアを中心に ー #09 データベース (後編)
JAVAについて 高橋 雅哉.
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
XMLゼミ 1.3 XML文書の表示 1.4 XMLの役割 1.5 XMLとプログラミング M2 正木 裕一.
端末およびサービス透過的な 情報閲覧支援システムの構築
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
クリアリングハウスと 空間データ交換システムの連携 - メタデータとXML - 平成11年2月10日 (株) NTTデータ 情報科学研究所
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
XML Schema (1) ソフトウェア特論 第3回 /
~let's take fun when you can do it~
JSFによるWebアプリケーション開発 第3回
XMLゼミ 3.5 DTD M2 正木 裕一.
3-1.文書と構造 3-2.整形式文書と検証済み文書 兒玉 光太郎
情報コミュニケーション入門b 第11回 Web入門(2)
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
独習XML ~第1章 XMLの基礎~ 1.1 XML文書の基礎 1.2 XMLとHTML
Z39.50プロトコルによる日本語書誌データ情報検索システム
JSPの基本 J2EE I (データベース論) 第8回 /
第2回 Webサーバ.
MVCモデル2による Webアプリケーション
Presentation transcript:

第8章 データベースシステムの発展 8.1 オブジェクトリレーショナルデータベース 8.2 分散データベース 8.3 インターネットとデータベース

8.3 インターネットとデータベース 1.Webとデータベース (a) Webの普及とデータベース 1991年、商用に使用できない制限(AUP : Acceptable Use Policy)が外されてから、研究者・技術者以外の一般の人の利用が普及してきた。 今や、個人ユーザやビジネスに欠かせない存在 世界中の情報間を行き来することが可能(Webの利用) 企業内ネットワークとしてのイントラネット ビジネスへのインターネットの応用

データベースとの関連 Webの情報そのものもデータベースの一種と考えることができる。 検索エンジンは情報検索のツールであるが、データベースの検索とはかなり異なっている。 インターネット上の機密保持機能は不十分なので、信頼性確保はDBMSで行い、Webサーバとのインターフェースをとる機能が開発されている。

(b)Webを用いたアプリケーション Webのシステム構成 クライアント側 サーバ側 Web サーバ (IIS, Apacheなど) Web ブラウザ Web ページ

サーバ側でプログラムを実行させる方法(その1) CGIを用いてWebサーバと別のプロセスを起動して プログラム実行 クライアント側 サーバ側 要求により起動 Web ブラウザ Web サーバ CGI Program HTML

サーバ側でプログラムを実行させる方法(その2) Webサーバに組み込まれたモジュールとして同一プロセスとして実行する、 クライアント側 サーバ側 要求により起動 Web サーバ内 モジュール Web ブラウザ Web サーバ

サーバ側でプログラムを実行させる方法(その3) Webサーバとは別のプロセスを起動しておき、Webサーバから要求を受けてプログラムを実行 クライアント側 サーバ側 要求 Web ブラウザ Web サーバ Program HTML

CGIを用いる方法 CGIはどのWebサーバでも使用できる。 Perlなどのスクリプト言語やC言語など、一般のプログラミング言語を使用できる。 要求ごとにプロセスが起動されるのでオーバヘッドが大きいので大規模なアプリケーションには向いていない。

Webサーバのモジュールとして実行する方法 スクリプト言語PHPやRubyなどが使える。 CGIに比べて高速な処理が可能である。 PerlをWebサーバのモジュールとして組み込むこともできる。

Webサーバと別のモジュールを常駐させる方法 Java Servlet, JSP, ASP.NET等がある。 どのWebサーバでも利用できるとは限らない。 効率が良いとともに大規模アプリケーションプログラム開発も可能である。

(c) プログラムとHTMLの記述方法 <html> <head><title>CGIの呼び出し</title></head> <body> <form method="GET" action="cgiprog.cgi"> <p>入力データ <input type="text" size=20 name="indata"></p> <p><input type="submit" VALUE="OK"></p> </form> </body> </html> 2番目のOKボタンをクリックすると、actionで指定されたプログラムが起動され、indataという変数名の値としてテキストボックスのデータが渡される)

実行結果をWebに表示させる方法 ①プログラムのprint文等にHTML を埋込み、それを表示する。(CやPerlの方法) ②HTML文書の中にプログラムを記述する。(PHPやRubyの方法) Webを記述するほうが簡単なのでPHPがよく使われる。 Web-データベース連携など特定目的のプログラムの場合、HTMLタグを拡張し、HTML内に直接処理を記述する方法がある。

MTMLとプログラムを混在させる方法 Webデザインとプログラムの混在によって、 大規模プログラムの場合は複雑になってしまう。 混在したプログラムから通常のプログラムを呼び出して実行する。 JSPのページからJavaBeansのプログラムを利用する。

(d) Web-データベース連携 【最も単純な方法】 入力画面と出力画面を用意し、入力画面で入力したテキストをSQLの問合せとする。 一般ユーザにとって使いやすいとは言えない。 ①グラフィカルな入力画面を用意する ②動作指示のためのボタンを用意する。 etc.

形態上は、サーバ上でのアプリケーションの起動と同じ 通常の利用方法 ① ユーザがWeb画面から何らかの指定を行うことでアプリケーションが起動される。 ② アプリケーションからDBMSにアクセスする。 形態上は、サーバ上でのアプリケーションの起動と同じ

アプリケーションとDBMSのインターフェース 標準化されたインターフェース(例:ODBC)

ODBC( Open Database Connectivity) ① 同一コンピュータ内だけでなくネットワーク経由でも利用可能。 ② Javaでは各所のDBMSの利用を可能とするためJDBCが標準として用意されている。 Application 1 Application 2 Application n ・・・ ODBC API ODBCドライバ・マネージャ(ODBC.DLL) DBMSドライバ DLL(SQL Server) DBMSドライバ DLL(Oracle) DBMSドライバ DLL(Sybase) ・・・ (SQL Server) (Oracle) (Sybase)

2.XMLとデータベース (a) XMLの概要 Extensible Markup Language and Data Base <?xml version="1.0" encoding="Shift-Jis" ?> <!DOCTYPE 学生データ[ <!ELEMENT 学生データ(学生)> <!ELEMENT 学生(氏名, 性別, 体格データ)> <!ELEMENT 氏名(#PCDATA)> <!ELEMENT 性別(#PCDATA)> <!ELEMENT 体格データ(身長, 体重)> <!ELEMENT 身長(#PCDATA)> <!ELEMENT 体重(#PCDATA)> ]> <学生データ> <学生><氏名>加藤哲哉</氏名><性別>男</性別> <体格データ><身長>172</身長><体重>63</体重></体格データ> </学生データ> XML宣言 DTD 本文

もうひとつの例 DTD <?xml version="1.0" encoding="Shift-Jis" ?> <!DOCTYPE 書籍データ[ <!ELEMENT 書籍データ(書籍)> <!ELEMENT 書籍(書名, 著者 +, 出版社)> <!ELEMENT 書名(#PCDATA)> <!ELEMENT 著者(氏名, 所属)> <!ELEMENT 氏名(#PCDATA)> <!ELEMENT 所属(#PCDATA)> <!ELEMENT 出版社(#PCDATA)> <!ATTLIST 書籍 種類 CDATA #REQUIRED)> ]>

もうひとつの例 本文 <書籍データ> <書籍 種類="教科書"> <書名>電気通信技術入門</書名> <著者><氏名>山田豊</氏名> <所属>○○工業大学</所属></著者> <著者><氏名>林昭三</氏名> <所属>○×大学</所属></著者> <出版社>ゆたか創造舎</出版社> </書籍> </書籍データ>

スタイルの記述 ①HTMLにおけるCSSでもスタイルを記述可能。 ②XSLで書式情報付き文書に変換できる。 (ここではデータベース的側面に関する話題が中心なので詳細については省略)

XML文書の検索 ① XML文書は木構造になっているので、文書の一部を探したり、特定の場所を指示するためにXPathを用いてルートから該当ノードまで検索できる。 ② タグ名でデータ種類を指定できるので、SQLに類似したXQueryという言語が用意される。

XMLに関する傾向 特定業界や特定商品に関する情報のXMLによる標準化を行う動きが盛んになってきている。 XMLを用いたB2B商取引環境が整備されつつある。 定型的なデータベースと非定型的なドキュメントデータベースをXMLで統合化できる可能性も秘められている。

(b)XMLとデータベース XMLとRDBとの比較 RDB XML スキーマ DTDやXMLスキーマ データ本体 XML文書 問合せ言語 XQuery データ構造は表形式なので、複雑なデータを表現するには複数の表が必要。 もともと文書記述に適した形式を目指しているので、自由度の大きい木構造である。 構造化データを扱う。 半構造化データを持つ。 データ型の宣言やデータの制約条件などの機能がある(オブジェクト指向の導入) データ型の宣言機能が不十分である。 データベース管理機能を持つ。 通常のファイルに格納される。

XMLをRDB格納する方法 ①非構造化格納法 XML全体を1つのデータ項目としてテキストとして格納。 ②構造化格納法 XML文書のスキーマに応じて、関係に対応させ、データを意味のある単位に分解して格納。 ③ハイブリッド方式 非構造化格納法と構造化格納法を併用する。 ④木構造格納法 XML文書は木構造なので木のノードや枝に着目して関係を作成し、文書を分割して格納する。

格納方法の選択条件 ①通常の文書に近いXML文書は、非構造化格納法かハイブリッド方式が適している。 ②内容がデータ中心の場合、可能であれば構造化格納法が適している。

XMLのRDBへの格納例 ISDN 書名 種類 出版社 9784904551XYZ 電気通信技術入門 教科書 △○出版 著者ID 氏名 所属 <書籍データ> <書籍 種類="教科書"> <書名>電気通信技術入門</書名> <著者><氏名>山田豊</氏名> <所属>○○大学</所属></著者> <著者><氏名>林昭三</氏名> <所属>○×大学</所属></著者> <出版社>△○出版</出版社> </書籍> </書籍データ> XMLのRDBへの格納例 <書籍> ISDN 書名 種類 出版社 9784904551XYZ 電気通信技術入門 教科書 △○出版 <著者> <書籍の著者> 著者ID 氏名 所属 000001 山田豊 ○○大学 000002 林昭三 ○×大学 ISDN 著者ID 9784904551XYZ 000001

(XMLとRDBのまとめ) ①Web-データベース連携によるXML利用が重要。 ②XMLを中間言語とすることで、データベースを扱うアプリケーション作成が容易になる。 ③業界や商品ごとに共通化したXML形式を使うことでアプリケーションを連携させることが容易になる可能性が高い。