• 締切済み

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

Siegruneの回答

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.3

ANo1です。 >インスタンスはデータベースオブジェクトではないんですね。。 >いきなりの認識違いでした。質問してよかったです。 ANo2の人とは違う答えを書きますけど、 ANo2の人のいうオブジェクトであるというのが間違いというわけではないです。 インスタンスは、一般にOOなんかでいうオブジェクトには該当しますが、 Oracleの場合、データベースとインスタンスは関連付けするだけであり、並列の関係なので、 データベースの下の階層になるような「データベースオブジェクト」とは呼ばないです。 >項目名だけが記述されたデータの入っていない空っぽの表のことをイメージのことでいいのでしょうか。 ANo2のかたの書かれている通り、空っぽでもカラッポでなくてもデータベースオブジェクトです。 >「package」がどういう働きをするか理解できていないのですっきりできてないですが、 >データベースオブジェクトは各RDBMSでも大きな違いはないのかな?という認識をもってしまいました。 Oracleの「package」はStoredProcedureの集まりみたいなもの(厳密には違いますが。) 他のデータベースではあまり見かけません。 >データベースオブジェクトは各RDBMSでも大きな違いはないのかな?という認識をもってしまいました 「各RDBMSでも大きな違いはない」というのは間違っていませんが、 それぞれのデータベース独自のデータベースオブジェクトがある あるいは古いバージョンでは存在しないデータベースオブジェクトがある等の点から、 「扱われるオブジェクトの種類は、データベースの種類により異なる」 と書かずに「各RDBMSで違いはない」と書くと間違いとなってしまいます。 また、RDBMS以外のカード型データベース等の昔あった(今もあるかも)を含めてデータベースと 呼ぶと、結構違いは大きくなります。(外部キーやデータベースリンクがなかったり・・・)

Route_123
質問者

お礼

ご回答ありがとうございます。 親身に相談に乗って頂き、大変助かっております。 >データベースの下の階層になるような「データベースオブジェクト」とは呼ばないです。 オブジェクトとデータベースオブジェクトは違うものになるのですね。お恥ずかしいですが、まずそこから認識不足でした。。 データベースオブジェクトはデータベースの種類により異なる、というところで幾分すっきりしました。 ただ、テーブルやビューなど基本的なところに違いがあるのかと思っていたので、外部キーなどがまったく考慮していませんでした。 #外部キーも基本ではあると思いますが もう各RDBMSの細かな特徴をつかめるようにもう少し勉強してみます。 取り急ぎで大変失礼ですが、勉強不足ゆえ、もう少し理解を深めてから再度質問させていただきます。 ありがとうございました。

関連するQ&A

  • データベースオブジェクトを複数用意する

    .net c# で開発をしています。 データベースにアクセスする為にOracleOleDbを使用しているのですが、同じデータベースをアクセスするのに複数のインスタンスを作成しているのですが、こんなことって意味あるのでしょうか? プログラム内ではメソッド毎にそのオブジェクトを使い分けています。 ちなみにカスタマイズなので前回製造者がどういう意図があってそういった思想になったか明らかではありません。 以上、ご教授よろしく御願いします。

  • php インスタンスとオブジェクトの呼び方

    new obj = new Test(); という一文は、 「Testクラスのオブジェクト、objを作成している」という考えを持っています。 オブジェクトは物という概念で、 「Testクラス を new して、objインスタンスを作成している」 というのが正しいのでしょうか? 【objを Testオブジェクトと呼ぶのは間違っているのでしょうか? objは Testインスタンスと呼ぶのがやはり正しいのでしょうか?】 知り合いにも、インスタンスではなくオブジェクトと呼んでる人が多いのでわからなくなってきました。 ご教授お願いします。

    • ベストアンサー
    • PHP
  • インスタンスオブジェクトとはなんなのでしょうか

    現在Objective-cを勉強中なのですが、インスタンスオブジェクトの 意味がよくわかりません。ネットで調べても「インスタンス」と 「オブジェクト」それぞれの意味しか出てきません。 インスタンスオブジェクトという単語が出てきた参考書には以下のように 書かれています。 ---------------(引用ここから)------------------- - (int)up{ ・・・  return self; } selfはメッセージを受け取ってそのメソッドの処理をしている インスタンスオブジェクトそのものなので、返り値に対して 続けてメッセージを送ることができる。 ---------------(引用ここまで)--------------------------- どなたかインスタンスオブジェクトの意味をご教示いただけないでしょうか。 以上、何卒よろしくお願いいたします。

  • データベース:NDBってなんですか。

    NDBってなんでしょうか。 OracleやDB2のようにネットワークにつながるデータベース全般をさす言葉でしょうか。 Webで探しても見つからないので、ご指南頂ければ幸いです。

  • ロール(オブジェクト権限)について

    オラクルのパージョンは「9.2.0.1.0」です。 オブジェクト権限を指定したロールをパッケージから参照する事はできないのでしょうか。 対象のスキーマにはオブジェクト権限を指定したロールを付与していますがパッケージで下記のエラーが発生して困っています。 「ORA-00942: 表またはビューが存在しません。」 どのようにすればいいのか、恥ずかしながらわかりません。 どなたかご教授お願いできませんでしょうか。 些細な事でも構いませんので宜しくお願いします。

  • クラス、インスタンス、オブジェクトの区別

    クラスが人間という種類だとしたら インスタンスが例えばAさん、Bさんという具体的な人のことで、 オブジェクトが誰でもいいけどとりあえず具体的な誰か という認識でいいでしょうか? だとしたらなんとなくイメージはできたのですが、もっとわかりやすい言葉が欲しいです。 どなたから説明してもらえませんか?

    • ベストアンサー
    • Java
  • Object Browser

    OracleのDBについて、勉強しているものです。 OracleのDBの中が見れるツールという事で、Object Browserの体験版で検証をしたいのですが、 PC(Win2000)<=>DB(UNIX)のような環境でもDBの中身がみれるのでしょうか。 接続のポップアップで、ユーザ名やパスワードとホスト文字列が要求されますが、ネットワーク越しの場合は見れないのでしょうか。 ご存知の方がいましたら、教えてください。

  • データベース初心者

    データベース自体全くの初心者ですが、仕事でOracleを使うことになりました。 3ヶ月程で基本をモノにしたいのですが、まずは何から手をつければいいのでしょうか。 いきなりOracleの参考書を手に取るよりも、データベース(SQL?)の基礎知識から勉強した方がいいでしょうか。 おすすめの参考書等あればご教示下さい。

  • UMLでの「オブジェクト」と「インスタンス」の違い

    Java的な概念での説明や、単に「オブジェクト指向」と銘打つHPなどの説明では、「オブジェクト」と「インスタンス」は同じものとして扱われたり、「クラスオブジェクト」「インスタンスオブジェクト」等という言葉を持ち出し、単独の「オブジェクト」という言葉は存在しないなどと取れる説明をしていることが多いように感じます。 しかし、一般的にUMLを元にしたオブジェクト指向の考え方の下では「オブジェクト」と「インスタンス」という言葉は明確に使い分けられており、また「クラス」と「オブジェクト」は対極にあるものとして扱われるため、「クラスオブジェクト」等という言葉が使われることもありません。 下記URLと書籍では、「オブジェクト」と「インスタンス」を明確に使い分けています。 http://www.atmarkit.co.jp/fjava/devs/object04/object04.html テクノロジックアート UMLモデリングL1 P2,3 しかし、この使い分けのニュアンスの違いが理解できません。 オージス総研 初めて学ぶUML 21P では、「型/インスタンス」→「クラス/オブジェクト」という明確な解を提示していますが、微妙な感じだし、何より前出の2者とは明らかに異なる意味合いで使われています。 人によって異なる意味合いで使われているということは理解しています。また、その人による微妙な違いもおおむね理解しているつもりです。しかし、上記の2者のニュアンスだけは理解できない状態です。このニュアンスがわかる方、解説よろしくお願いします。

  • インスタンスとオブジェクト 生成

    クラスのオブジェクトを生成するときに(newをつかって) ●インスタンスを生成する。 ●オブジェクトを生成する。 と参考書に書いてありますが、言い方はどちらでもいいそうです。 でも、2種類の言い方がるということは厳密には意味が違うような気がするのですが、皆さんはどう思いますか? またどちらの言い方を使っていますか? どちらが正しいのでしょうか?

    • ベストアンサー
    • Java