データベース設計の図が判りづらい

このQ&Aのポイント
  • データベース設計でよく使われるER図が理解しづらいです。
  • フィールドの名前を丁寧に読むことで関連性が判断できますが、似たような名前のフィールドが複数ある場合には判断が難しいです。
  • よりわかりやすいデータベース設計図の書き方があれば教えてください。
回答を見る
  • ベストアンサー

データベース設計の図が判りづらい

データベース設計でよく使われるER図が理解しづらいです。 例えば、wikipediaに載っているこの図 http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E8%A8%AD%E8%A8%88 userテーブルのuser_idと、revisionテーブルのrev_userが関連している、 というのは、フィールドの名前を丁寧に読めば判りますが・・・ 似たような名前のフィールドが複数ある場合など、 どうやって判断するのでしょうか。。? もっとリレーションシップ等の構造がパッ見てと判るような 標準的な図の書き方(●●図と言えば誰でも判るような)って無いでしょうか。。?

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

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

多分、英語で書かれている分かり難さも手伝っていると 思います。 wikipediaの図に、2つのテーブルのリンクするキー名を 直接書けばお悩みの問題は解決するように思います。 例えばrevisionとtextはリンクにrev text idと書かれて いますがこれを具体的な項目名であるrev_text_idとして 相手側のキーは単純な場合分かりきっていますが、 old_idと明記されてみては如何でしょうか? 複数のキーを持つテーブルの場合明瞭になるのではない でしょうか?

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

revisionテーブルの次の3つの属性   rev_page  整数型8桁   rev_text_id 整数型8桁   rev_user  整数型5桁 には,いずれも (FK) すなわち 外部キー(Foreign Key) と書かれていますので,原則として他のテーブルの主キー(灰色の鍵の形の小さなアイコン)を参照しているはずの属性です。あとは属性名の特徴とデータ型の一致より,   rev_page  は pageテーブルの主キー page_idを参照   rev_text_id は textテーブルの主キー old_id を参照   rev_user  は userテーブルの主キー user_idを参照 と判断できます。

関連するQ&A

  • ネットワーク図のデータベース設計

    データベースのテーブル設計を考えています。 多数の「ノード」があり、「エッジ」(そのノード同士の関係)をデータベースに記録したいと思っています。 例えば、A, B, C, D, E という5つのノードがあり、 「AとBは関係がある(関係の分類:X)」 「BとCは関係がある(関係の分類:X)」 「CとDは関係がある(関係の分類:X)」 「DとAは関係がある(関係の分類:X)」 「AとEは関係がある(関係の分類:Y)」 「BとDは関係がある(関係の分類:Z)」 という事を表現したいのです。 図:等幅フォントでないと崩れてしまうと思いますが、一応…。 E +---+ | | | A-B-C-D | | +-----+ ここで私が考えたのは、テーブル「node」と「edge」を用意します。nodeには、"ノードID", "ノード名"(A~E等) フィールドを作り、edgeには "ノードID1", "ノードID2", "関係" フィールドを作ります。 node : 1, A 2, B 3, C 4, D 5, E edge : 1, 2, X 2, 3, X 3, 4, X 4, 1, X 1, 5, Y 2, 3, Z このように記録しておけば、ネットワーク図をデータベース化することができると思います。 ただ、この場合、edgeテーブルで 1,2,X と 2,1,X は、同じ関係を違う表現で表記してしまうので、混乱の元になってしまいそうです。また、edgeテーブルから「Aと関係があるノードをリストアップしたい」場合も、何だかスマートではない気がするのです。 こういった事例では、どのようにデータベースを設計すると良いのでしょうか? # MySQLカテゴリで質問させて頂きましたが、Postgresの独自機能により解決できるパターンもありましたらご指摘頂ければ幸いです。

    • ベストアンサー
    • MySQL
  • ER図 設計 ruby rails データベース

    初めまして私はWEBエンジニアの駆け出しです。 勉強がてら、姉の会社の顧客管理システムを作成しようと思っています。 ですが、ER図を書くのも初めてですし関係性が理解できておりません。 そこでいくつか質問をさせてください。 以下、実現させたい事を下記に記載致します。 ・スタッフ別に売り上げ管理したい ・支店ごとの売り上げ管理したい ・担当するスタッフが変わっても前のスタッフの情報をもっておきたい。 ・顧客とスタッフを紐付けしたい。 ・ユーザーに付与した割引を一回の来店で1~n個使えるようにしたい。 ・ユーザーは一回の予約で複数の施術を予約できる。 上記6つを実現するためには今のER図で実現できますでしょうか お会計までの流れなのですが、 1.ユーザー詳細ページに入る。 2.ユーザーの詳細ページには予約一覧があり、来店されたら、予約のステータスから来店に切り替える。 3.ユーザーが利用できる割引を決定して、料金を決定したい。 1~3までの流れを実現する為には今のER図で実現できますでしょうか 疑問 1ユーザーが誰を紹介したかをわかるようにしたいのですが、 紹介テーブル的なものを作成するかユーザーテーブルに自己結合的なテーブル設計の方がいいのか迷っています。 支店ごとに出来る施術内容(料金表)を選択できるようにしたい(支店と料金テーブルの間に施術内容テーブルを作るべきでしょうか) 以上、たくさん質問してもうしわけないのですが、ご回答いただけると幸いです。

  • 「撫で切り」とは?

    「撫で切り」とは何ですか? 伊達政宗のwikiを見てたらあったんですが、よく分からなかったので質問してみます。 http://ja.wikipedia.org/wiki/%E4%BC%8A%E9%81%94%E6%94%BF%E5%AE%97

  • 志村けん結婚!?

    wikipedia(http://ja.wikipedia.org/wiki/%E5%BF%97%E6%9D%91%E3%81%91%E3%82%93#.E3.82.A8.E3.83.94.E3.82.BD.E3.83.BC.E3.83.89)に気になる記事があったので質問します。・・・行っている優香の可能性が高い。・・・と書いてありますが、優香と志村けんが結婚する確率は何%ぐらいでしょうか? ちなみに私は73%ぐらいと思います。理由は今優香に彼氏も居ないし志村けんと仲いいからです。 参考URL wikipedia「志村けん」(http://ja.wikipedia.org/wiki/%E5%BF%97%E6%9D%91%E3%81%91%E3%82%93#.E3.82.A8.E3.83.94.E3.82.BD.E3.83.BC.E3.83.89) wikipedia「優香」(http://ja.wikipedia.org/wiki/%E5%84%AA%E9%A6%99)

  • ホームセンター等

    ホームセンターの良さと足りない所は何かな? 貴方の考えを教えて下さい お願いします >http://ja.wikipedia.org/wiki/%E3%83%9B%E3%83%BC%E3%83%A0%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC

  • AZについて

    まあ、最終形態だと思う、他も追随するだろう http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E3%81%AE%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88%E4%B8%80%E8%A6%A7 http://ja.wikipedia.org/wiki/A-Z%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC 客の要望を即取り入れるそうだ、皆さんはどう思いますか 教えて下さい、お願いします

  • URLの%E3%82%A4...ってなんですか?

    http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88 上記のURLは WikiPedia で「インターネット」と検索し、表示されたときのページです。(当質問には関係ございません) このURLの、wiki/より右の、%E3%82%A4...ってのは何なんでしょうか?ご存じの方よろしくお願いします。

  • ER図が分かりづらい・・・

    例えば、四半期テーブルが 四半期ID 於年月日 至年月日 販売情報テーブルが、 販売情報ID 受注時期 納入時期 とあって、販売情報テーブルの受注時期と、納入時期フィールドには、 それぞれ、四半期テーブルの四半期IDを入れるような場合、 ER図ではどうなるんでしょうか? どうにも、ER図って、どのフィールドとどのフィールドが繋がっているのか、 直感的でなくて分かりづらいです。 Clay Database Modelingというツールを使って書いているのですが、 特にこのような場合、二つのリレーションの矢印が重なってしまって意味不明になります。 なにかもっとわかりやすい標準的な図の書き方や、 図を書くためのツールってないのでしょうか?

  • スーパーコンピュータの世界勢力

    以前は日本がスーパーコンピュータの先を行ってました。 中国の台頭をニュースで見たことがありました。 現在のところ勢力図はどのようになっていますか。 この情報は正確でしょうか。 https://ja.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E3%81%AE%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF

  • ユースケースについての質問を致します。

    何故に、"UseCase( http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%82%B9 )"と『ユースケース図』とは峻別されるべきなのでしょうか?