第１章 ファイルとデータベース

データの管理方法
ファイルの問題点
データベースによるデータの管理
データベースの種類
階層型データモデル
ネットワーク型データモデル
リレーショナル型データモデル
この章
この章のねらい
この章では、コンピュータを使った情報管理のしくみを紹介します。
ファイルとデータベースを比べることで、データベースで情報管理するメリットを理解します。

第 1 章 ファイルとデータベース■ データの管理方法
データの管理方法について
管理方法についてコンピュータが登場するまでは、データは台帳などの紙を用いて管理されていました。しかし、現代のように大量のデータを扱う時代では､コンピュータを用いたデータ管理が欠かせません。コンピュータを用いることにより、大量のデータを効率よく管理、活用できます。
コンピュータを用いたデータ管理の方法としては、おもに次の方法があります。
●

ファイルを用ファイルを用いたデータ管理
いたデータ管理業務アプリケーションに必要なデータを格納したファイルを OS（オペレーションシステム）のファイルシステム上に配置します。

●

データベースを用データベースを用いたデータ管理
いたデータ管理
データベース管理システムによって管理されたデータの集まりです。

【参考】参考】レコードとフィールド
コン ピ ュー タ ー で 管理1000

佐藤する各々のデータ

10
レコード

1010

鈴木フィールド

20

レコード内の各項目
3

第 1 章 ファイルとデータベース

コンピュータが利用され始めた頃のハードウェアは高価だったこともあり、コンピュータを使用できる業務は限られていました。従って、特定業務のためだけに専用のシステムを開発することも珍しくありませんでした。この場合、データは特定のプログラムのためだけに存在し、プログラム固有の「ファイル」を用意することでデータの管理を行なうことが可能です。
しかし、コンピュータで管理する業務の数が増えると、ファイルの数も比例して増えていきます。このため、さまざまな問題が発生するようになりました。

■ プログラム依存
プログラム依存プログラミングする際に、ファイルの物理構造を意識する必要があります。つまり、アプリケーションが用いるファイルの形式は、アプリケーションに依存しています。そのため、他のアプリケーションから利用できないことや、利用できてもデータの処理効率が悪くなるなどの問題が発生します。

10, 佐藤, 100

10 佐藤

20, 佐々木, 200

20 佐々木 200

形式はプログラム次第

4100

第 1 章 ファイルとデータベース■ データの重複データの重複プログラム依存の問題から、アプリケーションごとにファイルが用意されるため、類似したデータを格納したファイルが多数作成されることがあります。そのため、ファイル間にデータ重複が発生します。

10, 佐藤, 100

10 佐藤

20, 佐々木, 200

20 佐々木 200

データの重複人事管理アプリケーション

100

販売管理アプリケーション■ データの矛盾
データの矛盾データの更新をおこなう場合、データ重複の問題からデータの更新漏れが発生しやすく、全体としてのデータの一貫性を保つのが困難になります。また、重複データをすべて更新すると、処理効率の低下につながります。

10, 佐藤, 100

10 佐藤

100

20, 鈴木, 200

20 佐々木 200

一方だけ更新人事管理アプリケーション

販売管理アプリケーション

5

第 1 章 ファイルとデータベース

ファイルを用いた場合の問題点を解決するために、関連するデータを整理・統合して重複を省いた無駄のないデータ集合体が求められるようになりました。これを実現するのがデータベースです。
データベースとは次の特徴を持ったデータの集まりのことを意味します。

■ データ独立
データ独立
データ独立とは、管理されるデータが特定のアプリケーションに依存しないことを意味します。つまり、プログラムの修正が生じたとしてもデータを変更する必要がありません。逆に、蓄積されたデータに変更が生じてもプログラムを変更する必要はありません。データの格納場所（物理構造）をプログラムは意識する必要がないわけです。これを可能にするには、データ管理の部分を独立したソフトウェアとして扱い、アプリケーションから切り離します。
この際、データベース
データベース管理
管理システムシステムに管理されるデータされるデータのまりのことをデータベースとのことをデータベースと呼管理システムに管理されるデータの集まりのことをデータベースと呼びます。

6

第 1 章 ファイルとデータベース【例】ファイルを用ファイルを用いている場合
いている場合ファイル 1

業務処理 A

依存

データ管理

ファイル 2

業務処理 B

依存

データ管理

プログラムは、ファイルの場所、何バイト目かなどの情報が必要となります。
また、ファイルシステムは、複数のプログラムが 1 つのデータを同時にアクセスするしくみを持っていません。

【例】データベースを用データベースを用いる場合
いる場合
アプリケーション側はデータベース管理システムとのやり取りの方法を知っていればいい

業務処理 A

データベース

業務処理 B
データベース
管理システムアプリケーションから独立

データの格納場所は、データベース管理システムで管理されます。
また、複数のプログラムが同時に 1 つのデータを利用することも可能です。

7

第 1 章 ファイルとデータベース■ データの一元管理
データの一元管理
データベースでは、特定のアプリケーションに依存することなく、さまざまなシステムで共有できるデータを１つの場所で管理できます。これをデータの一元管理と呼びます。
人事管理システム

販売管理システム

勤怠管理システム

データ管理ソフトウェア

人事データベース

これにより、データの格納領域を効率的に使用できると同時に、データの更新漏れなどを防ぐこともできます。

8

第 1 章 ファイルとデータベース

データベースを作成するには、利用したいデータをモデル化して、コンピュータ上であつかえる形にしなければいけません。

データをコンピュータコンピュータ上であつかうことができるようにモデル化したものを「「データモデルデータモデル」」
このように、データをコンピュータ上であつかうことができるようにモデル化したものをびます。と呼びます。このデータモデルをもとにデータ構造が決定され、データベースが作成されます。データベースはもととなるデータモデルにより、以下の通りに分類されます。

●階層型データベース●ネットワーク型データベース●

リレーショナル型データベース

9

第 1 章 ファイルとデータベース■ 階層型データモデル
階層型データモデル
階層型データモデル
データモデル」」とはとは、データ間関係を親子関係」」を用いていて表現表現するものですするものです。
「階層型データモデル、データ間の関係を「親子関係表現するものです。親子関係とは、一つの親データ（上位データ）に対して、複数の子データ（下位データ）が存在するような関係のことです。
階層型データモデルで構成されたデータベースは、検索経路（アクセスパス）が階層構造と一致するものであれば、高速に検索をおこなえます。しかし、階層構造と一致しないものであれば、検索処理が複雑になってしまいます。さらに、階層構造を満たすデータ構造しかあつかえないという問題があります。
なお、階層型データモデルを採用したデータベースを「階層型データベース」と呼びます。

階層型データモデルの階層型データモデルの特徴
データモデルの特徴●

親子関係を満たすデータをあつかうことができる●

アクセスパスが固定になる定型処理などでは処理効率がいい●

アクセスパスが固定できない非定型処理ではデータアクセスが複雑になる10

第 1 章 ファイルとデータベース【参考】参考】バックマン線図
バックマン線図
先の階層構造図は、データ構造と実際のデータを記述していました。データ構造のみを表現する際には「バックマン線図」と呼ばれる図を用います。
バックマン線図では、実際のデータではなく、データの持つ属性をまとめた「レコード型」を用いてデータ構造をあらわします。

事業部部門

社員

11

第 1 章 ファイルとデータベース■ ネットワーク型
ネットワーク型データモデル
ネットワーク型データモデル」」とはとは、親子関係の構造にえて一つの子データに複数複数の「 ネットワーク型データモデル、親子関係の構造に加えて一つの子データに複数の親データをもつことを許したものです。
もつことを許したものです。
ネットワーク型データモデルを採用したデータベースはネットワーク型データベースと呼ばれますが、ネットワーク型データモデルは CODASYL（COnference on DAta SYstem Language：データシステムズ言語協会）提案の仕様に従っていることから「CODASYL 型データベース」と呼ばれることもあります。

ネットワーク型
ネットワーク型データモデルの特徴
データモデルの特徴●

ネットワーク型のデータ構造を用いることにより、階層型データモデルと比べ、より多様なデータアクセスが可能である●構造が複雑になりやすい●

アクセスパスが固定になる定型処理などでは処理効率がいい
事業部

部門

委員会

社員

12

第 1 章 ファイルとデータベース■ リレーショナル型
リレーショナル型データモデル「リレーショナル型データモデル」とは、関係代数をもとに考案されたデータモデルであり、2 次元次元ののいてデータ構造構造をあらわしをあらわし、関連するデータをするデータを表単位表単位にまとめますにまとめます。
表を用いてデータ構造をあらわし、関連するデータを表単位にまとめます。
他のデータモデルと比べて、構造が単純であつかいやすく、現在もっとも広範囲に用いられているデータモデルです。
また、リレーショナル型データモデルを採用したデータベースを「リレーショナルデータベース（RDB：Relational DataBase）」または「関係型データベース」と呼びます。
さらに、リレーショナル型データベースを拡張して、オブジェクト指向の概念を取り込んだ、「オブジェクトリレーショナルデータベース」なども登場しています。（巻末「付録１」参照）
列はデータの項目にあたります。列には列名やデータ型などが定義されています。また、行には 1 件分のデータが格納されています。表からデータを取り出すときや、データを更新するときなどは、各行に対して操作をおこないます。

リレーショナル型
リレーショナル型データモデルの特徴
データモデルの特徴●

表を用いてデータ構造をあらわすため、単純であつかいやすい●

アクセスパスが固定されないため、非定型処理にも適している

13