web-dev-qa-db-ja.com

ER図の多重度(UML)

スキーマ:

#=PK
Employee (#NIN, fName, lName, address, DOB, sex, salary, taxCode, deptNo)
Department (#deptNo, deptName, managerNIN, businessAreaNo, regionNo)
Project (#projNo, projName, contractPrice, projectManagerNIN, deptNo)
WorksOn (#NIN, #projNo, hoursWorked)
Business (#businessAreaNo, businessAreaName)
Region (#regionNo, regionName)

場所:

  • 部門には部門の詳細が含まれ、deptNoがキーです。 managerNINは、部門のマネージャーである従業員を識別します。各部門に1人のマネージャーのみがいます。
  • プロジェクトには、社内のプロジェクトの詳細が含まれ、キーはprojNoです。プロジェクトマネージャーはprojectManagerNINによって識別され、プロジェクトを担当する部門はdeptNoによって識別されます。
  • WorksOnには、各プロジェクトで従業員が働いた時間の詳細が含まれており、(NIN、projNo)がキーを形成します。
  • Businessにはビジネスエリアの名前が含まれ、キーはbusinessAreaNoです
  • Regionにはリージョンの名前が含まれ、キーはregionNoです。

これは私が思いついたUML図です:

enter image description here

これがどれほど間違っているか正しいかはわかりませんが、特にEmployeeWorksOnProjectの多重度と関係に関心があります。

記録のために、これは単なる練習問題です。

2
benscabbia

ダイアグラムのいくつかのものが欠けているか間違っているようです。

  1. 本当に1つのプロジェクトだけで作業するように従業員を制限しますか?
  2. 従業員が別の部門のプロジェクトに取り組むことを許可しますか?そうでない場合は、これを禁止する制約/不変条件を追加する必要があります。
  3. Employee-manages-Departmentアソシエーションの現在の多重度では、すべての従業員が部門を管理する必要があります。それはおそらく正しくありません。
2
gwag