• ベストアンサー

E-RモデリングとUML

msystemの回答

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

私もはっきりしたことはわかりませんが、少なくともE-Rモデリングのエンティティのインスタンスは、テーブルでいう行にあたると思います。つまり、100行あるテーブルは、エンティティのインスタンスが100個あることになると思います。 UMLのほうのクラスは、メソッドがありますので、1対1でE-Rモデリングのエンティティになることはないと思います。(とはいえ、UMLでデータベースのモデリングもできると思います) 私としては、UMLはあくまでアプリケーションの分析や設計に使い、データベースの設計分析には、現状ではE-Rモデリングを使ったほうが効率的ではないかと思います。(少なくともRDBMSでは・・・)

marsah
質問者

お礼

ご回答ありがとうございます。 遅れて済みませんでした。 ただいま、頼ってばかりでなく、と本で勉強中であります。 E-Rモデリングのエンティティ、やはりそういう事なのですね。 私がこの質問をしましたひとつに、 “直接更新可能な100行のレコードのリストをやるには、(オブジェクトの)インスタンスを(同時に)100生成して実現する?” という妄想にあったのですが、そもそも手段として間違えていそうな気がしてきました。(笑) UMLとの対応を気にしていたのは、理由をうまく表現する言葉がなかったのですが、本を読んでいるうちに見つかりました。 DATARUNなる手法で「オブジェクトはデータの容器である」という考え方があるそうですが、そういう観点で、クラスからインスタンスを生成するために必要なデータをデータベースから持ってくる時、E-Rのインスタンスとオブジェクトのインスタンスが重なって見える様な気がしたためです。 私の中では、アプリケーションとデータベースを分けて考える事が出来ませんでした。 分けてしまうと最終的につなげられなくなりそうで恐いんです。 私のスキルが足りなくて。(笑) ありがとうございました。

marsah
質問者

補足

その後読書いたしまして、オブジェクトとデータベースは対比する関係に無いような気がしてきました。 むしろ、データベース構造を考慮する必要が無いようにオブジェクトが情報隠蔽するような関係のようです。 ありがとうございました。

関連するQ&A

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

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

  • 教えてください。

    今現在、オブジェクト指向について勉強をしているのですが、 いまいち、インスタンスとインスタンス変数とは何かと言われても 的確に答えることが出来ません。どなたか詳しく説明をしてもらえないでしょうか? もう一つ質問があります。UMLも勉強しているのですが、UMLで、 ”メンバーはインスタンス(実例)である。”と、書いているのですが 、どういうことなのでしょうか?? C言語でいう、構造体のメンバーと同じなのでしょうか?? (UMLモデリングの本質 P.41 から抜粋) 色々質問してしまいましたが、宜しくお願いします。

    • ベストアンサー
    • Java
  • UMLとXMLエディタについて

    以前と言っても2年くらい前になりますかね。 『竹』の形をしたアイコンのUMLモデリングツールがありまして。 ちょっと今探してみたんですが、残念ながら見つけられませんでした。 それでJUDEのソフトをDLしたんですが、起動させたらディスプレイの映像が変な風になり、直りません。 なので、別のUMLモデリングツールがありましたら、紹介して頂ければ、と思いまして質問しました。 また、UMLとは全然関係ないのですが、使いやすいフリーのXMLエディタを探しています。 これに関してはどれが良いのかよく分からないので、できればお薦めのエディタを教えてもらいたい、と思っています。 どうぞ宜しくお願い致します。

  • オブジェクト指向とUMLについて

    「オブジェクト指向」と「UML」の勉強をしようと思っているのですが、お勧めの参考書またはWebサイトをお教えていただきたいです。 ※オブジェクト指向については、JavaやC++のような言語についてではなく、オブジェクト指向についてです。 ちなみに私はJavaは経験したことがありますが、正直"オブジェクト指向がなんたるか"はわかっていないです… 現在業務でJavaに携わっていてるので、オブジェクト指向という考え方をこの機にしっかりと学べればと思っています。 UMLはまったく無知です; クラス図やシーケンス図など中身にナニがあるか微妙に知っているだけです…; どちらか片方でも良いので何かございましたら、お教え願います。 …参考書だと電車で読めるので、ちょっとだけ喜びます(笑

  • JavaプログラムのUML化

    Javaで書いたプログラムをUMLで書きたいのですが、 匿名クラスがある場合のUMLの記述法がわかりません。 プログラム内部で作り出すクラスなのでUMLで書かないのか、 書くべきなのかもわかりません。 例えば以下のコードの場合はどのような図になるのでしょうか。 // Constructor example(){ MouseListener mouse = new MouseListener(){ public void mouseClicked(MouseEvent e){}; public void mouseEntered(MouseEvent e){}; public void mouseExited(MouseEvent e){}; public void mouseReleased(MouseEvent e){}; }; } 回答よろしくおねがいします。

  • VBのシステムの設計書にUMLは適用できますか?

    現在、VBでシステム開発を行っている者(新人)です。 VBで開発するシステムの基本設計書、詳細設計書を作成する際、UMLは利用できますでしょうか。 UMLはJava(オブジェクト指向)向きのもので、VB向きではないのは分かっているのですが。 (上司に、VBの設計書にUMLはどう使えるかのレポートを書くように言われまして^^;) VBでクラスモジュールを作る場合には、クラス図やオブジェクト図が適用できるのかと思いますが、クラスを作らない場合など、他にはUMLのどのようなものが適用できるでしょうか? DBのER図などに適用できますでしょうか? また、VBで開発するシステムの設計書の特徴などがあったら教えていただきたいと思います。VBだったらこういう風に書くとか(画面設計にフォームの画像を貼るとか)、この項目はVBの場合いらないとか(上司は「VBはソースが分かりやすいから詳細設計はいらないんじゃないか?」と言っています)、どんなことでもいいので、アイデアを下さい。  ご指導の程、よろしくお願いいたします。

  • C++ソースからUMLの設計書を作るには

    C++ソースからUMLを使った設計書を起こしたいです。 設計書等は一切ありません。 総ステップ数12万超です。複数のcppファイルに分かれています。 オブジェクト指向に基づいて開発されているので、クラスからクラスへと更には別のcppファイルへと呼び出されていくので、どこから見ていったら良いか悩んでいます。 まずはクラス図から作った方が良いのでしょうか? C++ソースから設計書を起こすには、どこから手を付けたら良いか、アドバイスお願いいたします。

  • UMLにおけるクラス図で困っています。

    javaでの統一モデリング言語 (UML)におけるクラス図の質問です。 既に「ラジオ」「カセットレコーダ」「CDプレーヤ」「テレビ」「MDレコーダ」の各クラスが定義してあるとする。 この後、「ラジカセ」(ラジオとカセットレコーダの機能を合わせ持つ)、「ラテカセ」(同じく、ラジオ、テレビ、カセットレコーダ)、「ラジオカセットMD CD」(同、ラジオ、カセットレコーダ、MDレコーダ、CDプレーヤ) を設計したいのですがどのように設計したらよいかクラス図を用いて説明をお願いします。

    • ベストアンサー
    • Java
  • EF(コードファースト)のコンテキストクラスの定義

    http://www.atmarkit.co.jp/fdotnet/ef4basic/ef4codefirst01/ef4codefirst01_02.html こちらを参考にしてASP.net MVC + Entity Framework 4.1(コードファースト) のWebシステムを作ろうと考えています。 既存のDBを使用することを考えていて、DBに含まれるテーブル数は100弱となります。 それぞれのテーブルに対応するエンティティクラスを100弱定義し、これらを 登録するコンテキストクラスを作成しようと考えたのですが、 1.コンテキストクラスも100弱定義し、web.configの接続定義も100弱定義する。 2.コンテキストクラスは1つ定義し、その中に100弱のエンティティの定義をする。   web.configの接続定義は1つ定義する 上記の1、2のいずれが方向性として正しいものでしょうか? 2のほうがすっきりするとは思いますが、データ取得時にコンテキスト・クラスのインスタンスを 生成する際、余計なエンティティ定義も読み込まれるためパフォーマンスが悪いような気もします。 無視していいほど軽いのであれば、間違いなく2の方法を取るのですが…。

  • 大量のデータとインスタンスの扱いについて

    はじめまして。 この度、Javaサーブレットを利用したWEBアプリケーションを開発しようとしています。 オブジェクト指向言語での開発は初めてのため、クラス図に表れるエンティティの扱いに困っています。 例えば、アマゾンのような大規模なサイトの場合、「会員」エンティティ、「書籍」エンティティ、顧客を分類する「地域」エンティティ等は、まともにインスタンス化すれば100万以上存在すると思われますが、これらはすべてインスタンス化されメモリに常駐するものなのでしょうか? その場合はどの程度のサーバスペックと台数が必要でしょうか? それとも設計は無視して一ユーザがアクセスする度にセッション内にデータベースから1レコード分のインスタンスを生成し、検索はインスタンスではなくSQLですませてしまうものなのでしょうか? 設計から実装する場合において、そのエンティティのデータが大量になる場合はどのようなテクニックがありますか? ご教授宜しくお願いします。

    • ベストアンサー
    • Java