ITパスポート試験 用語辞典
【Relational Database】かんけいでーたべーす
表を「テーブル」、行を「レコード」や「タプル(組)」、列のことを「属性」「カラム」「フィールド」などともいう。
現在では単にデータベースと言えば、関係データベースを指すほど広く普及している。
- 別名:
- RDB
- 分野:
- テクノロジ系 » データベース » データベース方式
- 出題歴:
- 26年秋期問74
- 重要度:
(Wikipedia 関係データベースより)
関係データベース(かんけいデータベース、リレーショナルデータベース、英: relational database)は関係モデル(リレーショナルデータモデル、後述)にもとづいて設計、開発されるデータベースである。
現在では、データベースという語が関係データベースを指していることが多い。関係データベースを管理するためのソフトウェアを関係データベース管理システム (RDBMS) と呼ぶ。
Oracle Database、Microsoft SQL Server、MySQL、PostgreSQL、DB2、FileMaker、H2 Database などのデータベース管理システム (DBMS) がサポートするのは関係データベースである。関係データベースに含まれないデータベースは、NoSQL などを参照。
関係モデル
関係モデル
関係モデルはIBMのエドガー・F・コッドによって考案されたE. F. Cood(1969) "A Relational Model of Data for
Large Shared Data Banks" IBM Research Laboratory, California. 全文:http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf現在もっとも広く用いられているデータモデルである。複数の関係(リレーション)を基本的なデータ型とする。データベースの利用者は、クエリ(問い掛け)をデータベースに与え、複数の関係を連結させてデータを検索したり、変更することができる。データは表に似た構造で管理され、複数のデータ群が関係(リレーション)と呼ばれる構造で相互連結可能である。関係は組(タプル、表における行に相当する)、属性(アトリビュート、表における列に相当する)、定義域(ドメイン)、候補キー(主キー)、外部キーなどによって構成される。SQLなどに代表されるデータベース言語(問い合わせ言語)を用いて、関係に対して制限・射影・結合・和・差・交わりなどの関係代数演算(集合演算を含む)ないし関係論理演算を行うことで結果を取り出す。
例
例えばある食品を扱う(架空の)通信販売会社における顧客管理データベースでは、顧客リストと物品販売リストは別々のデータ群であるが、顧客管理番号や顧客名などで連結して情報を抽出することが可能である。これを図表であらわすと、以下の通りになる。
- 食品通信販売会社におけるデータベースの例(※データは架空のもの)
例えばこの二つのデータ群を顧客番号で関連付け、顧客番号の代わりに顧客氏名のデータを要求すると、以下のような表になる。通販会社では、これを見て、顧客がどういう物を好むか判断して、新商品の案内を送ったらいいかが把握できる。
また販売日を050116(2005年1月16日)で限定して、顧客番号で関連付け、商品と送り先(顧客住所)のデータを要求すると以下のとおり。通販会社はこれを見て、箱に注文された商品を入れ、宅配便の送り状に宛先を記入して商品発送を行うことができる。
このように、目的に合わせてデータを連結させ、求める表を得ることができるのが関係データベースの最大の特徴である。なおデータを連結する際の目安となる項をキーと呼ぶが、このキーは、全てのデータに一貫して一意である必要がある。この例では顧客番号がキーであるが、同じ顧客番号で複数の会員が登録されていると、データの抽出に異常が発生する(実際はそのような不適切な重複キーを登録する時点で、クエリエラーとして返信されてくる)。
この様式は、相互のデータベースが別々に存在していることで、各々のデータベース内容の変更に対応させやすく、また相互連結をクエリによって行うことで、逐次的に部分的な登録内容の変更がなされても、随時最新の情報を利用できる点で優れている。上記の例で例えるなら、顧客番号00001の相田氏が引越しをして住所が変った際に、顧客データベースだけを変更して、再び各々の同じクエリ(問い掛け)をデータベースに送信すれば、住所変更後のデータに更新されたものが返信されてくることとなる。
例について(備考)
なお上記の例では、説明の便宜上で顧客データベースと販売データベースという2つのテーブル(上に述べたリスト状のデータ群)に分けたが、実際にこのような業務を行うデータベースでは、さらに商品リストのテーブルが別に設けられ、この商品データベースでは各々の商品定価などの情報が管理される(もっといえば、商品データベースも様々な要素でいくつものテーブルに分解されるだろう)など、いくつものテーブルが複雑に連携しあって利用者にデータを提供するよう設計される。これはテーブル上のデータが重複する冗長性を避け、よりデータを管理しやすくするためである。これらもやはりキーによって相互連結されて利用される。
一度きちんと設計されたデータベースでは、複数のクエリもあらかじめ定型文(定型クエリ)の形で用意され、利用者は何も考えずに用意された定型のクエリを投げ掛けることで、随時最新のデータを元にした表を見ることができる。
これが実際の業務に利用されるアプリケーションソフトウェアの形ともなると、グラフィカルユーザインターフェース (GUI) などの操作画面を持ち、利用者は画面上のボタンをクリックすることで、プログラム内部でクエリ文が組み合わせによって生成され、データベースに投げ掛けられ、戻ってきたデータをアプリケーション側で処理し、適切な画面上に表示されたり、表計算ソフトで開くためのファイル形式で答えが出力・提供されたりすることとなるため、最終的な利用者側ではクエリや関係 (リレーション) 等は全くと言ってよいほどに意識されていないことが多い。
出題例
- データとデータの処理方法を,ひとまとめにしたオブジェクトとして表現する。
- データ同士の関係を網の目のようにつながった状態で表現する。
- データ同士の関係を木構造で表現する。
- データの集まりを表形式で表現する。
正解
- 基礎理論(23)
- アルゴリズムとプログラミング(27)
- コンピュータ構成要素(32)
- システム構成要素(29)
- ソフトウェア(17)
- ハードウェア(14)
- 情報デザイン(21)
- 情報メディア(28)
- データベース(19)
- ネットワーク(71)
- セキュリティ(121)
このページのWikipediaよりの記事は、ウィキペディアの「関係データベース」(改訂履歴)の記事を複製、再配布したものにあたり、このページ内の該当部分はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下 に提供されています。