Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Цели проектирования БД и универсальное отношение. Нормализация, функц-ые и многозначные завис-ти




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

Среди множества целей, стоящих перед проектированием, следующие представляются наиболее важными: 1)Возможность хранения всех необх-мых дан-х в БД. 2)Исключение избыточности дан-х. 3)Сведение числа хранимых в БД отн-ий к минимуму. 4)Нормализация отн-ий для упрощения решения проблем, связанных с обновлением и удалением дан-х.

Таблица представляет собой экземпляр корректного отношения - универсальное отношение проектируемой БД. В одно универсальное отношение включаются все представляющие интерес атрибуты, и оно может содержать все дан-е, к-ые предполагается размещать в БД в будущем. Для малых БД (включающих не более 15 атрибутов) универсальное отн-ие может испол-ться в кач-ве отправной точки при проектировании БД.

Нормализация — это разбиение таблицы на две или более, обладающих лучшими св-вами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта БД, в к-ом каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых дан-х. Т.к. каждая таблица в реляционной БД удовлетворяет условию, в соотв-вии с к-ым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное атомарное значение, и никогда не м.б. мн-ва таких значений. Любая таблица, удовлетворяющая этому условию, называется нормализованной. Фактически, ненормализованные таблицы, т.е. таблицы, содержащие повторяющиеся группы даже не допускаются в реляционной БД. Всякая нормализованная таблица автоматически считается таблицей в первой нормальной форме. Т.о., строго говоря, "нормализованная" и "находящаяся в 1НФ" означают одно и то же. Однако на практике термин " нормализованная " часто используется в более узком смысле — "полностью нормализованная", к-ый означает, что в проекте не нарушаются никакие принципы нормализации. Теперь в дополнение к 1НФ можно определить дальнейшие уровни нормализации — вторую нормальную форму (2НФ), третью нормальную форму (3НФ) и т.д. Отношение находится в 1НФ тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов. Отношения находятся во второй нормальной форме (2НФ), если оно находится в 1НФ, а каждый неключевой атрибут функционально полно зависит от первичного ключа (составного). Отношение находится в третьей нормальной форме (3НФ), если оно находится во 2НФ, и в нем отсутствуют транзитивные функциональные зависимости неключевых атрибутов от ключа. Транзитивная зависимость – неключевой атрибут функционально зависит от неключевых атрибутов. (напр., если атрибут В зависит от атрибута А, а атрибут С зависит от атрибута В, то атрибут С транзитивно зависит от атрибута А). Отношения находятся в нормальной форме Бойса-Кодда (НФБК), если каждый детерминант является ключом-кандидатом. Два или более атрибута или группы атрибутов, которые могут быть ключом, называются ключами-кандидатами. Тот из ключей-кандидатов, который выбирается в качестве ключа называется первичным ключом. Отношение находится в четвертой нормальной форме (4НФ), если оно находится в НФБК и не содержит нетривиальных многозначных зависимостей. Т.е. все многозначные зависимости являются, по сути, функциональными зависимостями от ключей отношения. Отношение находится в пятой нормальной форме (5 НФ или в проекционно-соединительной нормальной форме) тогда и только тогда, когда каждая нетривиальная зависимость соединения в нём определяется потенциальным ключом (ключами) этого отношения. Говорят, переменная отношения R удовлетворяет зависимости соединения *{А, В,..., Z} тогда и только тогда, когда любое допустимое значение переменной отношения R эквивалентно соединению ее проекций по подмножествам А, B,..., Z множества атрибутов. Есть нормальные формы и более высокого порядка, но на практике нормализация выше пятого уровня практически ничего не дает.

Функциональная зависимость. Поле В таблицы функционально зависит от поля А той же таблицы в том и только в том случае, когда в любой заданный момент времени для каждого из различных значений поля А обязательно существует только одно из различных значений поля В. Отметим, что здесь допускается, что поля А и В могут быть составными. Напр., дано отношение блюда (бл, блюдо, вид), в к-ом поля Блюдо и Вид функционально зависят от ключа БЛ Полная функциональная зависимость. Поле В находится в полной функциональной зависимости от составного поля А, если оно функционально зависит от А и не зависит функционально от любого подмножества поля А. Т.е. полной функциональной зависимостью называется зависимость неключевого атрибута от всего составного ключа. А частичной функциональной зависимостью тогда называется зависимость неключевого атрибута от части составного ключа.

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

Пример:

Обучение

Дисциплина Преподаватель Учебник
Информатика Шипилов П.А. Форсайт Р. Паскаль для всех
Информатика Шипилов П.А. Уэйт М. и др. Язык Си
Информатика Голованевский Г.Л. Форсайт Р. Паскаль для всех
Информатика Голованевский Г.Л. Уэйт М. и др. Язык Си
... ... ...

В этой таблице есть многозначная зависимость "Дисциплина-Преподаватель": дисциплина (в примере Информатика) может может читаться несколькими преподавателями (в примере Шипиловым и Голованевским). Есть и другая многозначная зависимость "Дисциплина-Учебник": при изучении Информатики используются учебники "Паскаль для всех" и "Язык Си". При этом Преподаватель и Учебник не связныфункциональной зависимостью, что приводит к появлению избыточности (для добавление еще одного учебника придется ввести в таблицу две новых строки). Дело улучшается при замене этой таблицы на две: (Дисциплина-Преподаватель и Дисциплина-Учебник).

 





Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 1242; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.