問題タブ [entity-relationship]

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 投票する
3 に答える
202 参照

oop - ドメイン関係をモデル化するタイミングと、コンテキスト関係を処理する方法を知る

私はドメイン モデリングを初めて使用するので、いくつか初歩的な質問をすることをお許しください。私の最初の質問は、いつドメイン関係をモデル化するかを知ることです。すべてのクラスが何らかの形で他のほとんどのクラスに関連しているように見えることがありますが、いつこれらの関係を直接モデル化する必要があるのか​​ よくわかりません (あるクラスで別のクラスへの参照を保持することによって)。

たとえば、注文のコレクションに関連する Person クラスがあり、各注文が製品のコレクションに関連しているとします (想像を絶する例を許してください)。これらの各エンティティには、データベース内に対応するテーブルがありました。Person が (その人の注文を通じて) 関連する Products を処理するクライアント ロジックを作成している場合、Person.Products コレクションを作成したくなるように思われます。 Persons Orders コレクションを引き戻します。これは大丈夫ですか、それともデザインが悪いですか?これを処理するより良い方法は何ですか?

第二に、関係が本質的に文脈に依存している状況についてはどうですか? 前の例を続けると、person メソッドで実行したいビジネス ロジックが、特定の Product (つまり、Person の Orders コレクションのサブセット) を含む Person に関連付けられたすべての Order を処理する必要があるとします。このサブセットを正確に返す SQL を非常に簡単に作成できます。問題は、結果をどこに公開するかです。クライアント コードが次のようになるように、Product パラメーターを受け取り、Orders コレクションを返すメソッドを Person に配置する必要がありますか?

エンティティは、関係のさまざまなサブセットを公開するために、このような複数のメソッドを持つ必要がありますか?それとも、 Person は単一の Orders コレクションのみを持ち、サブセットを他の方法で処理する必要がありますか?

ありがとう

0 投票する
2 に答える
68 参照

oop - ドメイン モデルで特定の SQL クエリの結果を公開する場所

これらの例のうち、特定の製品を含む特定の人物の注文のコレクションを公開する最良の方法はどれですか?またその理由は? それとも、これをすべて一緒に行うためのより良い方法がありますか? (申し訳ありませんが、ドメインモデリングは初めてです)。Orders リストは、SQL クエリを使用してデータベースから取得され、List コレクションに変換されます。

Person には 1 対多数の注文があり、Order には 1 対多数の Products があります。

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

mysql - MySQL での外部キー作成の問題

この記事に従っています: http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html 2 つのテーブル間に外部キーを作成します。すべての試行が失敗します。足りないものはありますか?!

本当にイライラしますし、この問題が発生するとはまったく予想していませんでした。

ありがとう。

0 投票する
30 に答える
13813 参照

sql - 最も有用なデータベース標準のいくつかは何ですか?

私にはいくつかのアイデアがあり、そのいくつかは時間の経過とともに蓄積されてきましたが、データベースをモデリングするときに何がスムーズに進むのかを本当に知りたいです。

  1. テーブル名が主キー名および説明キーと一致する
  2. スキーマは機能領域ごとです
  3. 可能な場合は複合主キーを避けてください(一意の制約を使用してください)
  4. キャメルケースのテーブル名とフィールド名
  5. テーブルの前にtbl_を付けたり、procの前にSP_を付けたりしないでください(ハンガリアン記法なし)
  6. OLTPデータベースは少なくともBCNF/4NFである必要があります
0 投票する
1 に答える
930 参照

entity-framework - Entry Framework Add To Intersection Table

私はEFに飛び込み始めたばかりで、単純に見えることをすることができないようです。

これが私の質問とサポート情報です。

どんな助けや提案も大いに当てはまります。

ユーザーテーブルとグループテーブルがあります。これらの間には、ユーザーが任意の数のグループに属することを許可する UserGroups Intersection テーブルがあります。

グループ テーブルには、値が既に入力されています。

私の質問は、Intersection テーブルでユーザーとグループの間の関係が作成されるように、このユーザーにグループを追加する方法です。

私の主キーの自動インクリメント。

これが私のDB構造です:

代替テキスト

私のEF構造は次のようになります。

代替テキスト

事前に感謝します。これがわかったら、この投稿を更新します。

よろしく

イアン

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

data-modeling - エンティティ関係モデリング: エンティティの「役割」を実装する方法は?

最近、データ モデリングについて少し読んだことがありますが、エンティティが果たす役割について質問があります。

会社があり、会社がサプライヤー、顧客、ディストリビューターなど、またはこれらの役割の組み合わせであるという単純なケースを考えてみましょう。したがって、会社 X はサプライヤーと顧客の両方である可能性があります。

データ レベルでは、CompanyS のテーブルがあり、次に Company テーブルを参照する SupplierS、CustomerS などのテーブルがある場合があります。少なくとも、これはそれがどのように表現されるかだと思います。

さて、アプリケーションランドのどこかに、CustomerS や SupplierS などのクラスがあります。それぞれが Company で構成され、その特定のクラスに関するその他の特別な要素が含まれます。

一度に 1 つのエンティティ クラスだけを操作する限り、これで問題ありません。会社から始めて、それがどのような役割を果たしているのかを確認したい場合はどうすればよいでしょうか? したがって、アプリケーションで Company をプルアップすると、それがサプライヤーとディストリビューターであることがわかります。

これを行うにはいくつかの方法が考えられますが、この問題領域は非常に古いため、これらの概念をモデル化するための実証済みの真のパターンが必要であると感じています。

したがって、私がここで探しているのは、アプリケーション レベルでエンティティ ロールをモデル化するための一般的な戦略またはパターンです。この特定のテーマに関する特定の参考資料は大歓迎です (ブログや書籍など)。

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

entity-relationship - ER モデル化されたサブタイプはデータベースにどのように実装されていますか?

これが単純すぎる場合は申し訳ありませんが、最近ERモデリングに関する多くのドキュメントを見つけましたが、それらはすべて実際の実装をスキップしているようで、明確にしたいだけです.

サブタイプは、サブタイプに属するプロパティとともにスーパータイプへの外部キーを持つ単なる 2 番目のテーブルですか? とにかく、これは私にとって最も理にかなっています。サブタイプの主キーは通常、スーパータイプとも共有されます (サブタイプの主キーにはスーパータイプに対する外部制約があります)?

0 投票する
2 に答える
348 参照

entity-framework - Entity Framework (.Net 4.0) でナビゲーション プロパティを主キーとして使用するにはどうすればよいですか?

私は VS2010/.Net 4.0 で Entity Framework に導入されたModel Firstアプローチを試していますが、これを行う方法がよくわかりません。次のエンティティから始めます。

ここNameで、、、AddressおよびDurationは、私が定義した複合型です。

ここで、 からへRSVPの多対多マッピングとして機能するエンティティを追加したいと思いますが、と呼ばれる複雑な型に追加の情報も保持します。テーブルはおそらく次のようになります。ContactsEventsPayment

モデル デザイナーでこのエンティティを構築しようとすると、それぞれのテーブルに多対多の関係を追加しContactIdてフィールドを追加したいのですが、そうすると、2 つのフィールドを主キーとして選択できません。EventIdテーブル (またはエンティティのエンティティ キー)。

どうすればいいですか?

0 投票する
2 に答える
3429 参照

.net - Entity Framework は、リレーションシップで "1" または "0 または 1" の多重度を使用する必要があるかどうかをどのように判断しますか?

コード生成プロセスの一環としてプログラムで edmx ファイルを作成しています。「データベースからモデルを更新する」ときに、デザイナーがリレーションシップに「1」または「0..1」を使用する方法を知りたいです。これに関する洞察はありますか?ありがとう

編集:

わかりました、「多」側がnull可能な外部キーの場合は「0..1」を使用し、null可能でない場合は「1」を使用すると思います。誰でもこれを確認できますか?