слабый объект в зависимости от одного из двух других объектов - PullRequest
2 голосов
/ 02 апреля 2019

Считайте, что у нас есть сотрудник как единое целое, а его член семьи - слабая сущность. Мы хотим иметь медицинскую карту членов семьи. поэтому мы добавляем еще одну слабую сущность "Health Record". Диаграмма ER будет выглядеть следующим образом: (у каждой сущности есть некоторые атрибуты, которые я не указал)

Диаграмма ER

теперь все в порядке. но предположим, что мы хотим сохранить медицинскую карту для каждого сотрудника. как диаграмма ER будет в этой ситуации. Медицинская карта все еще является слабой организацией, и она существует вместе с работником или членом семьи Если мы изменим диаграмму ER, как показано на рисунке ниже, она зависит от члена семьи и сотрудника, но наличие одного из них (сотрудника или члена семьи достаточно для существования медицинской карты):

Неправильная диаграмма ER

1 Ответ

0 голосов
/ 04 апреля 2019

Хорошо, я понимаю ваш вопрос, и я разработал базу данных для вас, чтобы сохранить всю информацию в отношении отношений.

Итак, нам понадобятся 3 таблицы:

  1. Сотрудники - Хранит всю личную информацию о сотрудниках.
  2. FamilyMembers - Хранит всю личную информацию о членах семьи сотрудника.
  3. HealthRecords -Хранит все медицинские записи сотрудников и членов семьи.

Дизайн таблицы сотрудников

Columns
-- ---- ----- --- ----- -------- -------- ----- ---------- -------------------
id name email age phone address1 address2 state graduation total_familymembers Etc...
-- ---- ----- --- ----- -------- -------- ----- ---------- -------------------

Дизайн таблицы FamilyMembers

Columns
-- ----------- ---- ----- --- ----- --- -------------- 
id employee_id name email age phone sex marital_status Etc...
-- ----------- ---- ----- --- ----- --- -------------- 

Дизайн таблицы HealthRecords

Columns
-- ----------- --------- ------ ------ --- --------- ----------------- ----------
id person_type person_id height weight sex eye_color bodyfatpercentage teethcolor Etc...
-- ----------- --------- ------ ------ --- --------- ----------------- ----------

Теперь вы должны понимать, как связаны таблица Employees и таблица FamilyMembers, с идентификатором столбца Employees и столбцом employee_id для FamilyMembers.

Давайте перейдем к таблице HealthRecords, поэтому в основном вы сохраняете здесь всю информацию о состоянии здоровья, но если это сотрудник, вы вставляете «employee» в столбец person_type и id сотрудника встолбец person_id & если в нем указан член семьи, вы вставляете «член семьи» в столбец person_type и идентификатор члена семьи в столбце person_id.

Теперь сначала вы получите всех сотрудников и проверьте столбец total_familymembers равно 0 или нет.если его 0, это означает, что вам не нужно проверять членов его семьи в таблице FamilyMembers, но если его больше 0, вы получаете все строки из таблицы FamilyMembers, у которых employee_id соответствует сотруднику и после всего, что вы запрашиваете все исправностизаписи из таблицы HealthRecords, для сотрудника, который вы ищете для person_type («сотрудник») и person_id (идентификатор сотрудника), а для FamilyMember вы ищете для person_type («член семьи») и person_id (идентификатор члена семьи).

MakeОбязательно увеличивайте значение столбца total_familymembers каждый раз, когда вы вставляете новую запись члена семьи для сотрудника, чтобы у вас был счет в столбце.

Дайте мне знать, если это поможет вам иесли я чего-то не понял, простите меня и дайте мне знать, что это такое.

Спасибо.

...