Концептуальное реляционное отображение - PullRequest
1 голос
/ 08 февраля 2011

это домашнее задание.У меня уже есть свой ответ, но я не уверен, что он правильный, нужно, чтобы ваши ребята посоветовали.Вот концептуальная схема:

-------------
| Employer  |
-------------------
| EmployerID, Name|
-------------------
    |
    |- supervise
    |
------------------           ---------------  ---------
| Running Project | ------- |Year, duration| | Project |
-------------------          --------------- -----------
    |                                        | ProjectID, ProjectName,|
    |- works                                 -------------------
    |
-------------
| Employees |
-------------
| EmpID, Name|
--------------

Вот моя реляционная схема:

Работодатель (EmployerID, имя) -> Первичный ключ: EmployerID

Сотрудники (EmpID, имя) -> Первичный ключ - EmpID

Я думаю, что организация работодателя и работника должна быть правильной, как и ее обычный класс.Но я не уверен, что выполняется проект и сущность проекта, которая является классом ассоциации и зависимым классом.Вот мой ответ:

RUnning Project (EmpID, Год, Длительность, ProjectID, ProjectName) -> все первичные ключи

Project (ProjectID, ProjectName) -> все первичные ключи

1 Ответ

1 голос
/ 10 февраля 2011

Вот что я понял из отношений:

  • У вас есть 3 основных объекта: Работодатель, Сотрудник, Проект
  • Атрибуты работодателя: EmployerId, Имя
  • Атрибуты сотрудника: EmployeeId, Имя
  • Атрибуты проекта: ProjectId, Имя, Длительность, Год
  • Один работодатель контролирует более одного проекта.
  • Один сотрудникможет работать для более чем одного проекта.

В этом случае можно выделить 3 корневых таблицы: Работодатель, Сотрудник и Проект.Таблицы, используемые для связи корневых таблиц:

  • EmployerProject (EmployerId, ProjectId)
  • EmployeeProject (EmployeeId, ProjectId)

Опять же,У меня есть предложение для таблицы Project , атрибут года выглядит как год (или дата), когда проект был запущен.Если это так, то атрибут Duration является производным атрибутом (CurrentDate - StartDate).Этот производный атрибут не нужно включать в таблицу.

...