Самостоятельная ссылка или отдельные избыточные таблицы на диаграмме отношений сущностей

#database #database-design #entity-relationship #erd

#База данных #база данных-дизайн #сущность-связь #erd

Вопрос:

У меня есть случай, когда сотрудники отправляют экспертные оценки друг другу. Получатель запрашивает отзыв, а отправитель (один или несколько) отправляет отзыв. Сотрудник не может выполнять самоконтроль.

1) Могу ли я использовать одну таблицу как «Сотрудник» и использовать ее как 2 экземпляра, такие как получатель и отправитель?

2) Могу ли я использовать таблицу ‘Employee’, а затем самостоятельно ссылаться на нее, чтобы избежать избыточности? Я пытаюсь подумать, как я могу это сделать с ограничениями, такой сотрудник не может отправить свой собственный отзыв, применив условие, поскольку идентификатор сотрудника не должен быть равен при отправке / запросе обратной связи.

Ответ №1:

Не уверен, где вы видите эту избыточность, но что-то вроде этого должно работать.


employeee_review

Ответ №2:

1) У вас может быть связь с двумя ролями, которые обе заполняются сотрудниками. Однако не путайте строки / таблицы с сущностями / типами сущностей.

2) Я предполагаю, что сотрудники могут отправлять отзывы более одного раза, а также получать отзывы более одного раза. Если это так, у вас есть отношение «многие ко многим», которое нельзя денормализовать в таблице Employee с введением избыточности. Отдельная таблица с контрольным ограничением, чтобы не допустить, чтобы отправитель был равен получателю, звучит уместно.