Проектирование реляционных баз данных - 18 стр.

UptoLike

19
сущности должен быть добавлен как атрибут в отношение, отводимое n-связной
сущности.
Теперь рассмотрим случай необязательного класса принадлежности обеих
сущностей. (Рис.13)
Рис.13
В связи с этим возникает несколько проблем: пробелы в полях, отведенных
тем экземплярам сущности, которые не участвуют в связи; повторяются поля в
тех случаях, когда экземпляры S2 участвуют в связи более одного раза.
Последняя проблема остается и в том случае, когда класс принадлежности
односвязной сущности обязателен.
Если в этом случае применить правило 4 и сформировать 2 отношения, то не
исчезнут пробелы в тех полях, которые отведены под ключ S2, т.е. у этой
сущности необязательный класс принадлежности.
Решить все эти проблемы вне зависимости от класса принадлежности 1-
связной сущности можно, следуя этому правилу.
ПРАВИЛО 5.
Если степень бинарной связи равна 1:n и класс
принадлежности n-связной сущности является необязательным, то необходимо
формирование трех отношений: по одному для каждой сущности, причем ключ
каждой сущности служит первичным ключом соответствующего отношения, и
одного отношения для связи. Связь должна иметь среди своих атрибутов ключ
сущности от каждой сущности.
2.3. Предварительные отношения для бинарных связей степени M:N
Если степень бинарной связи равна m:n, то для хранения данных требуются
три отношения вне зависимости от класса принадлежности как первой, так и
второй сущностей. При использовании одного или двух отношений неизбежно
возникновение пробелов и/или повторяющихся групп данных в экземплярах
этих отношений; какая из двух проблем возникает при использовании двух
отношений зависит от классов принадлежности двух сущностей. Предлагается
следующее правило генерации предварительных отношений для случая степени
m:n.
ПРАВИЛО 6.
Если степень бинарной связи равна m:n, то для хранения
данных необходимо три отношения: по одному для каждой сущности, причем
ключ каждой сущности используется в качестве первичного ключа
соответствующего отношения, и одного отношения для связи. Последнее
отношение должно иметь в числе своих атрибутов ключ сущности каждой
сущности.
                                    19


сущности должен быть добавлен как атрибут в отношение, отводимое n-связной
сущности.
   Теперь рассмотрим случай необязательного класса принадлежности обеих
сущностей. (Рис.13)




                                  Рис.13
   В связи с этим возникает несколько проблем: пробелы в полях, отведенных
тем экземплярам сущности, которые не участвуют в связи; повторяются поля в
тех случаях, когда экземпляры S2 участвуют в связи более одного раза.
Последняя проблема остается и в том случае, когда класс принадлежности
односвязной сущности обязателен.
   Если в этом случае применить правило 4 и сформировать 2 отношения, то не
исчезнут пробелы в тех полях, которые отведены под ключ S2, т.е. у этой
сущности необязательный класс принадлежности.
   Решить все эти проблемы вне зависимости от класса принадлежности 1-
связной сущности можно, следуя этому правилу.
   ПРАВИЛО 5. Если степень бинарной связи равна 1:n и класс
принадлежности n-связной сущности является необязательным, то необходимо
формирование трех отношений: по одному для каждой сущности, причем ключ
каждой сущности служит первичным ключом соответствующего отношения, и
одного отношения для связи. Связь должна иметь среди своих атрибутов ключ
сущности от каждой сущности.
      2.3. Предварительные отношения для бинарных связей степени M:N
   Если степень бинарной связи равна m:n, то для хранения данных требуются
три отношения вне зависимости от класса принадлежности как первой, так и
второй сущностей. При использовании одного или двух отношений неизбежно
возникновение пробелов и/или повторяющихся групп данных в экземплярах
этих отношений; какая из двух проблем возникает при использовании двух
отношений зависит от классов принадлежности двух сущностей. Предлагается
следующее правило генерации предварительных отношений для случая степени
m:n.
   ПРАВИЛО 6. Если степень бинарной связи равна m:n, то для хранения
данных необходимо три отношения: по одному для каждой сущности, причем
ключ каждой сущности используется в качестве первичного ключа
соответствующего отношения, и одного отношения для связи. Последнее
отношение должно иметь в числе своих атрибутов ключ сущности каждой
сущности.