10

次のことを説明するER図を描画しようとしています。

-「部門」は「従業員」を採用しています

-一部の「従業員」は「特別」であり、より多くの属性を持っています

-「従業員」(「特別」および「非特別」)の一部は「マネージャー」です。

-「マネージャー」は「部門」を管理します

だから、これを伝えるために私は持っています:

Department ------(employs)------- Employee-----<--------Special
      |                             |
      |-----------(manages)----------

私の理解では、2つのエンティティ間に2つの関係を持つことはできません。では、どうすればこの状況に対処できますか?

4

5 に答える 5

16

同じ2つのエンティティ間に複数の関係を持つことができない理由はありません。この点であなたの理解は間違っています。

もちろん、関係が異なる情報を取得していること、および1つの関係の2つの側面を2つの異なる関係と間違えていないことを確認する必要があります。あなたの例は、2つのエンティティ間に2つの関係を持つための良い候補のようです。

于 2013-01-26T23:58:07.650 に答える
4

データベース図

こんにちは仲間はこの図を見て、それが役立つことを願っています

于 2013-01-27T00:03:54.747 に答える
4

ダイアグラムより良いアプローチは、従業員テーブルIsManagerにビットフィールドを追加することです。したがって、彼がマネージャーである場合、それは彼が勤務する部門のマネージャーであることを意味します。

于 2013-01-27T00:13:51.200 に答える
1

雇用と管理の関係は、2つのリンクテーブルになります。たとえば、次のようなテーブルとフィールドを検討してください。

Department
   DepartmentID
   DepartmentName

Employee
   EmployeeID
   EmployeeName

SpecialEmployee
   EmployeeID
   Attr1
   Attr2

これで、続けて、従業員と部門をそのようにリンクできます。

DepartmentEmploys
     DepartmentEmploysID
     DepartmentID
     EmployeeID


ManagesDepartment
     ManagesDepartmentID    
     EmployeeID
     DepartmentID

これで、関係が重複したり干渉したりすることはありません。あなたの図に描かれているように見えるものは正しいです。2つのエンティティ間に複数の関係が存在する可能性があります。

于 2013-01-27T00:03:05.277 に答える
-2

従業員のクラスは1つだけにする必要があります。従業員のカテゴリが複数ある場合は、従業員クラスの子クラスを作成できます。
親:従業員
1番目の子:特別な従業員
2番目の子:通常の従業員

于 2019-07-19T05:45:16.377 に答える