2017-11-04 7 views
0

いくつかのエンティティ間で関係を作成しないのは正しいですか? この図に到達するために正規化を行うにはどうすればよいですか?はこのERDの正しいと正規化を行う方法ですか?

enter image description here

+0

一見すると、管理者はユーザーである必要があります。従業員とクライアントを表すためにあなたのユーザーを使用しているように見えますが、私はその2つを分けます。 –

+0

service_providerテーブルの機能がわかりません。サービスリクエストでは、ユーザーIDとサービスIDがすでにトラッキングされています。なぜあなたは別のテーブルが必要ですか?このテーブルに追加のフィールドがある場合、サービスプロバイダーテーブルに既に入っているユーザーを追跡するのはなぜですか? –

+0

このデータベースは何を達成するはずですか? –

答えて

0

それが接続されていない複数のERDSを持つことが間違っていないのですが、通常、単一のシステムに関与する最も/すべてが関連することになります。

管理者は、通常、ほとんどまたはすべての権限が有効なユーザーとして処理され、別個のエンティティセットとして処理されることはありません。広告は切断される可能性がありますが、広告主が特定のユーザーグループをターゲットにしたい場合や、システムがインプレッションやクリックを記録する必要がある場合に関連することがよくあります。他の部分については、モデル化している状況をよりよく理解することなく、関連付けるべきかどうかを言うのは難しいです。

通常、概念化ERDが論理的関係モデルに変換された後、正規化が行われます。これは、ERD上で直接作成されるのではなく、ERDが作成された後に行われます。エンティティセット、属性、および関係をドメイン、リレーションおよび依存関係に変換する方法を理解することで、ERDで直接正規化を試みることができますが、このアプローチの問題は、エンティティリレーションシップモデルが完全で一貫性のある論理モデルではなく、 ERDでは一部の関係が表現できないことがあります。

表記を使用する際の1つの問題は、外部キーを弱いキー属性として指定することです。弱いキーは外部キーとは異なる概念で、外部キーは通常ERDには表示されません。第二に、私はservices_providersを関係にして、に直接関連付けるのではなく、services_requestsの関係(後者をassociative entityとする)を追加します。

関連する問題