Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpora_proektirovanie2222222222.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
532.99 Кб
Скачать

12. Организация процессов обработки данных. Функциональная зависимость в отношениях. Нормализация отношений.

Орг-ция процессов обработки данных целиком определяется правилами и ограничениями, накладываемыми той СУБД, в кот создается БД.

Реляционная БД содержит как структурную, так и семантическую информацию. Структурная информация определяется числом и видом отношений. Семантическая информация – описывает множество ФЗ-тей, существующих между атрибутами отношений, объявленных в схеме БД. ФЗ для отношения студент между атрибутами номер зачетки и ФИО студента:

Предполагается, что одно значение атрибута номер зачетки определяет одно значение ФИО студента. Данное свойство в этом отношении справедливо для всех его значений и выраж-ся сл образом: N зач > ФИО студента. Говорят, что между этими двумя атрибутами существует функц-я зависимость.

Опред-ние: Если задано некоторое отношение R, то говорится, что атрибут Y отношения R функционально зависит от атрибута X отношения R , тогда и только тогда, когда каждое значение X в отношении R в каждый момент времени связано только с одним знач-м Y.

Замечание1: Одно и то же значение X может появиться в нескольких кортежах отношения R – если Y зависит от X, то согласно определению каждый из этих кортежей содержит одно и то же значение Y.

Атрибут, стоящий слева от стрелки называется детерминантом. А атрибут Y (справа) - зависимой частью. Если X определяет Y, а Y определяет X, то между этими атрибутами существует взаимно-однозначное соответствие.

Замечание2: ФЗ атрибутов отношений напоминает понятие ФЗ в математике. F:X->Y%y=f(x)

Отличие состоит в том, что в математике значение x , соответствующее значению Y всегда одно и то же. В отношении это не всегда так. Например: студент с номером 1 имел фамилию Иванов, через некоторое время он сменил ее на Петров.

Функциональная зависимость атрибутов утверждает, что для каждого конкретного состояния БД по значению одного атрибута можно однозначно определить значения другого атрибута. Однако некоторые функциональные зависимости могут быть нежелательны из-за побочных эффектов и аномалий. В связи с этим возникает вопрос о корректности представленной схемы БД.

Определение: Корректной считается схема БД, в которой отсутствуют нежелательные функциональные зависимости.

В противном случае приходится прибегать к процедуре, называемой декомпозицией (разложение отношений), при которой данное множество отношений заменяется другим множеством отношений(число их возрастает), являющихся проекциями первых. Цель этой процедуры – устранить нежелательные ФЗ, что и составляет суть процесса нормализации.

Определение: Нормализация – это пошаговый обратимый процесс замены данной схемы БД другой схемой, в которой отношения имеют более простую и регулярную структуру.

Первая нормальная форма.

Отношением, находящимся в первой нормальной форме 1 НФ (или нормализованной), называется отношение, каждый домен которого содержит только атомарные значения и поэтому каждое значение в отношении тоже является атомарным.

фио

дети

имя

возр

1

Ива

ван

14

2

Ива

даш

15

(неатомарное отношение)

=> 1отн: сотрудник(№ сотр, ФИО); 2отн: дети(№сотр, имя реб,возр реб)

Все нормализованные отношения находятся в 1НФ. Некоторые отношения 1НФ находятся во 2НФ. И некоторые отношения во 2НФ находятся в 3НФ.

2НФ рассматривается только в отношениях, содержащих составные ключи.

Определение: Говорят, что не ключевой атрибут функционально полно зависит от составного ключа тогда и только тогда, если он функционально зависит от всего ключа в целом, но не находится в функциональной зависимости в ни от какой части составного ключа.

Определение: Пусть имеется составной ключ отношения А, содержащий атрибуты А1,А2,Аn и описательный атрибут B, который зависит только от атрибутов A1 и A2, тогда говорят, что функциональная зависимость B от A – неполная.

Например, пусть имеется отн Поставки, содержащее данные о поставщиках, поставляемых ими товаров и оценок на этот товар.Тогда схема выглядит так: Поставки (№поставщика, товар, цена). Предположим,что поставщики м. поставлять разн товары, а один и тот же товар м. поставляться разными поставщиками. Тогда ключ отнош-я -№поставщиков, товар. Пусть все поставщики поставляют товар по одной и той же цене, тогда имеем сл функц-ные зависимости: №поставщика, товар (опрееляет) цена. Товар  цена. Т.е. сущ-т неполная ФЗ атрибута Цена от ключа. Это приводит к сл аномалиям:

1. Аномалия включения: если у поставщика появляется новый товар, инф-ция о товаре и его цене не сможет храниться в БД до тех пор, пока поставщик не начнет поставлять его.

2. Ан. удаления: если поставки некоторого товара прекращаются, то из БД придется удалить инф-цию о товаре и его цене, даже если он есть в наличии у поставщика.

3. Ан. обновления: при изм-нии цены товара необходим полный просмотр отношения с целью найти все поставки товара для изм-ния цены у всех поставщиков.

Причиной этих аномалий явл-ся объединение 2х семантических фактов в одной структуре. Разложение отн-я поставки на 2 отнош-я устраняет неполную функц-ю зависимость: сохраняется отн Поставки, но там присутствуют №поставщика, товар. 2 отношение: товары(товар, цена).

Определение: Отношение находится во 2НФ, если оно находится в 1НФ, и каждый не первичный атрибут функционально полно зависит от ключа.

Определение транзитивной зависимости: Пусть X, Y и Z – 3 атрибута некоторого отношения. При этом X определяет Y, а Y определяет Z. Но обратное соответствие отсутствует. Тогда считается, что атрибут Z транзитивно зависит от X(т.е. он зависит от Y, а Y зависит от X). Например: пусть имеется отношение Хранение. Атрбиуты: фирма, склад, объём. Хранение содержит информацию о фирмах, получающих товары со складов и объёмы этих складов. Ключевой атрибут – фирма. Если каждая фирма может получать товар только с одного склада, то в данном отношении имеются сл функциональные зависимости:

Фирма определяет склад, а склад определяет объём. При этом возникает аномалии:

1) аномалия включения – если в данный момент ни одна фирма не получает товар со склада, то в БД нельзя ввести данные о его объеме (т.к. не определен ключевой атрибут) 2) аномалия обновления. Если объём склада изменяется – необходимо просмотреть и откорректировать все кортежи для всех фирм, связанных с данным складом.

3) аномалия удаления – если фирма перестаёт получать товар со склада – данные о складе и его объемах нельзя сохранять в БД.

Для устранения этих аномалий необходимо разбить исходное отношение на 2: 1отн – Хранение (фирма, склад). 2 отн – Склад (склад, объем).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]