RDBMS とは?
ページ内リンク
↓ウィキペディア(Wikipedia)記事
↓Yahoo!知恵袋
リレーショナルデータベースマネジメントシステム (RDBMS; 英: relational database management system) とは、エドガー・F・コッドが提唱した関係モデル(リレーショナルモデル)に基づいた、コンピュータのデータベース管理システム (DBMS) である。 RDBMS によって構築するデータベースを、リレーショナルデータベースという。 関係モデルにおける「関係(リレーション)は、一般には「表」(テーブル) と呼ばれることが多い。 2007年現在、RDBMS は最も一般的に使われているデータベース管理システムである。 出典: 『ウィキペディア(Wikipedia)』
RDBMS
:
Relational Data Base Management System の略。 DBMSの一種。RDBを構築・運用するために用いられる管理ソフトウェアのこと。 汎用RDBMS製品の例としては次のようなものがある。 Microsoft SQL Server Microsoft Access (Jet) Oracle Database Sybase Adaptive Server Enterprise Interbase PostgreSQL MySQL IBM DB2 SQLite Firebir ...
出典: 『はてなダイアリー』
ノースウエスト航空
のマイルは、国内航空会社のマイレージと違って無期限!! 格安パックツアーでも
100%マイルが付くのでお得!! 国内往復分15000マイルを貯めて沖縄や北海道へ!!
関連商品
高塚 遙 /
最安値(新品): ¥ 3,360
最安値(中古): ¥ 1,895
 この本の説明はわかりやすく、例題は確実に動作し信頼できます。
たった1つだけの欠点は、Javaからのアクセスの場合はWebに限定されており、Javaアプリケーションについての記述が無いので、他の資料で補う必要があります。
(tender さんのレビュー)
岡本 順孝 /
最安値(中古): ¥ 5,499
 「Oracle10g」で検索すると、2005年12月現在で売れ行き1位の同書。
2位以下で「Oracle10g」関係は・・・
----------------------------------------------------------
図解入門よくわかる最新Oracleデータベースの基本と仕組み 359頁
----------------------------------------------------------
現場で役立つ!Oracleパワーアップテクニック 424頁
----------------------------------------------------------
ということで、同書の669頁と比較して分かるように厚さが違う。
出版も秀和システムなので、この手のマニュアル本の大手なので信頼でき、
Oracle10gの解説本を1冊だけ購入しようと考えるなら、同書はお薦めです。
(1)Oracleことはじめ
(2)Oracle10gの新機能
(3)Oracle導入の手順
・・・
(16)バックアップとリカバリ
(17)フラッシュバック
目次を見て貰えれば分かるとおり、
Oracle10gを取り巻く環境を全て網羅しています。
「さすが669頁、4000円の本」という感じでしょうか。
但し、深く突っ込んだ内容には触れることはしていません。
同書で全体像(森)が見えれば、
「枝・木」の部分を見ることができる本を、いずれ購入する事になるでしょう。
次のステップへのお薦めは、「Oracle使いへの王道」です。
(手帳の達人 さんのレビュー)
Alavoor Vasudevan /
最安値(中古): ¥ 6,718
IBM Redbooks /
最安値(中古): ¥ 19,110
最安値(中古): ¥ 4,832
鈴木 幸市 /
最安値(新品): ¥ 2,079
最安値(中古): ¥ 800
ウィキペディア(Wikipedia)記事
リレーショナルデータベースマネジメントシステム (RDBMS; 英: relational database management system) とは、エドガー・F・コッドが提唱した関係モデル(リレーショナルモデル)に基づいた、コンピュータのデータベース管理システム (DBMS) である。 RDBMS によって構築するデータベースを、リレーショナルデータベースという。 関係モデルにおける「関係(リレーション)は、一般には「表」(テーブル) と呼ばれることが多い。 2007年現在、RDBMS は最も一般的に使われているデータベース管理システムである。
いくつかの RDBMS では、オブジェクト指向の機能拡張を行っている。 このような RDBMS は、オブジェクト関係データベース管理システムと呼ばれる (ORDBMS) 。
商用の RDBMS としては Oracle Database や IBM DB2 などが、オープンソースの RDBMS としては MySQL や PostgreSQL などが有名である。 ただし、これらの DBMS を 真のRDBMS と呼んで良いのかどうかについては、後述のとおり、議論の対象となっている。
RDBMS とされるシステムの多くは、データベース言語として SQL を採用している。
RDBMSの機能
以下に RDBMS の主な機能を示す。
- データベース言語
- データベース言語は、DBMS に対してさまざまな指示を伝えるための言語である。概念的には、データ定義言語 (DDL)、データ操作言語 (DML)、データ制御言語 (DCL) の構成要素からなる。データ定義言語 (DDL) はデータベースの構造を定義する。データ操作言語 (DML) はデータベースに対する検索や更新などの操作を行う。データ制御言語 (DCL) はデータに対するアクセス制御を行う。RDBMS では、関係モデルに基づいたデータベース言語を備えている。RDBMS のデータ操作言語は、関係モデルの関係代数と関係論理に基づいている。RDBMS とされるシステムの多くは、データベース言語 SQL を備えている。
- 物理的データ独立性
- データベースを格納する記憶装置を変更する際、それに伴って RDBMS にアクセスする方法を変更する必要はない。RDBMS にアクセスする利用者やアプリケーションソフトウェアに対して、RDBMS は記憶装置の変更を隠蔽することができる。
- 論理的データ独立性
- RDBMS ではビューにより論理的データ独立性を支援する。ビューとは、関係代数もしくは関係論理の式に名前を付けたものである。ビューは関係の一種であり、導出関係とも呼ばれる。なおこれに対し SQL CREATE TABLE 文で定義するような基本的な関係 (テーブル) を基底関係という。またビューを使うことで、複雑な検索や更新などのデータ操作を簡略化して記述することができる。
- データ整合性
- 不正なデータが登録されることや、不正なデータに更新されることを防ぐ。RDBMS では、定義域・データ型・一意性制約 (ユニーク制約)・参照整合性制約・一般制約・トリガ などの機能を備えている。
- トランザクション処理
- ACID特性に基づいたトランザクション処理を行う。複数のユーザが同時に同一のデータを参照・更新した場合でも、矛盾なく正常に処理をこなす。
- セキュリティ
- ほとんどの RDBMS ではセキュリティ (機密保護) に関して任意アクセス制御もしくは強制アクセス制御を提供し、さらに一部の RDBMS ではデータの暗号化機能も提供する。多くの RDBMS では任意アクセス制御を採用している (SQLでは任意アクセス制御のみを規定している) 。SQL の任意アクセス制御においては、GRANT文により、利用者 (認証識別子) を指定して、その利用者がアクセスできるオブジェクト (関係など) 、およびアクセスの種類 (検索、更新など) を定義する。データ暗号化機能では、RDBMS を迂回した不正なデータアクセスに対する対策として、RDBMS で管理・送受信するデータを暗号化する。
- 復旧
- トランザクション障害、システム障害、記憶媒体の障害からの復旧を行う。
- 最適化
- データ操作言語 (DML) による、高水準な関係代数や関係論理で記述されたデータ処理要求を、低水準な手続きに最適化して実行する。
- 分散データベース
- 分散データベースは、ネットワークで接続された複数のコンピュータを使い、それぞれのコンピュータ上で DBMS のプロセスを協調させて動かし、全体として仮想的に一つの DBMS を実現する技術である。複数のコンピュータを使うため、可用性や処理性能を向上させることができる。クライアント・サーバのデータベースは、分散データベースの簡単で特殊な形態と位置づけることができる。
いくつかの RDBMS では、オブジェクト指向の機能拡張を行っている。 このような RDBMS は、オブジェクト関係データベース管理システムと呼ばれる (ORDBMS) 。
RDBMSの用語の歴史
1969年、エドガー・F・コッドは画期的な論文を発表して RDBMS を提唱した。 この論文は1970年に、ACM の学術誌に "A Relational Model of Data for Large Shared Data Banks" として掲載された。 コッドは、この論文とその後に発表した論文で、「リレーショナル」(「関係に基づく」) の概念とは何かを定義した。
コッドが提唱した RDBMS が備えるべき条件として、「コッドの12の規則」が有名である。 しかし関係モデルの初期の実装の多くは、コッドの12の規則の全てを満たすには至らなかった。 そのため RDBMS という用語は、当初と比べてより広い意味でのデータベースシステムを対象として使われることが、多くなってきている。
現在では、RDBMS という用語は、次のようなシステムに対して使われている。
- システムの利用者が、データをいくつかの関係 (複数の行と複数の列からなる表) の形で、扱うことができるシステム
- システムの利用者が、表形式のデータを参照・更新する手段として、関係演算 (選択、射影、結合、和などの関係代数や関係論理) を、使うことができるシステム
関係モデルを比較的正確に実装した最初の RDBMS は、Peterlee にある IBM UK Scientific Centre で実装された IS1 (1970-1972) およびその後継システム PRTV (1973–79) であった。RDBMS として販売された最初のシステムは、1978年からリリースされた Multics Relational Data Store であった。その他には Ingres (マイケル・ストーンブレーカーが中心となってカリフォルニア大学バークリー校で開発された) や IBM BS12 などが挙げられる。
RDBMSの用語の現在
どのような DBMS が、「リレーショナル」DBMS といえるのか (もしくはいえないのか) については、議論の対象となっている。データベースに携わる人の多くに受け容れられた RDBMS の定義は、まだできていない。
一部では、複数の行と複数の列からなる構造としてデータを扱うことができさえすれば、RDBMS としての基準を満たすとしている。この見解において RDBMS の基準を満たすとされるDBMSは、コッドの12の規則のうちいくつかを満たす。広く知られている DBMS のほとんどは、厳密に関係モデルに準拠しているわけではなく、コッドの12の規則の全てを満たすには至っていない。
別の見解では、コッドの12の規則の全てを満たすには至っていない DBMS (もしくはクリス・デイト、ヒュー・ダーウェンにより提唱された関係モデルの見解を満たすには至っていない DBMS ) は、RDBMS とはいえないとしている。この見解は、データベースの理論家やコッドの考え方を支持する人に共有されている。主な論者は、エドガー・F・コッド、クリス・デイト、ヒュー・ダーウェンである。この見解によれば、DBMS の多くが「真にリレーショナル」とはいえないことになる。この見解をとるなら、SQLを使ってデータを参照・更新する DBMS の全てが、RDBMS とはいえない。こうした見解をもつ人は、コッドの12の規則の全てを満たしていない DBMS を、「疑似リレーショナルデータベースマネジメントシステム」(PRDBMS) と呼んでいる。この人々は、コッドの12の規則を全て満たす RDBMS を「真のリレーショナルデータベースマネジメントシステム」(TRDBMS) と呼ぶ。
現在は、RDBMS の選定を行う際は、コッドの12の規則の全てを満たすという要件は考慮されない。情報技術 (IT) を担う組織におけるデータ管理を行う人々にとっての TCO (総保有コスト) が、とても重視される。一部の人は、このような現状は不幸であり皮肉であると考えている。なぜなら、コッドの12の規則の有用性を確信している人の見解では、この RDBMS としての基準を正確に満たすことにより、DBMS の信頼性と一貫性と生産性と処理性能を高めることができ、それゆえ TCO の抑制に大きく役立つはずであった。RDBMS の基準を正確に満たすことによるこのような利点は、実際に、DBMS を真の RDBMS としようと努めている人々にとって、とても大きな動機づけとなっている。
現在、RDBMS のほとんどが、データベース言語として SQL を採用している。しかし SQL に代替するデータベース言語が提唱され、実装が行われている。ただし SQL に代替するデータベース言語を採用し実装している商用の RDBMS は非常に少ない。
RDBMSに関する批判
現在の RDBMS に関して言及されている批判と不満を述べる。
- ほとんどの RDBMS のベンダは SQL 以外のオプショナルなデータベース言語を提供することを模索していない。多くの人々は、SQL にはある程度の改定もしくは抜本的な改定が必要だと考えている。SQL は開発されてから約30年もの歴史を経ており、また SQL はそもそも関係モデルに準拠していない[1]。
- 広く使われている RDBMS の多くは静的な型づけを採用している。一定の人々は、動的な型づけされた列 (カラム) もしくはオプショナルな列を採用すれば、プロトタイピングや、市場で素早く敏捷であることが重要であるような分野において、有用であると思っている。(オプショナルな列を実装しているいくつかのシステムでは、行 (組、レコード) に指定された列が無い場合はnullあるいは空白を返すことによって実装している)
- 広く使われ過ぎている。すべてのデータモデルが RDBMS を必要とするわけではない。しかし多くの開発者はデータベース管理システム (DBMS) を採用する際に、とにかく RDBMS を採用し利用する傾向がある。結果として、RDBMS ではない DBMS のほとんどは、開発時間と革新が欠乏している。
関連項目
RDBMS製品
商用
オープンソース
参考文献
脚注
- ^ Why SQL is not relational: SQLデータベースのテーブルは Bag であり集合 (Set) ではない、その他参照
外部リンク
 All text is available under the terms of the GNU Free Documentation License. この記事は、ウィキペディアの記事を複製、改変、再配布したものにあたり、 GNU Free Documentation Licenseというライセンスの下で提供されています。 ことなびに掲載されているウィキペディアの記事も、全て GNU Free Documentation Licenseの元に提供されております。
Yahoo!知恵袋
-
WEB系業務アプリケーションのJAVAでの開発についてj2eeプログラマー初心者です。まだ経験が浅く、下記内容について、ネット、書籍で調べたのですが今一理解しずらいので経験豊富な方いらっしゃいましたら、ご教授の程お願い致します。【質問内容】①JDBCデータソースについて そもそも、データソースって概念的にどの様なものなんでしょうか? 今一イメージがつかめないのです。 JAVAからDBを操作するインターフェイスっていわれても・・・ 具体的にどの様な物なのか理解できないのです。②ear,warファイルについて war : WEB-INF以下全ての圧縮ファイル ear : webappsの各アプリ毎のフォルダ以下全ての圧縮ファイル という認識で正しいでしょうか?③サーブレットインスタンスについて APサーバーでサーブレットのインスタンスを生成する場合に 1リクエストごとにそれぞれインスタンスを新規作成するのでしょうか。 それとも1発目のロード時のみインスタンスを作成し、1つのインスタンスを使いまわしているのでしょうか。 また、マルチスレッド対応とはどういう意味なのでしょうか。④デプロイについて デプロイ対象のファイルは必ずearファイルでなければいけないのでしょうか? 以前携わった案件ではwar形式でデプロイしていたのですが APサーバーによって違うんでしょうか。 何か設定方法とかってあるんでしょうか。⑤undo機能の設計について 現在、UNDO機能を下記仕様でつくりの設計から考えています。 仕様:UNDO機能を実行する1つ前の処理を元に戻し 2つ前の処理の完了時点の状態まで復元する。 今回作成する当機能は全画面で使用できるように 汎用的に作成する必要があります。 どなたか同じような機能を作成された経験がある方いらっしゃいましたら どの様な設計にしたか、ご教授くださいませ。⑥ページ移動機能の設計について 下記仕様でつくりの設計から考えています。 仕様:一覧表示系画面で、20件までをひとまず表示し、21件め以降は 「次ページ」ボタンを押下し、40件目までを表示する・・・・ 以降取得件数分続く 当機能も汎用的に作成する必要があります。 どなたか同じような機能を作成された経験がある方いらっしゃいましたら どの様な設計にしたか、ご教授くださいませ。以上、ご教授宜しくお願い致します
解決日時:Wed, 26 Nov 2008 03:45:03 +0900 /
回答数:2 /
スコア:6,386点
-
SQL DBの問題なのですが。下のこのテーブル名:table01でcreate table table01 (a char(8) ,b int ,c int ,d int ,e int ,f int ,g int ,h int ,i int );insert into table01 (a,b) values ( 'null01',2000);insert into table01 (a,c,d) values ( 'null02',5,5);insert into table01 values ( 'null03',NULL,NULL,NULL,180,83,NULL,NULL,NULL);insert into table01 values ( 'null04',63,NULL,NULL,NULL,NULL,'32',NULL,NULL);insert into table01 values ( 'null05',23,NULL,NULL,NULL,NULL,NULL,'A',NULL);insert into table01 values ( 'null06',NULL,NULL,63,96,45,33,82,'8');insert into table01 values ( 'null07',63,10,63,47,74,53,12,'9');insert into table01 values ( 'null08',22,63,NULL,NULL,NULL,NULL,NULL,'10');「eの平均値より高いレコードを特定し、そのうちaを求め、aの順で並び替え表示させよ。」という問題なんですがどのように解いていいのか分かりません。解説よろしくお願いします。
解決日時:Wed, 12 Nov 2008 04:08:27 +0900 /
回答数:2 /
スコア:6,681点
-
知恵袋はHTMLで書かれているんですか?それともJAVAとかですか?
解決日時:Fri, 17 Oct 2008 03:35:27 +0900 /
回答数:2 /
スコア:6,706点
-
SQLで空白を探す場合どうすればよいでしょうか?IS NULLと空白は違うのでは?とも考えておりますが…
解決日時:Tue, 07 Oct 2008 00:10:04 +0900 /
回答数:2 /
スコア:6,660点
-
ストアドでSELECT文のWhere~in句にローカル変数を使うと動きませんストアドプロシージャでSELECT文のWhere~in句にローカル変数を使うと動きませんDECLARE @No varchar(200)SET @No = '0788' + ',' + '0947'SELECT * FROM tableWHERE cul in (@No) これが@no = '0788' だけだと動くんですが・・in句のパラメータを可変にして使いたいので困っています。どうすれば動くんでしょうか・・・どなたか知恵をお貸しください。。
解決日時:Thu, 25 Sep 2008 00:56:01 +0900 /
回答数:1 /
スコア:6,436点
-
補足ができないので、こちらで質問します。前回の質問です。http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1119112111テーブルイメージがあった方がわかりやすいかもしれませんね。下記のようにTBLに入ってるデータがあります。 TBL CODE1 | CODE2 | NAME 1 | 1 | A1 1 | 2 | A2 1 | 3 | A3 1 | 4 | A4 1 | 5 | A5 1 | 6 | A6 2 | 1 | B1これをこのように表示したいです。CODE1のTOP5まで CODE1 | CODE2 | NAME 1 | 1 | A1 1 | 2 | A2 1 | 3 | A3 1 | 4 | A4 1 | 5 | A5 2 | 1 | B1よろしくお願いします。
解決日時:Fri, 19 Sep 2008 06:34:29 +0900 /
回答数:1 /
スコア:6,546点
|
↓ニュース
↓YouTube
↓テレビ番組
↓はてブ
↓ヤフオク
↓このページへのリンク
PageRank5以上の相互リンク
・相互リンクスクエア
(PageRank 5)
・相互リンク インプロス
(PageRank 5)
→便利!NINJA TOOLS
→FC2検索
用語
Wikipedia
YouTube
|