データベース
■データベースの種類
特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出等の再利用を出来るようにしたもの。格納するデータをどのようにするかによっていくつかの種類に分類できる。
①階層型データモデル
データを木構造で表わしたモデルである。親データと子データが1対多である。コンピュータ内のファイルを管理するためのフォルダ構成など。
②ネットワーク型データモデル
階層型をモデルにしているが、親データと子データが「多対多」である。
③リレーショナル型データモデル
集合論における「関係(リレーション)」概念をもとに生み出されたものであり、現在最も広く用いられている。「関係」とは、2つの集合AとBの組合せの部分集合の事を指す。
■データベース管理システム
Data Base Management System:DBMS
①DBMSの特徴
| ①データの独立性 |
|---|
| データを管理する役割をアプリケーションプログラムから独立させ、DBMSで担うということである。仕様変更してもプログラムを変更する必要無し。 |
| ②重複の排除 |
|---|
| データベースとして情報を一元管理する為、データの重複を排除できる。 |
| ③一貫性の管理 |
|---|
| 同時に複数のユーザがデータベースにアクセスする事が出来るが、同時の書き込みや削除などもDBMSが制御する為、データの矛盾が発生する事はない。 |
| ④機密保持 |
|---|
| データベースのユーザのアクセスをDBMSによって制御できる。 |
| ⑤データ障害の回復 |
|---|
| データベースに何らかの障害が発生した場合でも、DBMSはこれを回復する為の手段をあらかじめ講じている。 |
②DBMSの機能
| ①データベース定義機能 |
|---|
| どのようなテーブル(表)を作成するか、テーブルにはどのようなフィールド(列)を用意するかなど、データを格納する為の枠組みを構築するという事である。 |
| ②データベース操作機能 |
|---|
| データ自体の検索・新規登録・削除・変更を行う機能である。 |
| ③データベース制御機能 |
|---|
| アクセス管理機能 様々なユーザがデータベースを利用する為、機密性の高いデータには、データベース管理者しか閲覧出来ない様にするなど、ユーザごとにアクセス権限を設定し、セキュリティを高める。 |
| トランザクション管理機能 トランザクションとは、システム内で関連する複数の処理を1つの処理としてまとめたものである。トランザクションを実現する為にデータベースが備えていなければならない基本性質として、ACID特性と呼ばれるものがある。 ア):原始性(A:atomicity) イ):一貫性(C:consistency) ウ):独立性(I:isolation) エ):持続性(D:durability) |
| 排他制御機能 データベースに書き込み処理を行う際に、データの整合性を保つために、何らかのデータの読み書きを一時的に制限する事。 |
| 障害回復機能 データベースに何らかの障害が発生した場合に復旧させる機能。ロールバックとロールフォワードがある。 |
■リレーショナルデータベース
①リレーショナルデータベースの概要
リレーショナル型データモデルを用いたデータベースである。最大の特徴は、データを複数のテーブルで表現し、SQLという言語を用いて数学の集合論に基づいた関係操作を行う事である。
| ①テーブル |
|---|
| テーブルは、リレーショナルデータベースの基礎概念で見出しと本体によって構成され、本体はフィールド(カラム、列)とレコード(行)から構成される。 |
| ②フィールド |
|---|
| 表形式のデータにおいて縦方向に区切られたデータの組で、レコードを構成するそれぞれの要素である。 |
| ③レコード |
|---|
| 表形式のデータにおいて、横方向に区切られたデータの組である。1レコードは、1件のデータに相当する。レコードは、データが増加するのに比例して増えていくが、フィールドは、テーブルの構造を変更しない限りは不変である。 |
| ④主キー |
|---|
| レコードを1行ずつ識別する為のフィールドの事であり、重複して同じ値を持たせる事は出来ない。主キーは、必ずしも一つのフィールドだけにあるとは限らず、複数のフィールドを組み合わせて主キーにする場合もある。 |
■リレーショナルデータベースの構造
①スキーマ
スキーマとは、データベースに蓄積されるデータそのものではなく、データの意味やデータの構造、操作のルールなどをいう。
| ①外部スキーマ |
|---|
| 利用者側から見たデータ構造やデータの指定方法などを表わすものである。ビュー表に相当する。具体的には、帳票や画面表示等におけるデータ構成である。 |
| ②概念スキーマ |
|---|
| データを構成する属性や関係を表わしたものである。実表(テーブル)に相当する。 |
| ③内部スキーマ |
|---|
| コンピュータや記憶装置上へ記録するデータの物理的な配置構造を表わすものである。インデックスに相当する。インデックスとは、物理ファイルとして定義されたデータを効率的に検索・結合させる仕組みである。 |
②E-Rモデル
E-Rモデルとは、モデル化対象(実世界)を「実体(Entity)」とその「関連(Relationship)」に焦点を当てて抽象化し、静的な概念データモデルを記述するものである。
| ①実体(Entity) |
|---|
| システム化の対象として定義したものである。概念スキーマにおける1つ1つのテーブルに相当する。 |
| ②属性(Attribute) |
|---|
| 実体の特性として定義したものであり、実体が持つデータ項目に相当する。テーブルにおけるフィールドに相当する。 |
| ③関連(Relationship) |
|---|
| 実体と実体の関係を示したもの。 |
③正規化
正規化とは、データベースの概念スキーマを設計する際の技術である。データの繰り返しや重複する部分を取り除き、シンプルで整合性を持った複数のテーブルを設計する事である。データの一貫性を確保したり、効率的なデータアクセスを実現したりするために重要である。正規化にはいくつかの段階がある。
| ①非正規形 |
|---|
| 正規化が行われていないデータベースは、データ領域を余計に消費し、パフォーマンスにも悪影響を与える。 |
| ②第1正規化 |
|---|
| フィールドの繰り返しグループを分離し、独立したレコードにする事。 |
| ③第2正規化 |
|---|
| 主キーの一部から特定できるフィールドを別のテーブルに分離する事。 |
| ④第3正規化 |
|---|
| 主キー以外のフィールドで特定できるフィールドを別のテーブルに分離する事である。また、計算で求められるフィールドがある場合は、そのフィールドを削除する。 |
これらの各テーブル及びそれらの関係が、リレーショナルデータベースの概念スキーマとなる。
■データベース言語
①SQL
リレーショナルデータベースに対応したデータベース言語は、SQLという。クエリとは、データの検索や更新などの命令をDBMSに発行する事である。SQLは、ISO及びJISにおいて規格化されており、現在ではリレーショナル型データベースの事実上の標準として位置づけられている。
| ①データ定義言語 |
|---|
| ア)CREATE:テーブルの作成 イ)DROP :テーブルの削除 ウ)ALTER :テーブルの変更 |
| ②データ操作言語 |
|---|
| ア)SELECT:データの抽出・参照 イ)INSERT:データの挿入 ウ)UPDATE:データの更新 エ)DELETE:データの削除 |
| ③トランザクション制御 |
|---|
| ア)COMMIT :トランザクションの確定 イ)ROLLBACK:トランザクションの取消 ウ)GRANT :特定の作業を行う権限を与える |
■関係演算
データベースに登録されたデータ抽出・参照したい場合は、SQLのSELECT句を用いる。SELECTに続けて参照したい列名、さらにそれに続けてFROMと参照すべき列の存在する表名を記述する。主な操作には、射影・選択・結合の3つがある。
| ①射影 |
|---|
| 射影とは、テーブルから特定のフィールドを取出す操作。 ・SELECT [フィールド名] FROM [テーブル名] 複数のフィールドを取出したい場合は、フィールド名の後にカンマをつけて、次のフィールド名を指定する。 |
| ②選択 |
|---|
| 選択とは、テーブルから特定のレコードの値を取出す操作 ・SELECT * FROM [テーブル名] WHERE 抽出条件 (*は、全てのフィールドという意味) |
| ③結合 |
|---|
| 結合とは、複数のテーブルを主キーと外部キーを使って関係づける事である。 外部キーとは、その表の主キーではないが、他の表の主キーと関連付けられるフィールドの事である。 |
【裏ワザ】覚えやすいメールアドレスでEメール上級者の仲間入り!

