pulpul 日本の試験

基本情報技術者 概念書 · データベース

データベース方式

要点と定義

データベースは、データを一定の構造で蓄積し、検索や更新に使う仕組みです。データの表し方や関連付け方によって、関係型、階層型、網型、キー・バリュー型、ドキュメント指向、グラフ型などに分けられます。用途やデータの形に応じて方式を選びます。

関係モデルでは、データを関係(リレーション)として表し、関係データベースでは通常、表に対応付けます。表の各行に相当するものがタプル、各列に相当するものが属性です。属性には名前があり、定義域(ドメイン)はその属性が取り得る値の集合です。定義域は文字列に限らず、数値や日付などにもなります。

関係モデルでは、属性の並び順は意味を持ちません。列を並べ替えても、属性名と値の対応が保たれていれば同じ関係です。一方、属性名は区別できる必要があります。また、異なる属性が同じ定義域を使っても構いません。

キー・バリュー型データベースは、値を一意に識別するキーと、そのキーに対応する値を組にして保存します。値の内部構造を柔軟に扱いやすい一方、表の列を指定して検索する関係データベースとはデータの取り出し方が異なります。

DBMS(データベース管理システム)は、データの定義・操作・制御などを担います。機密保護では、利用者ごとに参照や更新の権限を管理し、許可された操作に制限します。アクセス権限の管理は、データの整合性確認や同時実行制御とは目的が異なります。

ストアドプロシージャは、処理手順をあらかじめサーバ側のDBMSに格納しておき、クライアントから呼び出して実行する仕組みです。毎回の処理手順の送信を減らせるため、クライアントとサーバ間の通信量を抑えられます。

適用条件と例

表形式のデータで、属性ごとに値の型や範囲を定めたい場合は、関係モデルが適しています。たとえば「商品」表に商品番号、商品名、価格の属性を置き、価格の定義域を数値にします。画面上で価格列を先に表示するか商品名列を先に表示するかは、関係そのものの意味を変えません。

キー・バリュー型では、たとえば user:204 をキー、設定情報を値として保存できます。キーが利用者を一意に指す設計なら、そのキーで対応する値を取り出せます。逆に、値の中の特定項目を横断して検索する処理が多い場合は、キーだけで効率よく取得できるとは限らず、方式や追加の索引を検討します。

DBMSの機密保護では、閲覧担当者には参照権限だけを与え、更新担当者には必要な更新権限も与える、といった設定が考えられます。権限設定が不適切で、許可のない利用者にも参照権限を与えると、DBMSがアクセスを制限できず、機密保護につながりません。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む