• ベストアンサー

RDBとRDBMSの違いは何!?

RDB(リレーショナルデータベース)とRDBMS(リレーショナルデータベースマネージメントシステム)の違いは何なのでしょうか? RDBは単体ではデータを関連付けて保存することしかできなくて、そこから条件に合ったデータを抽出したり検索したりするのがRDBMSという事なのでしょうか? 今まで同じ意味だと思っていましたが、 (例) (PostgreSQLをインストールするだけで、データを関連付けて保存できて、抽出も検索もできる) この認識は間違っているのでしょうか? 基本的なことで申し訳ございませんが、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.4

 このふたつの言葉の違いを、説明するなら・・・MS(マネージメントシステム)の部分の差ですね。  こう考えてみればよいかもしれません。  データベースという世界があります。これは、データを関連づけて保存し、後で検索・運用するためのシステムに関する全般を指す言葉です。(世の中にあるデータベースはリレーショナルデータベースだけではありません。他にもいっぱいあります。)  データベースの機能を実現するための理論の一つがRDB(リレーショナルデータベース)です。これは、データを表の形で表し、それを保存・検索するための手段を表した理論です。(例えば、通信の世界のプロトコルとか、プログラミングの世界におけるアルゴリズムとかと対比させるとわかりやすいかな?)  理論は、実際のコンピュータに実装しないと、役に立ちません。RDBを実際に実装したもの・または稼働しているRDBを動かすためのプログラムセットをRDBMSと言います。世の中で稼働しているオラクル・SQL SERVER・MYSQLなどが、この一例です。  まぁ、普通は、こんなに厳密に言い分けることも少ないでしょうし、RDB=RDBMSでも、大きな問題は無いです。あなたが、理論書を書こうとしているなら別ですけどね。

otyobi1985
質問者

お礼

なるほど!この回答が1番聞きたい所でした!ありがとうございました!!!

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

#2です。誤解させる可能性があるので、#2の説明を一部訂正します。 #2回答の3行目 RDBを管理するのがRDBMSであり、次のような機能が最低限、備えられます。 ↓ しかし、本来のデータベースは、表形式やカード形式などのような単純なものではありません。 RDBは多様なデータの管理が可能で、そのRDBを管理するのがRDBMSであり、次のような機能が最低限、備えられます。

otyobi1985
質問者

お礼

補足ありがとうございます!(^^)

すると、全ての回答が全文表示されます。
回答No.2

表計算ソフト等の普及で、単に情報を収集整理したものを、「データベース」と呼ぶ人、サイト、雑誌があります。 そういったデータベースを表の形式で表し、関連付けしたものをRDBと呼ぶ人、サイト、雑誌もあります。 RDBを管理するのがRDBMSであり、次のような機能が最低限、備えられます。 (1)DB定義とアプリの独立 ・・・ビューなどで必要な部分だけ見せられるし、アプリ側は(基本的な操作では)ビューで見える部分だけを意識すればよい。 列の追加や削除、列のデータ型の変更等があった場合、その部分を参照していないアプリには影響しない。 (2)DMLでの操作が可能 ・・・リレーショナル型であればSQL、構造型(階層型、ネットワーク型DBの国際標準規格)であればDMLで、DB操作が可能。 つまり、ファイル操作でのオープン&クローズ、割り当て、例外処理などを、アプリ側で行う必要がない。 (3)排他制御 ・・・同時実行時による不整合を防止。 どういった単位(表、ページ、行など)で、どういった区間(接続中、1SQL実行中、1行の操作中だけなど)、どういった強さ (他人には参照さえも許さない、他人には更新中の行など以外は参照を許す、更新してても参照を許すなど)で排他制御 するかといった選択が可能 (4)トランザクション ・・・複数の表や行を更新した場合で、何らかの障害が発生した場合、すべての更新を有効にしたり無効にしたりできる (5)障害回復 ・・・チェックポイントダンプ、更新ログを取得し、DBMS自身やアプリが何らかの要因で異常終了した場合、DBを自動回復する。 利用者側で任意の時点でバックアップを取得し、バックアップ時点への回復、さらにその時点からの更新ログでの回復などを 可能とする。 (6)セキュリティ ・・・ファイルシステムレベルの権限以外に、DBMEに接続する権限、表などを定義する権限、表などをユーザ毎にselect、update など細かなアクセス権限の設定が可能 (7)性能チューニング、稼働状況の監視などの支援 ・・・性能チューニングや稼働状況の把握などのために、各種の情報を得られる

otyobi1985
質問者

お礼

とても丁寧に教えて頂いてありがとうございます!感謝いたします!!!

すると、全ての回答が全文表示されます。
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

データベース一般なのですが、データーベースそのものと、 まあプログラムなどで、テーブルの更新とか、作成削除が 出来ます。 それとは別に、新たにプログラムを作らなくても手動で データーベースを操作したりバックアップを取る仕組みを 設定したり、そんなサービスを請け負うものが便利な訳です。

otyobi1985
質問者

お礼

回答して頂き、ありがとうございます!

すると、全ての回答が全文表示されます。

関連するQ&A