Операция update

Операция DELETE

Операция INSERT

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

2. Удаление. Если из FST удалить кортеж, который является единственным для некоторого поставщика, то вместе с информацией о поставке детали будет удалена информация о городе, в котором находится поставщик (это происходит из-за того, что в этом отношении собрано много информации).

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

4. Для решения этих проблем заменим переменную отношений FST двумя переменными отношениями (проекциями)

SECOND


S# STATUS CITY
S1   London
S2   Paris
S3   Paris
S4   London
S5   Rome
S# P# QTY
S1 P1  
S1 P2  
S1 P3  
S1 P4  
S1 P5  
S1 P6  
S2 P1  
S2 P2  
S3 P2  
S4 P2  
S4 P4  
S4 P5  


 
 


Функциональные зависимости в переменных отношениях SECOND и SP.

Новая структура позволяет:

1. Поместить информацию о поставщике с номером S5, находящемся в Риме, даже в том случае. Если он в данный момент не поставляет детали.

2. При удалении кортежа с номером S3 из SP не утрачивается информация, что этот поставщик находится в Париже.

3. Номер поставщика указывается 1 раз.

Вторая НФ (в определении предполагается наличие одного потенциального ключа). Переменная отношения находится во 2НФ тогда и только тогда, когда она находится в 1НФ и каждый неключевой атрибут неприводимо (функционально полно) зависит от её первичного ключа.

Обе переменные отношения находятся во 2НФ.

I этап – исключим зависимости, которые не являются неприводимыми от первичного ключа или (исключение неполных зависимости).

Зависимость STATUSàCITY хотя является неприводимой но и одновременно является транзитивной (через CITY) эти транзитивные зависимости также характеризуются аномалиями.

1. Включение. Мы не можем утверждать, что с конкретным городом связано конкретное значение статуса, пока нет поставщика в этом городе.

2. Удаление. Если исключим из “SECOND” SS, то вместе с поставщиком исключится информация о городе и его статусе.

3. Обновление. Из-за наличия избыточной информации обновление происходит столько раз, сколько, например, город London встречается в отношении.

Если обновить не все кортежи, то получается исключение информации.

Заменим исходную переменную отношения SECOND двумя проекциями.


S# CITY
S1 London
S2 Paris
S3 Paris
S4 London
S5 Rome

Табл. 4

CITY STATUS
London  
Paris  
Rome  
Moscow  

Табл. 5



CITY
S#
à

STATUS
CITY
à

Рис.3 Функциональные зависимости в отношениях SC и CS

Таким образом результатом дальнейшей нормализации стало исключение транзитивных зависимостей.

Третья НФ (в определение предполагается наличие только одного потенциального ключа, который так же является первичным ключом отношения).

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

Переменные-отношения SC и CS находятся в 3НФ. Как говорилось выше этот процесс обратим.

Заключение.

Основные свойства нормальных форм:

· каждая следующая нормальная форма в некотором смысле лучше предыдущей;

· при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

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

Наиболее важные на практике нормальные формы отношений основываются на фундаментальном в теории реляционных баз данных понятии функциональной зависимости. Для дальнейшего изложения нам потребуются несколько определений.


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



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