1 / 28

第8章 データベースシステムの発展

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

helen
Download Presentation

第8章 データベースシステムの発展

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

  11. (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という変数名の値としてテキストボックスのデータが渡される)

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

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

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

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

  16. アプリケーションとDBMSのインターフェース ① DBMS, プログラミング言語別の専用インターフェース • 標準化されたインターフェース(例:ODBC)

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

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

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

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

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

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

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

  24. (b)XMLとデータベース XMLとRDBとの比較

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

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

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

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

More Related