• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ネットワーク図のデータベース設計)

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

tenkuuryuuの回答

  • ベストアンサー
回答No.2

No1です。 すいません関係にたいしてさらに分類があるんですね。 この場合【edge関係】の中に持つ分類(x,y,z)をさらに外だしにして別テーブルにすると正規化完了かと思いますが、 物理テーブルの時には使い勝手を考えると正規化を崩したほうがいいかもしれませんね。

関連するQ&A

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

    データベース設計でよく使われる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が関連している、 というのは、フィールドの名前を丁寧に読めば判りますが・・・ 似たような名前のフィールドが複数ある場合など、 どうやって判断するのでしょうか。。? もっとリレーションシップ等の構造がパッ見てと判るような 標準的な図の書き方(●●図と言えば誰でも判るような)って無いでしょうか。。?

  • データベースの設計について教えてください。

    データベースの設計について教えてください。 基本的な質問ですみません。宜しくお願いいたします。 単純なテーブルで表現しますが、 パターンA、Bのどちらのテーブルで設計するのが良いのでしょうか。 DBはmysqlで5000万件のデータで検索のみのデータベースです。 【前提】 ユーザは複数のメールアドレスを持ちます。 画面から、このユーザのもつメールアドレスを表示させる仕様だとします。 【userマスタ】 (PK)ユーザID   ユーザ名   会社名 <パターンA> 【mailテーブル】 (PK)ユーザID (PK)ユーザメールアドレス   モバイル用アドレス <パターンB>  【mailテーブル】 (PK)ユーザメールアドレス   モバイル用アドレス   ユーザID ←インデックスをはります。

    • ベストアンサー
    • MySQL
  • Accessデータベースの作成について

    入力フォームで大分類(A)と小分類(B)、そしてサイズ(C)とサイズ(D)のどちらか一方を入力すると、価格(E)が出てくるデータベースをアクセスでつくりたいのですが、超初心者の為、参考書片手に毎日悪戦苦闘しています。アクセスに詳しい方、教えていただけますでしょうか。 以下、内容です。 Aは3種類あり、種類○○は数字の「1」、種類××は数字の「2」のように、数字で入力をしたいです。 Bは数値を入力します。整数、小数点ありのもの合わせて10種類あり、10種類中のいずれかを入力します。 CとDの入力も数値です。整数の場合も小数点の場合もあります。 AとBは必須入力、CとDはどちらか一方の数値を入力します。(入力はAとBとC、もしくは AとBとD) Aの3種類別にBの種類毎のCの価格テーブル「T_価格」はあります。 Cは入力数値X「T_価格」でEを求めます。 DはD-B÷1.5XT_価格でEを求めます。 使用しているアクセスのバージョンは2007です。 どうぞよろしくお願いします。

  • データベースの関係の正規化の問題です

    データベース設計者が関係R(A,B,C,D,E, F,G) に対し,次の関数従属性を定義した.ここで,関係R は第1 正規形として与えられたものとする.関係R の第3 正規形はどれか? 関数従属性: A → D, C→E, C → G, EG → F (A) {A,B,C,D}, {E, F,G} (B) {A,B,C}, {D,E,G}, {F} (C) {A,B,C,D,E,G}, {D, F} (D) {A,B,C,D,E,G}, {E, F,G} (E) None of these ご回答よろしくお願いいたします。

  • アクセスでデータベースを作っているのですが

    いつもお世話になります。 とっても基本的なことですが、データベースのテーブルの中のAとBとCのフィールドを集計してDのフィールドに記入したいのです。  A+B+Cという式を入れた選択クエリを作ってその集計をDに返すようにしたのですが、A,B,Cとも数値が入っていないと空白になります。テーブルの規定値には 0が入っているのでいいと思うのですが(汗) 多分ホントに簡単なことかと思うのですが、判りません(泣) よろしくお願いいたします。

  • スケールフリーネットワークをC言語で作成しているのですが。

    現在、C言語でスケールフリーネットワーク(BAモデル)を作成しているのですが、理論はわかるのですが、プログラムが不得意でどのように作っていったらいいのかわかりません。 現在作成途中のソース。 #include<stdio.h> #include<stdlib.h> #include<time.h> #define MAXDEG 500 #define N 30000 //ノードの数 typedef struct node{ int deg; int adj[MAXDEG];//adjacent隣接 double prob;//確率 } Node; /*プロトタイプ宣言*/ add_edge(int id1,int id2); Node NODES[N]; int main(){ ここがどうしていいかわかりません。 } add_edge(int id1,int id2){ Node *node1,*node2; node1 = &NODES[id1]; node2 = &NODES[id2]; node1->adj[node1->deg]=id2; (node1->deg)++; node2->adj[node1->deg]=id1; (node2->deg)++; if(node1->deg >= MAXDEG-1 || node2->deg > MAXDEG-2){ printf("DEG overflow\n"); exit(0); } 関数はこれを使おうと思っていますが、プロセスがわかりません。 よろしくお願いします。

  • データベースの結合について

    データベースAとBがあり。 データベースAには基本となるデータが入力されています。 id name flag a test 0 b aaaa 1 c ghic 0 データベースBにはデータベースBと同様のIDが入っています。 id pre a ddd このようなデータベースの場合、データベースBに入っているものを 1として表示したい場合はどのようなSQL文にしたらいいのでしょうか?? 出力したいDB例 id name flag b_flag a test 0 1 b aaaa 1 c ghic 0

  • テーブル設計について(Access2003)

    製品の在庫管理のデータベースを考えております。 [製品]テーブルと[材料]テーブルがあり構成は 次のようになっております。 この場合のそれぞれのテーブルの設計はどのよう にしたらよろしいでしょうか? 製品A   材料A   材料B   材料C 製品B   材料C   材料D 製品C   材料B   材料D

  • 2つのデータベースを連結させたい

    下記のように2つのデータベースを連結させたいのですが うまくいきません。 仕事で緊急なのでわかる方教えてください。 データベースはACCESSです。 テーブル1 A | B(日付) ---|---------- aa |2004/01/01 bb |2004/02/02 テーブル2 C | D(日付) ---|---------- cc |2004/03/03 dd |2004/04/04 ee |2004/05/05 結果 A | BD(日付) | C ---|----------|---- aa |2004/01/01| bb |2004/02/02| |2004/03/03| cc |2004/04/04| dd |2004/05/05| ee 宜しくお願いします

  • データベースの設計について

    朝からデータベースの設計について悩んでいます。 テーブルにしたいデータがあるのですが、 それぞれカテゴリーが違うデータがあります。 構造的には少ししか違わないのですが、 これらのデータを1つのテーブルとしてまとめるか、 それとも、それぞれ1つずつのテーブルにするか迷っています。 迷っている理由として: ・同時にアクセスがあった場合、全て一つのテーブルにまとめていると、障害がないか? ・全てを1つのテーブルにすると、多少は構造が違うので、必要のないフィールドが出てしまう。 それぞれを1つのテーブルで分割するということも考えたのですが、 例えば、全てのデータからある特定のデータの検索をかける場合に 不都合なのではないか?と考えてしまいます。 こういう場合には: select * from table_A where field="検索したいデータ"; select * from table_B where field="検索したいデータ"; select * from table_C where field="検索したいデータ"; とテーブルの分だけSQLを実行するしかないのでしょうか? どちらを選択しても、それぞれ一長一短のようで、混乱しています。 よろしくお願いします。

    • ベストアンサー
    • MySQL