Объединение отношений

Лекция №1 - Операции реляционной алгебры

Определения

Схема отношения

Это поименованная совокупность атрибутов.

R =(A 1,..., An), где Ai - некоторый атрибут из домена отношения.

R =(идентификатор поставщика, адрес, товар, цена)=(A 1, A 2, A 3, A 4).

Здесь (A 1, A 3) - ключ, определяющий запись.

Степень схемы отношения

Это количество атрибутов в схеме.

Для R =(A 1, A 2, A 3, A 4) степень равна 4.

Экземпляр отношения

Это конкретная таблица с данной схемой отношения.

R =(идентификатор поставщика, адрес, товар, цена).

Кортеж

Любая одна строка в таблице экземпляра отношения.

Схема БД

A - множество всех атрибутов некоторой предметной области (универсальная схема отношения).

R 1,..., Rn - совокупность атрибутов.

Тогда ρ =(R 1,..., Rn) называется схемой БД.

Пример:

A =(A 1, A 2, A 3, A 4)

и две схемы: R 1=(A 1, A 2) и R 2=(A 1, A 3, A 4)

Так как R 1⋃ R 2= A, то ρ =(R 1, R 2).

Примеры схем БД

Пример "плохой" схемы БД

Пусть A =(идентификатор поставщика, адрес, товар, цена)

и есть одна схема ρ = R 1= A

Данная схема БД обладает следующими недостатками (аномалиями):

  • избыточность. Адрес поставщика повторяется для каждого поставляемого им товара;
  • потенциальная противоречивость. Если у поставщика меняется адрес, то его необходимо изменить во всех кортежах, в которые он входит;
  • аномалия включения кортежа. В выбранном отношении R 1 пара атрибутов идентификатор-товар является ключом. При включении новой записи, атрибуты ключа не должны быть пустыми, поэтому в БД нельзя включить поставщика, если он в данный момент не поставляет товар;
  • аномалия удаления. При удалении всех товаров, поставляемых поставщиком, теряется информация о самом поставщике.

Первопричиной этих недостатков является то, что R 1 не находится в 3НФ

Пример "хорошей" схемы БД

Пусть A =(идентификатор поставщика, адрес, товар, цена)

R 1=(идентификатор, адрес)

R 2=(товар, цена)

Схема ρ =(R 1, R 2) находится в 3НФ и не обладает перечисленными выше недостатками.

Основные операции реляционной алгебры

Объединение отношений

R = R 1⋃ R 2

Объединение отношений - это отношение, каждый кортеж которого принадлежит либо R 1, либо R 2.

Дублирование кортежей не допускается.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: