• ベストアンサー

関係型、非関係型、オブジェクト型の違いについて

よろしくお願いいたします。 実は、必要に迫られて、 データベースの勉強をすることになりました。 いくつか種類があるみたいですが、 関係型、非関係型、オブジェクト型とありますが、 どう違うのでしょうか? Javaとか関係してくるみたいですが、 どれがどうやらよくわかりません。 "これが、こうだ"みたいに、具体例などをあげていただけたら 大変助かります。 環境は、NT4.0サーバ、WinNTWorkstation4.0で、 どれが一番良いのでしょう。 アドバイスお願いいたします。

  • gaia5
  • お礼率99% (116/117)

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

  • ベストアンサー
  • msystem
  • ベストアンサー率42% (79/186)
回答No.2

yanmaaさんのいう通り現在の主流は関係型(リレーショナルデータベース、RDB)です。 その他の非関係型には、階層型やネットワーク型があります。 こちらの方は設計も難しく、汎用性が低い点と主にオフコンやホスト系で使うので、Windowsベースならあまりお勧めしません。(ただし、しっかり設計すると、RDBよりもパフォーマンスが出ることもある) オブジェクト型は、JAVAのクラス(インスタンス)をそのまま保存できるタイプ(実際は違いますが)と思っていただければいいのではないでしょうか?ただ、こちらもまだ、一般的ではなく、製品も少なく、値段も目玉が出る程高いため、初心者にはお勧めしません。 JAVAと関連するのは、JAVAとのインターフェースがあるかどうか問題になります。一般にはJDBCというもので接続しますので、このインターフェースを持っているデータベースでは問題なくJAVAが使えます。 環境は、一般のデータベースは、クライアント/サーバーで使うことがほとんどですので、本番環境はNT・2000サーバーをお勧めします。取りあえずの環境はWorkstationで大丈夫です。

gaia5
質問者

お礼

回答ありがとうございます。 おかげさまで、イメージがつかめました。 確かに、1+1=2みたいにすぐに答えを見つけるのは 厳しいかもしれませんが がんばってみます。 ありがとうございました。

その他の回答 (1)

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

確かにDBの種類とすればいろいろありますがRDB(リレーショナルDB:関係型データベース)が多いでしょうな最近はORACLEやSQL SERVER等がこれにあたります。まだまだRDBはいろんなメーカから出てますよ。 OSはSQL SERVERならWindows2000Serverとか になるでしょう。 ORACLEなら商用UNIXかLINUXなどでも動作しますし、WindowsNTやWindows2000でも動作します。 違いというと一言では言えませんのでデータの持ち方の違いとでもしておきましょうか。まだまだ違いはありますが... (表形式だったり階層構造だったり) RDBに関してのリンク集は下記を参照して見てください。

参考URL:
http://findx.nikkeibp.co.jp/rdbms_0.html
gaia5
質問者

お礼

お忙しい中、早速の回答誠にありがとうございます。 一応自分なりに調べても見たのですが、 やはり雲をつかむかのような感じで 具体的なことは難しいようですね。 悩んだ挙句、SQLを使用することになりそうです。 参考リンクもとてもためになりました。 ここにお礼申し上げます。 ありがとうございました。

関連するQ&A

  • データベースオブジェクトの考え方がわからない

    DBの勉強を始めたばかりで概念的にわからないことがありましたので、ご教授ください。 "データベースオブジェクト"という言葉についてです。 参考書を見ると、「表やビュー表などの、データベースで扱われるオブジェクトのこと」とあります。 このオブジェクトは表でいうとどの部分をさしているのでしょうか? #インスタンスというのもこのオブジェクトに含まれるという認識でしょうか。。 又、扱われるオブジェクトの種類は、データベースの種類により異なるとあるのですが、 例えば、OracleとPostgresSQLではどのような点が違うのでしょうか?

  • オブジェクトデータベースとは具体的にどんなソフトがあげられますか。

    教えてください。 タイトル通りなのですがデータベースの種類には大きく2種類 ・リレーショナルデータベース ・オブジェクトデータベース に分けられるとよく書かれているのを目にします。 またリレーショナルデータベースソフトウェアの種類としてACCESSがあげられると続くのですが オブジェクトデータベースであげられるソフトウェアは具体的にどのようなものがあるのですか? 調べてもその後の説明がなかなかなくてわかっておりません。 どうぞよろしくお願いいたします。 ※できれば2種類の代表的なソフトウェアをいくつか教えていただけると尚うれしいです。

  • Tomcat4.1のNTサービスについて

    JavaでWebアプリケーションの開発をしています。 開発環境はクライアントOS:winXP、JDK1.4、Eclipse2.1.3、Tomcat4.1.30、データベースはAccess2002を使用しています。データベースへはJDBC-ODBC経由で接続しており、 開発環境では問題なくデータベース参照、更新が可能です。 次にクライアント~サーバー間のテストをするために、サーバー(OS:win2000)側へTomcatをNTサービスを適用した状態でインストール、データベース、モジュール(WARファイル)を移設、データベースを参照しようとしたところ、アクセスできなくなりました。 TomcatをNTサービス適用せずに手動で起動するばあいには、開発環境と同じように問題なく稼動します。 NTサービスを適用した状態でデータベースにアクセスできるようにするには、どのような設定が必要なのでしょうか?またはODBC以外の接続方法を検討する必要があるのでしょうか? ご存知の方、おられましたらアドバイスお願いいたします。

    • ベストアンサー
    • Java
  • オブジェクト指向で設計・プログラミングできるようになるために…

    どう勉強すればいいのでしょうか? 一応javaを少しずつ勉強していて、簡単なアプレットやウィンドウアプリケーションは作れるようになったと思うのですが、オブジェクト指向で設計?モデリング?となると、手が出ません…。 また、デザインパターンというもの(よくは知りません)を勉強するのとオブジェクト指向を勉強するのとは関係がありますか? よろしくお願いします。

  • ACCSESSのデータベースオブジェクトについて

    ACCESSの初心者ですが、 データベースオブジェクトにDAO・ADO・ADOXとありますが、 使用する環境にもよると思いますが、どれを使うのが、妥当なのでしょうか。 ---------------------環境---------------------- サーバーにACCESSのDBを置き。 2~3人程度で使用する超小規模システムで利用したい。 WindowsでExcelとの連携あり。 ----------------------------------------------- ※SELECT/INSERT/UPDATEが基本が思っていたので  やり方が多々あり、びっくりしてしまいました。

  • 「オブジェクト」について質問

    javaの参考書に、オブジェクトについて、「データとそれを操作する機能をひとまとまりにしたものをオブジェクトといいますが、」と書いてありました。 質問1:抽象的過ぎて、上記の解説がわたしにはよく理解できませんでした。 初心者の私にも理解できるように、身近な具体例を織り交ぜてご説明頂けましたら幸いです。 ^ 質問2:「データとそれを操作する機能をひとまとまり」と書いてありますが、これを配列に例えると、 例えば、int [] n ={3,5,7};という配列があったとします。これに int data=n[0];のように配列要素へのアクセスを行うと、配列は自身の持ってるデータを渡しますよ?これはまさしく「配列はデータを持っていて(上記例ではint型の数値を持っていて)、それを操作する機能(上記例では配列の0番目の要素を変数dataに引き渡す)を持っている」こういうことですか?

    • ベストアンサー
    • Java
  • Stringオブジェクトについて

    ある参考書では、Java のメモリー使用効率を改善するために、JVM は「String 定数プール」と呼ばれる特別なメモリー領域を確保していると書いてあり、String を作成する例として次の2つのパターンのコードについて説明している(この例では、定数プール内にほかのString は存在しないものとしている)。 ・パターン(1) String s = "abc"; // 1つのString オブジェクトと         // 1つの参照変数を作成する この例では、"abc" がプールに納められ、変数s がそれを参照する。 ・パターン(2) String s = new String("abc"); // 2つのString オブジェクトと                  // 1つの参照変数を作成する。 このコードでは、new キーワードを使ったので、新しいString オブジェクトが標準の(プールでない)メモリー上に作成され、変数s がそれを参照する。さらに、リテラル"abc" がプールに収められる。  そこで質問ですが、パターン(2) で、変数s と2つのオブジェクトはそれぞれ互いにどのような関係(メモリー上の関係も含めて)を持っているのか。 例えば変数s に対してプリント命令を出したときにJVM はこの2つのオブジェクトに対してどのような処理をするのか。 またこれらのオブジェクトのhashcode はどうなっているのでしょうか。どなたか教えてください。

  • WebサーバーとFTPサーバーの関係と違いについて

    WebサーバーとFTPサーバーの違いは、使用するポートが制御用と 転送用で異なるのがFTPサーバーであることは、わかります。 その他にはあるでしょうか? また、両者の関係は、どういった関係になるのでしょうか? ファイルをアップロードやダウンロードするなどの具体例で お答え頂けると助かります。 あいまいな質問になりますが、よろしくお願いします。

  • Notes(R5)データベースの移動

    いくつかのNTサーバに分散されたNotesデータベース(メールボックスも含む)を1つのサーバに移動して集約しようとしています。 注意点や具体的な方法などをお教えいただけませんでしょうか。よろしくお願いします。

  • こういう処理を行うには・・・

    凄いざっくりとした質問になってしまいますが助けて下さい。 ACCESS2000で作成した社員管理のデータベースがあります。そのデータベースに、それぞれの社員が社内LANに公開されたサイト(こういう説明が正しいのか分かりませんが)から、自分の氏名や社員NOなどを入力して送信ボタンを押すと、サーバーのそのデータが蓄積されて、それを社員管理のデータベースに取り込むというような処理をしたいと考えています。 サーバー関係のJavaで行いたいと思っているんですが、Javaについては超初心者でした。 このような処理を行う場合、Javaのどこら辺を勉強すれば良いんですか?アプレットとか、アプリケーションとか、サブレットとか色々とありますよね。 宜しくお願いします。

    • ベストアンサー
    • Java