|
関係データベース管理システム(かんけいデータベースかんりシステム)、リレーショナルデータベースマネジメントシステム()は、関係データベースの管理システムである。2007年の時点では、広く知られていてまた広く使われているデータベースのほとんどは関係データベースであったが、その後NoSQLが発展したため必ずしもそうとは言えなくなっている。 一定の人々は、関係モデルを煩雑であるなどとみなしているためか、RDBMSの簡単な定義として、「データを表の形式で永続化し、かつデータ間の関連もまた表の形式で永続化できるDBMS」と考えているようである。 関係データベースをオブジェクトデータベースと融合させたオブジェクト関係データベースなどといったものもある。その管理システムはオブジェクト関係データベース管理システムなどと呼ばれる (ORDBMS) 。 関係データベースの、標準の問い合わせ言語として SQL がある。 商用の RDBMS としては Oracle Database や IBM DB2 などが、オープンソースの RDBMS としては MySQL や PostgreSQL などが、広く知られている。ただし、これらの DBMS を 真のRDBMS と呼んで良いのかどうかについては、後述のとおり、議論の対象となっている。 == RDBMSの機能 == 以下に RDBMS の主な機能を示す。 ; データベース言語 : データベース言語は、DBMS に対してさまざまな指示を伝えるための言語である。概念的には、データ定義言語 (DDL)、データ操作言語 (DML)、データ制御言語 (DCL) の構成要素からなる。データ定義言語 (DDL) はデータベースの構造を定義する。データ操作言語 (DML) はデータベースに対する検索や更新などの操作を行う。データ制御言語 (DCL) はデータに対するアクセス制御を行う。RDBMS では、関係モデルに基づいたデータベース言語を備えている。RDBMS のデータ操作言語は、関係モデルの関係代数と関係論理に基づいている。RDBMS とされるシステムの多くは、データベース言語 SQL を備えている。 ; 物理的データ独立性 : データベースを格納する記憶装置を変更する際、それに伴って RDBMS にアクセスする方法を変更する必要はない。RDBMS にアクセスする利用者やアプリケーションソフトウェアに対して、RDBMS は記憶装置の変更を隠蔽することができる。 ; 論理的データ独立性 : RDBMS では導出関係 (ビュー) により論理的データ独立性を支援する。導出関係とは、関係代数もしくは関係論理の式に名前を付けたものである。導出関係は関係の一種であり、ビューとも呼ばれる。なおこれに対し SQL CREATE TABLE 文で定義するような基本的な関係 (テーブル) を基底関係という。また導出関係を使うことで、複雑な検索や更新などのデータ操作を簡略化して記述することができる。 ; データ完全性 : データ完全性は、不正なデータが登録されることや、不正なデータに更新されることを防ぐことをいう。RDBMS では、定義域・データ型・一意性制約 (ユニーク制約) ・参照整合性制約・一般制約 (CHECK制約) ・トリガ などの機能を備えている。 ; トランザクション処理 : ACID特性に基づいたトランザクション処理を行う。複数のユーザが同時に同一のデータを参照・更新した場合でも、矛盾なく正常に処理をこなす。 ; セキュリティ : ほとんどの RDBMS ではセキュリティ (機密保護) に関して任意アクセス制御もしくは強制アクセス制御を提供し、さらに一部の RDBMS ではデータの暗号化機能も提供する。多くの RDBMS では任意アクセス制御を採用している (SQLでは任意アクセス制御のみを規定している) 。SQL の任意アクセス制御においては、GRANT文により、利用者 (認証識別子) を指定して、その利用者がアクセスできるオブジェクト (関係など) 、およびアクセスの種類 (検索、更新など) を定義する。データ暗号化機能では、RDBMS を迂回した不正なデータアクセスに対する対策として、RDBMS で管理・送受信するデータを暗号化する。 ; 復旧 : トランザクション障害、システム障害、記憶媒体の障害からの復旧を行う。 ; 最適化 : データ操作言語 (DML) による、高水準な関係代数や関係論理で記述されたデータ処理要求を、低水準な手続きに最適化 (クエリ最適化) して実行する。 ; 分散データベース : 分散データベースは、ネットワークで接続された複数のコンピュータを使い、それぞれのコンピュータ上で DBMS のプロセスを協調させて動かし、全体として仮想的に一つの DBMS を実現する技術である。複数のコンピュータを使うため、可用性や処理性能を向上させることができる。クライアント・サーバのデータベースは、分散データベースの簡単で特殊な形態と位置づけることができる。 いくつかの RDBMS では、オブジェクト指向の機能拡張を行っている。 このような RDBMS は、オブジェクト関係データベース管理システム (ORDBMS) と呼ばれる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「関係データベース管理システム」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Relational database management system 」があります。 スポンサード リンク
|