Database design 概念到关系映射
这是一个家庭作业问题。我已经有了自己的答案,但我不确定是否正确,需要你们的建议。以下是概念图:Database design 概念到关系映射,database-design,relational-model,conceptual-model,Database Design,Relational Model,Conceptual Model,这是一个家庭作业问题。我已经有了自己的答案,但我不确定是否正确,需要你们的建议。以下是概念图: ------------- | Employer | ------------------- | EmployerID, Name| ------------------- | |- supervise | ------------------ --------------- --------- | Running Project | ------- |
-------------
| Employer |
-------------------
| EmployerID, Name|
-------------------
|
|- supervise
|
------------------ --------------- ---------
| Running Project | ------- |Year, duration| | Project |
------------------- --------------- -----------
| | ProjectID, ProjectName,|
|- works -------------------
|
-------------
| Employees |
-------------
| EmpID, Name|
--------------
以下是我的关系模式:
雇主(EmployerID,名称)->主键是EmployerID
Employees(EmpID,name)->主键是EmpID
我认为雇主和雇员实体应该是正确的,因为它是正常的。但我不确定正在运行的项目和项目实体,即关联类和依赖类。以下是我的答案:
正在运行的项目(EmpID、年份、持续时间、ProjectID、ProjectName)->所有主键
Project(projectd,ProjectName)->所有主键以下是我从关系中理解的内容
- 您有三个主要实体:雇主、雇员、项目
- 雇主属性:EmployerId、姓名
- 员工属性:EmployeeId、姓名
- 项目属性:项目ID、名称、持续时间、年份
- 一个雇主监督多个项目
- 一名员工可以为多个项目工作
- 员工项目(员工ID、项目D)
- 员工项目(员工ID、项目D)
同样,我对项目表有一个建议,year属性似乎是项目开始的年份(或日期)。如果是,则Duration属性是一个派生属性(CurrentDate-StartDate)。此派生属性不需要包含在表中。以下是我从关系中理解的内容
- 您有三个主要实体:雇主、雇员、项目
- 雇主属性:EmployerId、姓名
- 员工属性:EmployeeId、姓名
- 项目属性:项目ID、名称、持续时间、年份
- 一个雇主监督多个项目
- 一名员工可以为多个项目工作
- 员工项目(员工ID、项目D)
- 员工项目(员工ID、项目D)