「データベース方式」カテゴリーアーカイブ

【応用情報・基本情報】
・データベースの種類,特徴,データベースのモデル,3 層スキーマの考え方を修得し,応用する。
・データベース管理システムの目的,機能を修得し,応用する。

【ITパスポート】
・データベース及びデータベース管理システム(DBMS:Database Management System)の意義,目的,考え方を理解する。

データベース方式

情報処理技術者試験での学習内容

【応用情報・基本情報】
・データベースの種類,特徴,データベースのモデル,3 層スキーマの考え方を修得し,応用する。
・データベース管理システムの目的,機能を修得し,応用する。

【ITパスポート】
・データベース及びデータベース管理システム(DBMS:Database Management System)の意義,目的,考え方を理解する。

(1)データベース ITパスポート 基本情報 応用情報

1.データベースの種類と特徴

代表的なデータベースの種類,データの表現構造,レコード間の関連付けの方法など種類ごとの特徴,与えられた要件に応じて最適なデータベースを選択し,設計に活用することを理解する。

用語例:関係データベース,構造型データベース,HDB(Hierarchical Database:階層型データベース), NDB ( Network Database : 網型データベース), CODASYL( Conference on Data Systems Languages ) 型データベース, OODB ( Object Oriented Database:オブジェクト指向データベース),オブジェクト関係データベース,ハイパテキストデータベース,マルチメディアデータベース,XML データベース

2.データベースのモデル

データベースでは,システムの利用者やプログラムから見たデータの定義,論理的なデータ構造,物理的なデータ構造の3 層を区別することでデータの独立性を高めていること,データモデルの種類,特徴,利点,各スキーマの表現方法,表現できる内容,特徴を理解する。

用語例:概念データモデル,論理データモデル(外部モデル),関係モデル,階層モデル,ネットワークモデル,物理データモデル(内部モデル),概念スキーマ,外部スキーマ(副スキーマ),内部スキーマ(記憶スキーマ)

3.関係データモデル

関係データモデルにおいて,データがどのように表されるのか,表の構成,考え方,複数の表の関係付けを理解する。また,与えられた要件に応じて,規定の表記法を使用してデータモデルを表現することを理解する。

用語例:関係(リレーション),タプル(行,組),属性(列,フィールド),実現値,定義域(ドメイン),E-R 図

(2)データベース管理システム ITパスポート 基本情報 応用情報

1.データベース管理システムの目的

DBMS の目的,代表的な機能とともに,DBMS にも階層型,網型,関係型があること,DBMS のマネジメント機能をデータベース開発や保守に利用することを理解する。

用語例:データベース定義機能,データベース操作機能,データベース制御機能,保全機能,データ機密保護機能

2.排他制御

複数の応用プログラムが一つのデータベースに同時にアクセスするときに必要な制御方法を理解する。

3.障害回復

データベースに障害が発生した場合の障害回復機能と回復手順を理解する。

4.データセキュリティ

データを共有する際に重要となるセキュリティ確保のための方法を理解する。

用語例:トランザクション,ロック,デッドロック,ACID 特性,データ辞書

データベース

この記事での学習内容 ITパスポート 基本情報 応用情報

  • 代表的なデータベースの種類,データの表現構造,レコード間の関連付けの方法など種類ごとの特徴,与えられた要件に応じて最適なデータベースを選択し,設計に活用することを理解する。
  • データベースでは,システムの利用者やプログラムから見たデータの定義,論理的なデータ構造,物理的なデータ構造の3 層を区別することでデータの独立性を高めていること,データモデルの種類,特徴,利点,各スキーマの表現方法,表現できる内容,特徴を理解する。
  • 関係データモデルにおいて,データがどのように表されるのか,表の構成,考え方,複数の表の関係付けを理解する。また,与えられた要件に応じて,規定の表記法を使用してデータモデルを表現することを理解する。

用語例:関係データベース,構造型データベース,HDB(Hierarchical Database:階層型データベース), NDB ( Network Database : 網型データベース), CODASYL( Conference on Data Systems Languages ) 型データベース, OODB ( Object Oriented Database:オブジェクト指向データベース),オブジェクト関係データベース,ハイパテキストデータベース,マルチメディアデータベース,XML データベース、概念データモデル,論理データモデル(外部モデル),関係モデル,階層モデル,ネットワークモデル,物理データモデル(内部モデル),概念スキーマ,外部スキーマ(副スキーマ),内部スキーマ(記憶スキーマ)、関係(リレーション),タプル(行,組),属性(列,フィールド),実現値,定義域(ドメイン),E-R 図

 データベースの種類と特徴

データベース

データベースとは、大量のデータをコンピュータで処理できるようにまとめて蓄積したものです。データは処理しやすい形に整理され、格納されています。

データベースには、次のような機能があります。

  • アプリケーションから独立している・・・色々なプログラムから参照できる。
  • データが統合されて一元的に管理される・・・データにムダ(冗長性)がない。
  • 排他制御の機能がある・・・複数の利用者が共有利用しても矛盾が起きない。
  • 障害時の復旧機能がある・・・データの信頼性が高い。

階層型データベース

階層型データベース(Hierarchical Database:HDB)は、外部スキーマとしては階層的な分類体系とみなすデータベースです。「構造型データベース」の一種とされています。

概念スキーマとしては、データ群を木構造で表します。順編成ファイルでは扱いにくかった分類体系を扱うことが容易です。アルゴリズムが基本的には簡潔で、かつ豊富に蓄積されているのが特徴です。

しかし、複数の分類の間の共通部分をまとめにくいという性質があります。また、一つのデータを探す手順は1通りしか存在しません。

ネットワーク型データベース

ネットワーク型データベース(Network Database:NDB)は、外部スキーマとして、階層的な分類体系において、異なる分類の間の共通の下位の分類や項目を持てるようにしたデータベースです。「構造型データベース」の一種とされています。

概念スキーマとしては、典型的には格子状のネットワーク構造になります。複数の分類の間の共通部分をまとめることが出来るのが特徴です。

しかし、自由度は高いが設計が複雑で利用効率が低くなりやすい面があります。

関係データベース

関係データベース(Relational Database:RDB)は、外部スキーマとしては、任意の関係を持つデータ群のデータベースです。

概念スキーマとしては行×列で構成される表(テーブル)が、外部キーによって相互連結されるという形で管理されます。処理は関係演算を基盤にすることによって、簡潔に指定されます。階層やネットワークなどの構造に制約されずに、様々な観点で扱うことが出来るため、利用者の視点で設計でき、構造が理解しやすいのが特徴です。

内部スキーマの処理は効率的とはいえませんが、コンピュータの性能が向上したので、関係データベースが主流になっています。

テーブルには、データがレコード単位に格納されます。各レコードは、いくつかのフィールドから構成されています。下図の例では、商品名や仕入先を関係演算用のキーにして、別の観点の表をユーザへ見せることができます。

オブジェクト指向データベース

オブジェクト指向データベース(Object Orientated Database:OODB)は、「データとそれらの処理方法を一つのオブジェクト」として捉えるデータベースです。

オブジェクト指向データベースは、テキストだけではなく、処理が複雑な画像、音声、動画などのマルチメディアの管理に向いています。

最近では、オブジェクト関係データベースというものも出てきています。

データベースのモデル

データモデルとは

データモデルとは、データベースの設計の各段階における設計の結果のことで、データの構造を表現したものです。

  • 概念データモデル:データベースの概要を設計したもの
  • 論理データモデル:概念データモデルを詳細化したもの
  • 物理データモデル:データモデルの実際の構造を設計したもの

スキーマ

スキーマとは、データベースの定義情報であり、データの枠組みに当たります。

データの項目、設計上の構造、見かけ上の構造、実際の物理的な構造などの情報群を指します。

3層スキーマ

3層スキーマは、データベースの様々なデータモデルを、3つの階層に分類したもので、以下のように分類されます。

外部スキーマ(副スキーマ)
利用者にとってのデータ群の構造。ユーザの見方で設計する。
概念スキーマの一部+利用者側の定義情報。
概念スキーマ(スキーマ)
設計上のデータ群の構造。データベース設計者の見方で設計したもの。
内部スキーマ(記憶スキーマ)
OSやハードウェア、DBMSなど、コンピュータ側から見たデータ群の構造。 実際にデータを格納するための、物理的な構造情報の定義。

3層スキーマの利点

3層スキーマを採用することで、以下のような利点があります。

  • データベースの定義の変更を局所化出来る。
  • 異なるDBMSや異なるOS上の同一DBMSへの移行が容易になる。
  • 階層的に捉えることで、ユーザに取っての外部スキーマを変えずに、異なるコンピュータに移行する際の手間を最小限にすることが出来る。

 

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

この記事での学習内容 ITパスポート 基本情報 応用情報

  • DBMS の目的,代表的な機能とともに,DBMS にも階層型,網型,関係型があること,DBMS のマネジメント機能をデータベース開発や保守に利用することを理解する。
  • 複数の応用プログラムが一つのデータベースに同時にアクセスするときに必要な制御方法を理解する。
  • データベースに障害が発生した場合の障害回復機能と回復手順を理解する。
  • データを共有する際に重要となるセキュリティ確保のための方法を理解する。

用語例:データベース定義機能,データベース操作機能,データベース制御機能,保全機能,データ機密保護機能、トランザクション,ロック,デッドロック,ACID 特性,データ辞書

データベース管理システム(DBMS)

データベースの操作や保管を行うためのソフトウェアを、データベース管理システム(DBMS:Database Management System)といいます。

DBMSには、データベースの定義機能や、データの検索、更新、削除などの操作、運用管理を行う機能があり、データベースを参照するアプリケーションソフトとデータベースの間を取り持ちます。

アプリケーションソフトは、必要なデータをDBMSを介して受け取ることが出来るので、アプリケーションソフト側でデータベースの構造に合わせた処理をする必要はありません。

また、DBMSは同時に複数のアクセスを受けた時の優先度を管理し、データの矛盾が起きないようにするので、複数の利用者がデータベースを共有利用することができます。

データベース定義機能

データベース定義機能は、データ群の構造であるスキーマを定義するためのDBMSの機能です。

ユーザはデータ定義言語(DDL:Data Definition Language)でスキーマを定義します。データベースの利用の準備作業に相当します。

データベース定義機能は、DDLの文を解釈して、データベース内部のスキーマを構築します。

データベース操作機能

データベース操作機能は、データベースの検索や更新をするためのDBMSの機能です。

ユーザはデータ操作言語(DML:Data Manipulation Language)の文で、個々の検索や更新を指定します。これは日常的な業務の作業に相当します。

データ操作機能はDMLの文を解釈して、データベースを検索して検索結果を表示したり、データベースを更新したりします。

データベース制御機能

データベース制御機能は、データのアクセス制御をするためのDBMSの機能です。データベース制御機能には、データ保全やデータ機密保護などが含まれます。

ユーザはデータ制御言語(DCL:Data Control Language)の文で、データのアクセス制御を指定します。

データ制御機能はDCLの文を解釈して、アクセス制御の方法を指定して、運用中に制御を続けます。

保全機能

DBMSの保全機能は、同時更新や障害に対してデータベースを保全するための排他制御や障害管理などの機能です。

データの正しさ(整合性)を保証するための機能で、版数管理や排他制御などがあります。

同時更新によるデータの矛盾

データベースを複数のユーザが共有利用する場合、同一ファイルの同一レコードに対する更新処理を、複数のユーザに同時に許可してしまうと、データベースの更新結果に矛盾が起きてしまう場合があります。

例えば、値が「200」であるデータをユーザAとユーザBが同時に読み取ったとします。
それぞれが、「読み取った値に対して100加算」という演算処理を行い、結果「300」を書き戻すと、遅いほうが速い方の結果を上書きしてしまい、本来「400」となるべきところが「300」となってしまいます。

排他制御

先述のような問題を防止するための機能が排他制御です。排他制御を行いたい場合、データを更新する前にそのデータをロックして、他のユーザがデータを読み書き出来なくします。そして、データを更新する際には、他のユーザがデータをロックしていないか確認して、ロックされている場合は、その処理が終わるまで待ってから処理を始めます。

デッドロック

排他制御を行っている場合、データを読み書きする順番によって、お互いがお互いのロック解除待ちになって、どちらも処理が継続できない現象が起こります。

これを回避するには、データを読み書きする順番を揃えるなどの工夫が必要となります。

 

データ機密保護

DBMSのデータ機密保護機能は、ユーザの認証・確認やアクセスの許可を行います。

障害回復

システムやプログラムの障害に対して、データベースを復旧するための機能です。出来る限り自動で復旧します。