基本情報技術者試験
情報技術者試験まとめへ

技術要素(3)

データベース

データベース方式

データベース

データベースの特徴
名称説明
データの集中管理データの重複を取り除いて管理
矛盾なくデータ間の関係を保てる
データの同時利用データに対して、同時に操作(検索・変更等)可能。矛盾が発生しない
排他制御等の機能による
データの保全バックアップやリカバリ、障害復旧等、データの保全が容易に可能
バックアップ機能、ログ運用等の機能による
データの機密保護利用者ID、パスワードの利用で、アクセス権を設定可能
データとプログラムの独立データはプログラムと切り離し、独立管理
データ形式が変更されても影響が少ない
データベースの種類
リレーショナルデータベース
リレーショナル(関係)データベース

行と列からなる表の形式を持つデータベース。ここのデータは特定の関係を持たず、表の各項目を手掛かりとして表と表との関係付けをおこなう

ツリー(階層)型データベース

項目がツリー構造を形成するデータベース。親→子の関係を持ち、一対多の対応関係を持たせることが可能

ネットワーク(網)型データベース

複数の項目がお互いにリンクし合う形式のデータベース。子データは複数の親を持つことができ、多対多の関係を持たせることが可能 ツリー型・ネットワーク型

構造型データベース

データ同士に階層やつながりを持たせることで、データを管理するデータベース。階層型データベースや網型データベースは、構造型データベースのひとつ

その他のデータベース
名称説明
オブジェクト指向データベースオブジェクト指向の考え方でデータ(オブジェクト)を管理する
データベース
ハイパーテキストデータベーステキスト内にあるキーワードから別のテキストを関連付ける
ハイパーテキスト形式のデータを管理するデータベース
マルチメディアデータベース静止画像や動画像、音声などのデータを管理するデータベース
マルチメディアの種類を認識して管理する
XMLデータベースXML形式のデータを管理するデータベース
XML形式のタグの情報を認識して管理する

データベースの構造

データベースの構造を設計する考え方には、「データモデル」「3層スキーマ」がある

データモデル

データベースの各設計を完了した段階で作成されるデータ構造

名称説明
概念データモデルデータベースの概念設計を完了した段階で作成されるデータモデル。業務で必要なデータについてどのようなデータか、どのような関係にあるかを定義
論理データモデル
(外部モデル)
データベースの概念設計を完了した段階で作成されるデータモデル。概念データモデルに対して、表間の主キー、外部キーの関係等を詳細に定義
物理データモデル
(内部モデル)
データベースの概念設計を完了した段階で作成されるデータモデル。データの容量、使用頻度等を考量し、表の配置などデータの物理的構造を定義
3層スキーマ

3層スキーマとは、データベースシステムの基本的な構成を3つの構造により定義したもの。現在ほとんどのDBMS製品で取り入れられている。3層スキーマでは、各層が以下のように定義されている

名称説明
概念スキーマデータベースで管理する対象の定義。テーブルなど
外部スキーマデータベース利用者に必要なデータの定義。ビューなど
内部スキーマデータの物理的な格納方法。インデックスやデータファイル配置など

スキーマ
スキーマ

データベースに蓄積するデータそのものではなく、データの意味であるメタデータ、データの構造や操作のルールなどのこと

関係データモデル概念

関係データモデルは、行と列からなる表形式で表現され、表と表はリレーションシップで関連付けられている

定義域(ドメイン)

ある属性を共通に持つ、同じ種類に属するものの集まりのこと。属性が取り得る値のこと。属性にドメインを設定することにより、データベースの一貫性を保つことができる
例)郵便番号のドメイン:3桁の数字  −  4桁の数字
  メールアドレスのドメイン:英数字@英数字.英数字

データベース管理システム

データベースの管理、運用には「データベース管理システム(DBMS)」が必要となる。これはデータベースソフトウェアを用いて実現され、データを構造的に蓄積して一貫性を保ちながらユーザがデータベースをいつでも正しく利用できるようにする
データベース管理システムには、複数の利用者が大量のデータを共有利用する目的がある

DBMS
機 能説 明
データベース定義テーブル(表)、項目。インデックスなどデータベースの構造を定義する
データ操作データベースに対するデータ操作(検索、挿入、更新、削除)を統一する
同時処理
(排他制御)
複数のユーザが同時にデータベースを操作しても、データの矛盾が発生しないよういにデータの整合性を維持する
アクセス管理
(データ機密保護)
ユーザのデータベース利用権限を設定し、アクセス権のないユーザがデータにアクセスできないようにする
リカバリ処理
(回復機能)
ハードウェアやソフトウェアに障害が発生した場合でも、障害発生直前の状態にデータを復旧する
ログ管理リカバリ処理に必要となるログファイルの保存・運用を行う
運用管理データベースのバックアップとリストア、データベースの格納状況やバッファの利用状況など、運用に関するさまざまな機能を持つ
再構成データの追加や削除を繰り返したために生じる、データベースのフラグメンテーション(ディス上の使用領域の断片化)を解消する。データ操作を再構成(連続する領域に再配置)すると、データを操作する速度が改善する
バッファ

データを一時的に保存しておくメモリ上の領域のこと

データベース設計


データベース設計

データベースの概念設計

データの分析と抽出

システム化する対象業務に必要なデータを分s系・抽出する
(同じ項目は1つだけ抽出)

データの関連と整理

データの分析・抽出をもとに各データの関連を整理する
E-R図によってエンティティ(実体)とリレーションシップ(関連)を定義する

データベースの論理設計

データの正規化
関係データベースの概念
主キー

テーブルの中のある行と別の行を区別するために設定する項目。複数の項目を組み合わせて主キーにする(複合キー、連結キー)こともできる。同一フィールド内では重複のないものに設定する必要がある
NULL値は入力不可

外部キー

あるテーブルにおいて主キー以外の項目が、別のテーブルの主キーである項目

関連データベースの制約
名称説明
参照制約外部キーに存在する値が、参照される主キー側にも必ず存在するように、テーブル間の整合性を保つために設定する制約
一意性制約表の項目の値が重複せず、必ず一意になるようにする制約
非NULL制約表の項目の値がNULLにならないようにする制約
検査制約表の項目の値が設定した条件になるようにする制約

データベースの物理設計

考慮すべき点
項目説明
データ容量の見積各票の初期時、運用開始後のデータ量を予測し、データベース全体で必要となるデータ量を見積もる。各表をどのハードディスクに配置するかを見積もる
性能を考慮した設計アクセスが重なるデータ(利用頻度の高い表等)は、異なるハードディスクに分散する等、性能を考慮した設計を行う
危険分散の設計ハードディスクの障害に備えて、必要なデータの分散を図ったり、データを二重化したりして、万が一に備える

データベース正規化


データの正規化

データベースの応用

データを分析する技術

分析技術
名称説明
OLAP企業が顧客データや販売データを蓄積したデータベースを多次元的に解析し、視覚化するシステム
データマイニング小売店の販売データや電話の通話履歴、クレジットカードの利用履歴など、企業に大量に蓄積されるデータを解析し、その中に潜む項目間の相関関係やパターンなどを探し出す技術
利用されている業務システム
名称説明
企業会計システム企業の会計において、損益計算書や賃貸対照表などの会計に関する情報を管理するためのシステム
在庫管理システム企業で販売する商品の在庫量を最適に管理するためのシステム
文書管理システム企業などで扱う文書を効率的に管理するためのシステム
営業支援システム企業の営業活動を支援するシステム
データウェアハウス

通常の業務で利用しているデータベースから、大量のデータを整理して取り出して蓄積したデータのこと

分散データベース

複数のサーバに分散して置かれたデータベースをそれぞれのサイトまたは、サーバからあたかも単一のデータベースの如く取り扱えるようにしたもの

2相コミットメント

複数の分散データベースの更新では、サイト間通信に時間を要し、各DBのコミット処理に時間差が生まれ、すべてのコミット処理が終了する前に障害が発生する可能性がある。そこで、分散データベース間の整合性を保つためには、2相コミットメント制御が必要となる

レプリケーション

複数のデータベースの間でデータベース・オブジェクトをコピーし、管理する操作

データベースの透過性

データベースの分散を意識することなく、統一的なインタフェースによりアクセスすることが可能
(あたかも一つのDBのように利用できる←基本要件)

データ資源の管理

メタデータやリポジトリなどのデータ資源の管理が重要

メタデータ

データについてのデータ。あるデータそのものではなく、そのデータに関連する情報のこと

リポジトリ

データや情報、プログラムなどが体系立てて保管されている場所。アプリケーションやシステムの設定情報がまとめて記録されているファイルやフォルダのことや、複数の開発者が参加するプログラミング環境においてソースコードや仕様に関する情報をまとめて保管してくれるシステムなどを指す

IRDS(情報資源辞書システム)

データ資源のすべてを管理するデータベースのこと

 

ページトップへ 次へ