2004年度前期 IT教育基礎論特論B

第8回: 情報の構造化とデータベース

概要と目標

■ 概要

コンピュータを利用してデータを保存、管理するための仕組みである ファイルとデータベースの違いを学習し、 また、目的に応じて各種データをデータベースにより効率よく管理するための データの構造化手法であるデータモデルについて学習するとともに、 なんらかのデータモデルに基づきデータベースを管理する仕組みである データベース管理システムの概要について学習する。

■ 目標

目次


講義内容

■ ファイルとデータベース

情報としてのデータを後から利用できるようにするためには、 何らかの形でこれを保存、蓄積し、 またこれを後から取り出せるように管理する必要がある。

□ ファイル

一般にコンピュータシステムでは、データの保存、蓄積にHDDなどの補助記憶を使用し、 複数のデータの列をファイルを単位としてファイルシステムにより管理する。

ファイルに対するデータの記録は任意の形式により行なうことができるが、 図1に示すように、複数の異なる内容からなるデータの列を繰り返し記録する場合、 一般に、個々のデータを項目(アイテム)、 異なる一連のデータの集合をレコードと呼ぶ。 すなわち、1つのファイルは複数の同種のレコードからなり、 また1つのレコードは複数の異なる項目からなる。

図1: ファイル構造の例

またファイルには、 シーケンシャルファイルとランダムファイルの2種類がある。 シーケンシャルファイルとは、データの保存や読み込みを ファイルへの先頭から順番に行なう必要のあるファイルである。 またランダムファイルとは、 ファイルの任意のレコードを直接アクセス可能なファイルである。

1つのファイルシステム上には、複数のファイルを保存することができる。 このとき、多数のファイルがファイルシステム上に存在する場合、 単純にファイルに名前をつけて保存すると、その管理が困難となる。 そこで、現在のファイルシステムでは、 図2に示すような木構造をなす階層的なディレクトリ(フォルダ)により、 同種のファイルごとに1つのディレクトリに分類し、保存する。

図2: ディレクトリ構造の例

ただし、どのようなディレクトリ構造とするかは、 使用するオペレーティングシステムによりおおよその指針はあるものの 明確に規定されているわけではなく、 どのディレクトリにどのファイルを保存するか、 またファイルにどのようなレコードや項目を記録するかは、 アプリケーション作成者や利用者自身が定義し、記憶している必要がある。

□ データベース

ファイルシステムによるデータの管理が、明確に構造化されていないのに対し、 データベースとは、複数のデータを何らかの方法で構造化し、 またデータ間の関係を定義したデータの集合である。

大量のデータを管理する場合、これを人手で行なうことは困難である。 例えば、データの参照や変更を行ないたいときなど、 どのデータがどこに保存されてするかを全て記憶しておくことは難しい。 また、新規データを追加する場合も、 それをどこに保存してよいか判断することは困難である。

これに対しデータの管理方法に関して予め何らかのルールを定義し、 これに基づきデータを構造化しておけば、 データの追加や削除、変更、参照などの管理が容易となる。 このように、明確に構造化され管理されたデータの集合をデータベースと呼ぶ。

■ データモデル

□ データモデルとは

データモデルとは、 データベースとして保存されるデータの集合において データ間の関係をどのように定義し、 またこれを管理するためにどのように構造化するか、 その手法の枠組みである。

データとは、もともと実世界に存在するなんからの概念(情報)を 記号化したものである。 すなわち、データベースとは、実世界の一部を (例えばコンピュータ上などに)マッピングしたものといえる。 従って、データベースにより複数のデータを管理するためには、 もととなる概念の関係に基づきデータ間の関係を自然な形で定義し、 またこれに対し検索や更新などの管理を効率的にできるよう 構造化することが要求される。

□ データモデルの種類

データモデルには、 データ間の関係や構造化の方法の違いにより様々な種類がある。 これまで提案されている代表的なデータモデルには、 以下のようなモデルがある。

階層型(ハイアラキカル)データモデル

データ間の親子関係に基づき、木構造によりデータ構造を定義するデータモデル。 これにより、複数のデータを階層的に分類し、効率よく管理することができる。 しかしながら、 異なるノードに分類されたデータ間の関係を定義できないといった問題がある。

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

複数の独立したデータをデータ間の関係に基づき ネットワークを構成するデータモデル。

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

異なる種類の複数の関連するデータを表(テーブル)形式により表現。 テーブルに対する操作は集合演算により規定され、 データの管理を厳密に行うことができる。 ただし、表に対する項目の追加が難しいなどの問題がある。

オブジェクト指向データモデル

管理対象をオブジェクトとして捉え、 付随するデータをそのオブジェクトの属性として定義する。 オブジェクトは階層的なクラスの概念に基づき上位のクラスを継承し、 上位クラスをもとに個別の属性を持つ下位クラスを定義することができ、 これによりデータ構造の再利用性が高い。 また、メソッドを定義することによりデータの処理方法も オブジェクトに定義することが可能。

半構造データモデル

階層型データモデルの一種といえるが、 各ノードが有するデータの構造を自由に定義できる、 柔軟性の高いデータモデル。 具体的には、XMLによるデータ構造がこれにあたる。

■ データベース管理システムと問い合わせ言語

□ データベース管理システムとは

データベースは、データをその関係に基づき構造化し、 ファイルシステム上に記録される。 このデータベースを管理するためのソフトウェアを データベース管理システムと呼ぶ。

□ データベース管理システムの機能

データベース管理システムは、 利用者からの要求に応じてデータ構造の定義や、 データの追加、変更、削除、参照を行う。 そのために、データベース管理システムでは、 一般に以下の機能を提供する。

メタデータの管理

データ間の関係や、これに基づくデータ構造を定義したデータをメタデータ呼ぶ。 データベース管理システムでは、利用者の要求に応じてメタデータを定義し、 管理する。

データの管理

データ構造およびデータモデルに基づき、 利用者の要求に応じてデータの追加、変更、削除、参照などの 具体的なデータ管理を行う。

質問処理

データベース管理システムに対する利用者からの要求を受け取り、 対応するデータ管理機能を実行する。

トランザクション処理

データベース管理システムに対する利用者からの要求をトランザクションと呼ぶ。 データベース管理システムによるデータベース管理では、 利用者が直接データにアクセスする替わりに、 データベース管理システムを介してデータにアクセスする。 そのため、利用者からの複数のトランザクションや、 マルチユーザ対応のデータベース管理システムでは、 複数の利用者からのトランザクションに対応し、 対応するデータ管理を行う必要があり、 そのための排他制御などのトランザクション処理を行う。

□ 問い合わせ言語

人、もしくはアプリケーションプログラムが、 DBMSを介してデータベースにアクセスするための言語。

例えば、RDBでは、データの各種管理のための手続きを定義。 ただし、現在では、データベース問い合わせ言語を 一般利用者が使用することはほとんどなく、 DB管理者や、データベースアプリケーション作成者が使用することが多い。

レポート課題

■ レポート課題1

以下のようなIT教育システムもしくはIT教育に関連するシステムと、 そのシステムで提供(使用)されるデータベースがあるとする。 各データベースは、それぞれ、どのようなデータモデルに基づき管理するとよいか、 理由を述べ、考察せよ(簡潔にまとめよ)。 ただし、1つのデータモデルによるとは限らない。

(1) コース管理システム

コース管理システムでは、 大学でどのような科目が開講されているかを管理する科目データベース、 また、各学生の履修状況の管理を行う履修状況データベースを使用し、 各データベースはそれぞれ以下のような内容となっている。

- 科目データベース

科目データベースでは、各科目を学部(研究科)、学科(専攻)により分類し、 さらに、その科目がどのような講義から構成され、 各回の講義ではどのような課題が出されているかを管理する。

- 履修状況データベース

履修状況データベースでは、各学生の学籍番号、氏名、 所属(学部(研究科)および学科(専攻))、連絡先を管理するとともに、 その学生がどの科目を履修している(した)か、 およびその成績(受講中の場合は受講中、 受講済みの場合はA、B、C、D)の種別を管理する。

(2) 図書検索システム

編集者、著者、書籍名、出版社、ISBNコード、 複数のキーワード(個数は固定)からなる各書籍に固有な二次情報と、 書棚番号、貸出中の有無、貸出日、利用者名からなる蔵書管理情報からなる 図書データベースを管理し、 二次情報から書籍を検索すると、該当する書籍があるか否か、 ある場合にはその書籍が置かれている書棚もしくは貸出中であるか否かを確認できる。

(3) オンライン博物館

オンライン博物館では、 博物館の展示物をインターネット上で閲覧できる形で提供する。 このために、各展示物をその種類により分類するとともに、 展示物の名称、オンラインで提供する画像、展示物の解説文章のほか、 様々な二次情報をデータベースにより管理する。 ここでいう二次情報は、その種別により共通なもの、 例えば生物標本であれば、 「目」や「科」など階層的に定義される種類名や生息地、 鉱物標本であれば組成や産出地、用途などのほか、 個々の展示物に固有な情報が想定される。

(4) 法曹育成用判例データベース

法曹(弁護士)を育成するために、過去の判例をデータベース化し、提供する。 各判例は、その判例の文書番号、判例が出た日付、民事/刑事の種別、 裁判所の区分(下級審、上級審)の属性を持ち、これにより検索ができるとともに、 検索結果として得られた判例から、 判例間の類似性、相反性などの関係に基づき関連する判例を検索できる。

(5) マルチメディア教材によるeラーニングシステム

動画像や静止画などの各種マルチメディアデータを授業の進行とともに提示し、 また、画面上で動画の再生や静止画の移動、 手書き文字(実際には文字ではなく複数の線分の組み合わせ)による解説を 組み合わせた授業内容をオンデマンドで取得し、 時間軸に沿って再生しながら閲覧できるeラーニングシステムとする。 このとき、各授業内容を構成するデータをデータベースとして管理する。

■ レポート課題2

IT教育のためにデータベース化すると良いと思われるデータを提案せよ。 ただし、どのようなデータをどのようにデータベース化し、 どのように利用するか、具体的に述べよ。

参考書籍、Web

  1. 橋本 洋志, 冨永 和人, 松永 俊雄, 小澤 智, 木村 幸男: 「図解コンピュータ概論」, オーム社, ISBN4-274-13108-4, 2,500円
  2. 情報処理学会編: 「情報処理ハンドブック」, オーム社, ISBN4-274-07853-1, 15,000円
  3. 増永 良文 著: 「リレーショナルデータベース入門」 サイエンス社, ISBN4-7819-0594-3, 2,400円

Last modified: Tue Jun 08 17:30:29 LMT 2004