Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры бд.docx
Скачиваний:
111
Добавлен:
17.06.2021
Размер:
4.93 Mб
Скачать
  1. Примитивные и не примитивные реляционные операции. Оператор соединения

Оператор соединения определяется через операторы декартового произведения и выборки. Для оператора естественного соединения добавляется оператор проекции.

Оператор пересечения

Оператор пересечения выражается через вычитание следующим образом:

Оператор деления

Оператор деления выражается через операторы вычитания, декартового произведения и проекции следующим образом:

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

Реляционные операторы (объединениевычитаниедекартово произведениевыборка, проекция) являются примитивными операторами - их нельзя выразить друг через друга.

21. Типы связей между сущностями.

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

Очень важно, что связи являются неотъемлемой составляющей данных, как и основные сущности. Поэтому связи в БД должны быть представлены наравне с остальными сущностями предметной области.

Каждая связь между сущностями идентифицируется названием, как правило глаголом или глагольной формой. Например: студент занимается группой, самолет управляется экипажем и т. д.

Существует 3 основные типа связи между сущностями:

  1. 1:1 – связь, где каждому картежу 1 сущности соотв. не более 1 кортежа 2 сущности и наоборот

Связь 1:1 на практике встречается редко, т. к. сущности такой связи обычно объединяют в 1 сущность. Эту связь используют тогда, когда не хотят чтобы сущность «разрасталась» от включения в неё второстепенной информации, которую оформляют в виде другой сущности и снабжают тем же ключом, что и у основной сущности. Так сущности «Мужчина » и «Женщина» можно объединить в сущность «Семейная пара»:

Например сущность «служащий» можно наоборот разбить на сущности «Сотрудник» и «Доп. сведения»:

2) Связь 1:М – в этом случае 1 связанная сущность выступает в роли главной (родительской), а вторая в роли подчиненной (дочерней).

Эта связь каждому кортежу родительской сущности ставит в соответствие любое число (даже 0) кортежей дочерней сущности. Однако каждый кортеж дочерней сущности м. б. связан только с одним кортежем родительской сущности.

  1. М:М - эта связь каждому кортежу 1-ой сущности ставит в соответствие любое (в т. ч. 0) число кортежей 2-ой сущности и наоборот.

22. Связь между сущностями типа «один ко многим». Свойства внешнего ключа.

Связь 1:М – в этом случае 1 связанная сущность выступает в роли главной (родительской), а вторая в роли подчиненной (дочерней).

Эта связь каждому кортежу родительской сущности ставит в соответствие любое число (даже 0) кортежей дочерней сущности. Однако каждый кортеж дочерней сущности м. б. связан только с одним кортежем родительской сущности.

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

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

Связь 1:М является самая распространённая и позволяет моделировать иерархические структуры данных.

Свойства внешнего ключа:

  1. Внешний ключ как и первичный может быть как простым, так и составным.

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

  3. Внешний ключ, как правило, не является уникальным, т. е. ключ родительской сущности может ссылаться на несколько кортежей дочерней сущности. В противном случае связь 1:1.

  4. Каждое значение внешнего ключа должно совпадать со значением первичного ключа некоторого кортежа родительской сущности. Однако обратное неверно.

  5. Для внешнего ключа допускается, чтобы он был частью некоторого возможного ключа дочерней сущности.