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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Связь 1 к 1.

Где каждому кортежу 1-ой сущности ставится в соответствие не более 1-го кортежа другой сущности и наоборот.

  1. Связь 1 к М.

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

  1. Связь м:м

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

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

Связь 1 к М.

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

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете Базы данных