データベースとは

大量のデータを滞りなく管理するための仕組み。大量のデータを体系化し目的のデータを見つけやすくするための仕組み。

用途

データベースの種類

階層型

フォルダのツリー表示(マイコンピュータ→表示→エクスプローラーバー→フォルダ)やレジストリ(ファイル名を指定して実行→regedit)など。
いわゆる木構造(アルゴリズム勉強しようね)です。階層が深くなると目的のデータを探すのが大変。

ネットワーク型

網型とも言う。階層型では上から順番に辿っていくしかなかったがデータ同士が網目状につながっているため複数のルートからデータを探せる。

00776_tr.gif

リレーショナル型

表形式。この表はテーブルと呼ばれる。SQL文による柔軟なデータの処理が可能。
複数のテーブルを作りそれらを相互に連携(リレーション)させて1つのデータベースを構築する。
現在、最も一般的に使われている型。RDBMSという専用のソフトによって構築・運用される。
理論の背景には集合論・群論・述語論理がある。

vipperidvippername
1ブーン
2vipper
3(^ω^)

RDBMSを利用したアプリケーション

データベースの運用をRDBMSが行いアプリケーション側はSQLを送信してデータの処理を要求する。
SQLを受け取ったRDBMSはテーブルからデータを取り出しアプリケーション側へ送信する。
大規模なものはクライアント/サーバ方式で開発されアプリケーションはクライアント側で稼動しRDBMSが
稼動しているデータベースサーバと通信を行いデータの処理が行われる。
RDBMSが提供している機能はその気になればアプリケーションにも実装できるが
複数人が同時に操作した場合の対応、大量のデータの処理方法や実行速度、データのバックアップなど
克服すべき課題は多くそれはプログラマにとってとても大きな負担になる。
また大量のデータを管理するときにはいつも付いて回る問題でもある。
そこでこのような部分を共通化してRDBMSとしてアプリケーションから
独立させることにより信頼性が高まりデータの処理の効率も上がる。

オブジェクト指向型

未来派データベース!

分散型

あちらこちらに散らばっている様々なデータベースをネットワークを介して一つのデータベースとして使えるようにする。
構築・運用が頓雑になるものの障害時のリスクや負荷を分散させることができる。
データベース同士の型の違いやハードウェア構成・OSの違いなどを利用者側に
意識させないように様々な工夫を凝らさねばならない。これを透過性という。
現在ではリレーショナル型を基本として異なるRDBMS間でも相互に利用できるようにODBCJDBCといった手段が用意されている。

設計

概念設計と論理設計については例を示す。

概念設計

いったいどのような目的でデータベースを作るのか?何のデータを管理するのか?をハッキリさせる。
今回は図書館業務をシステム化するにあたって図書管理データベースを構築するという場面を想定する。

論理設計

どの型のデータベースで構築するのかを決めてそれに応じた設計を行う。

物理設計

論理設計に基づき実際に構築する。

正規化

リレーショナル型においてテーブルの構造を最適化するための方法。最適化されたテーブルを正規形という。

第1正規形

繰り返し項目の除去

第2正規形

関数従属

第3正規形

推移関数従属

第4正規形

第5正規形

ER図

論理設計の際にこれやUMLで図を描く。

トランザクション

デッドロック

関連項目

参考サイト

参考書籍


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS