1

私は今学期データベースを学んでいます。erモデルの宿題は本当に私を混乱させます。

宿題は、野菜市場についての図を描いています。野菜市場には、番号が付けられた屋台のコレクションがあります。各屋台には名前(ユニーク)があり、少なくとも1種類の野菜(それぞれに名前が付いています)を販売しています。各屋台は、それぞれの野菜を独自の価格で販売しています。各農場は野菜の一部(すべてではありませんが少なくとも1つ)を栽培しますが​​、野菜は少なくとも1つの農場で栽培する必要があります。各ファームには、1つの名前(一意)と住所があります。各屋台は、合意した特定の価格で1つの農場から各野菜を購入します。

私の質問は、要件の「(少なくとも1つ、ただしすべてではない)」という制約をどのように説明するかということです。
もう1つの質問は、野菜には主キーや識別機能がないため、エンティティとして扱う必要があるということです。それとも、属性のようなものとして扱う必要がありますか?

これが私の答えです:( 出典:rrimg.com

4

1 に答える 1

2

Ad.1 私が知る限り、すべてではなく少なくとも 1 つのような情報を ERD ダイアグラムに配置することは不可能です。関係を1 つ以上の としてマークするだけで、可能です。私の頭に浮かぶ唯一のことは、その要件を述べて、適切なコメントを配置することです.

広告。2 はい、私の意見では、野菜は別の実体として表現されるべきです。属性として配置したい場合は、エンティティ「Farm_grows」の属性としてこれを行うこともできますが、一意性を維持することはできず、とにかくいくつかのキーが必要であり、最終的に最悪のことは、 3NFにはなりません。

私の提案は下の図にあります - 残念ながら、私はあなたの表記法をサポートするツールを持っていません (Visio でそれが可能であることはわかっていますが、私の表記法をあなたの表記法に翻訳するのに問題はないはずです)。

ダイアグラム

あなたのものとの違いは、SELLBUYの関係がSTALL_VEGETABLEであるということです。どうしてこんなことに?この要件のため:

「各屋台は、合意した特定の価格で 1 つの農場から野菜を 1 つずつ購入します。」

私のモデルは、ストールが購入した野菜のみを販売することを維持します。また、stall_namevegetables_nameが PK 内にあるため、ストールが異なる農場から 1 つの野菜を購入することは不可能です。モデルではそれが可能です。

于 2012-09-19T15:56:47.680 に答える