問題タブ [erd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
282 参照

erd - 3 番目のエンティティによって制約される 1:N の関係をモデル化するにはどうすればよいですか?

私の苦境: 私はクライアントとアカウント エンティティの関係が 1 対多 (1:N) であるが、クライアントと office_location の関係が一意 (1 対 1、1:1) である会計データベースを Chen でモデル化しています。 . 私は三項関係を考え出し、それを二項関係を通じて他の 3 つに接続された弱い実体に解決しようとしました。私はこのようなものになります:

OFFICE_LOC ---SERVES(M:N)=== クライアント

OFFICE_LOC ---ANCHORS(1:N)=== アカウント (WE)

クライアント ===所有者(1:N)=== アカウント (私たち)

一般的に言えば、クライアントは複数のアカウントを持つことができるにもかかわらず、office_loc ごとに 1 つのアカウントしか持てないという条件をモデル化する方法を理解するのに苦労しています。

0 投票する
1 に答える
508 参照

sql - SQLite ERD (キャストとユニオンのコスト)

document - key - valueSQLite データベースに大量 (50,000 行以上) を保存する必要があります。私の懸念は、これらの値はテキストまたは数値(日付、文字列、数値など)にすることができるということです。2 つの方法でベースをリクエストする必要があります。

  • ドキュメント #### のすべての値
  • または比較演算子を使用

私は2つの可能な解決策について考えました:

解決策 1:
単一のテーブル:
key(text) | type(one of text/date/float) | value(text)

比較が必要な場合は明示的なキャストを使用します(たとえば、
SELECT * FROM mytable WHERE (CAST(value as float) < "2010-01-01 00:00:00") AND (type='date')
または
SELECT * FROM mytable WHERE (CAST(value as float) < 17.5) AND (type='float')

このソリューションで私が好きなもの

  • すべての値を取得するのは簡単です

このソリューションで気に入らないこと:

  • (潜在的に)高価なキャストをたくさん作らなければならない

解決策 2:
3 つのテーブル:

  • テキスト値:key(text) | value(text)
  • フロート値:key(text) | value(float)
  • 日付値:key(text) | value(datetime)

このソリューションで私が好きなもの

  • もうキャストはいらない

このソリューションで気に入らないこと:

  • すべての値を取得するには、3 つの選択とユニオンのコストがかかります
  • これはあまりエレガントではないと思います

質問
では、どのソリューションをお勧めしますか?なぜ?提案する別の解決策はありますか?

0 投票する
1 に答える
157 参照

erd - 無限の ERD を展開する

私が知る限り、拡張不可能な多対多の関係を含む学校の課題の erd があります。私は多くの教師が教えることができるクラスを持っています (同じ部屋で同時に同じ人々を教える多くの教師のように)。多くの教師によって教えられ、多くの教師が同じクラスを(同時に)教えることができます。これをどのように拡張できるか、誰にもわかりませんか?

グループなどの週のエンティティを作成してみました。そのため、1 つのクラスは 1 つのグループによって指導され、1 つのグループは多くのクラスを教えることができますが、それでも 1 つのグループに多くの教師がいて、多くの教師がグループに含まれる可能性があるという問題が発生します。私が見るたびに、教師とクラスまたは弱いエンティティとの間に多対多の関係が生まれます。どんな助けも大歓迎です。ありがとう

0 投票する
6 に答える
44341 参照

mongodb - MongoDB の ERD に相当しますか?

MongoDB などの NoSQL データベースの ERD に相当するものは何ですか?

0 投票する
1 に答える
113 参照

database-design - これは欠陥ですか?

Visio では、リレーションシップの片側しか変更できません。

「1-M」の関係が必要な場合は、「識別」を選択する必要がありますが、これにより自動的に FK が PK になり、私には正しくないように思えます。

同じ問題を抱えている人はそれが欠陥だと言ったので、visioでそれを回避する方法はありませんか?

0 投票する
4 に答える
6911 参照

database - Facebookデータベースの設計...なぜプロファイルテーブルがあるのですか?

下の画像を参照してください ここに画像の説明を入力してください

1つのアカウントには1つのプロファイル関係があるのに、なぜプロファイルテーブルがあるのですか?ステータスの保存とは別に、プロファイルテーブルの目的は何ですか。アカウントテーブルにステータスを含めて、「アカウント」テーブルからBasicInformation、PersonalInformationなどに直接関係を作成してみませんか。

http://i.stack.imgur.com/u7GKB.jpg

0 投票する
3 に答える
113 参照

sql - データベースモデリングに関する質問

テーブル:
学生
教授
エントリ (データベースにはまだエントリ用の物理テーブル エントリはありません。このテーブルはフロントエンドにあるため、必要に応じて複数のヘルパー テーブルから構成されている可能性があります。有効な erd を作成する必要があるだけです)

序文: 1 人の学生は多くの教授に関連付けることができます 1 人の教授は多くの学生に関連付けることができます 1 つのエントリには 0,1 またはそれ以上の学生または教授を含めることができます。教授は 1 人以上の学生と関連付ける必要があります 学生は教授と関連付ける必要はありません これは次のようにする必要があります (フロントエンド エントリ テーブル):

ここに画像の説明を入力

このテーブル内のすべての教授は、テーブル内で関連付けられた名前を持っている必要があります。(たとえば、Wandy は Alex に関連付けられています) 学生がこのテーブルに関連付けられた教授を持つ必要はありません (ただし可能です)。1 行 (たとえば、Linda (学生)、 Kelly (Professor),Victor (Professor)) 互いに関連付けることはできません。しかし、リンダがデビッドと関係を持っていれば、まったく問題ありません。

問題は、1 つの列が異なるテーブルの ID を持つ方法をよく理解していないことです (そして、それらは複数です!) そして、そのための有効な erd を構築する方法をよく理解していません。必要な追加の質問にお答えします。どうもありがとう!

0 投票する
4 に答える
1209 参照

database - データベース設計で 1 対 1 の関係を使用する必要があるのはいつですか?

データベース設計で 1 対 1 の関係を使用する必要があるのはいつですか? 私の意見では、2 つのテーブルが 1 対 1 の関係にある場合、それらを 1 つのテーブルに結合できます。これは本当ですか?

0 投票する
1 に答える
136 参照

database-design - ERDをチェックする人を探しているNoob

私はNOOBであり、比較的基本的なサイトを設計しています。

データベースオブジェクトのERDをチェックアウトできる場所を誰かが知っているかどうか疑問に思いました。

これは私が設計しているアプリケーションのタイプにとって重要であり、何かを見落としていないことを確認するためにいくつかの助けを使うことができることを私は知っています。

前もって感謝します。

0 投票する
3 に答える
8079 参照

mysql - MySQL Workbench の EER ダイアグラム エディタは、部分的/完全にばらばら/オーバーラップの特殊化である関係を持つテーブルを表すことができますか?

Frost、Day、van Slyke による "Database Design and Development: A Visual Approach" から学んでいます。

第 5 章では、部分的または全体的、ばらばらまたはオーバーラップの特殊化を示す関係を示します。

残念ながら、MySQL Workbench でそのようなことを図示する方法がわかりません。グーグル検索でもあまり出てこない。それらについてSQLだけで質問した人が「リレーショナルデータベースのモデルがわからない」と言われるという結果が出て、本当に困りました。

私の本では、これがディスクスペースを節約できる例を挙げており、リレーショナル モデルの完全に有効な部分であると述べています。しかし、Workbench には表示されないようです。

Workbench でスペシャライゼーションを示すにはどうすればよいですか? この本では、例として「学生」、「運動選手」、および「評議員」のテーブルを使用しています。ここで、学生は、運動選手、生徒会のメンバー、またはその両方になることができます。

編集:多かれ少なかれ同じ質問をしている人々へのリンクがいくつか見つかりました。これは、 mysqlフォーラムのユーザーへのリンクです。彼は、基本的に彼の質問を無視する迷惑な返信を受け取りました。DevShedの質問へのリンクを次に示します。彼は何の返事もありませんでした。EERという名前が示唆しているにもかかわらず、機能がワークベンチに存在しないと思われます。