Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Горбунов / УП_ОПТ2 / Р8_Проектир.doc
Скачиваний:
40
Добавлен:
16.04.2013
Размер:
654.85 Кб
Скачать
  1. Основы проектирования баз данных.

«Жизнь требует движений». АРИСТОТЕЛЬ, 384-322гг. до н.э.

Обычная технология проектирования схемы реляционной базы данных (РБД) строится на результатах системного анализа предметной области. Главным вопросом является выделение атрибутов универсального отношения и функциональных зависимостей между ними. Существуют многочисленные инструментальные средства поддержки проектирования схем РБД типа BPwinи т.п. Для заданных множеств атрибутов и функциональных зависимостей они обеспечивают автоматическую генерацию схемы реляционной базы данных. Для понимания этого процесса необходимо иметь представление о алгоритмах и основных понятиях, используемых для анализа полноты множества функциональных зависимостей, методов вывода новых зависимостей и т.д. Эти аспекты проектирования и рассматриваются в данном разделе.

Для небольших схем реляционных баз данных можно построить схему РБД в ручную, но если атрибутов в базе более 100, то это весьма затруднительно. Ситуацию спасает возможность разработки схемы по частям, но тогда потребуется достаточно сложная процедура «склейки частей». С другой стороны, разработчик схемы РБД должен уметь контролировать результаты автоматического синтеза. Проэтому для профессионалов высокого класса объзательно глубокое понимание теории РБД.

В мировой практике проектирования схем реляционных баз данных выработаны определенные правила, называемые нормальными формами (1-ая, 2-ая, 3-я, ...) для схем реляционных отношений и схемы реляционной базы в целом, выполнение которых желательно на наиболее высоком уровне (что но не всегда так просто достигается). Уровень нормализации схемы РБД связан с типами существующих между атрибутами функциональных зависимостей и определением схем реляционных отношений. Но потребность в высших нормальных формах возникает относительно редко. Заметим, что задача построения оптимальной схемы РБД в общем случае не может быть решена, поэтому как и другие NP-полные задачи предсталяет простор для эвристик, что требует глубокого изучения и понимания конкретной предменой области. Иначе говоря, даже при наличии хорошо разработанных автоматических методах, проектирование схем РБД остается искусством.

    1. Функциональные зависимости.

«Достоинство стиля заключается в ясности.» АРИСТОТЕЛЬ, 384-322гг. до н.э.

Любое априорное знание о различного рода ограничениях, накладываемое на совокупности данных (представления предметных областей) может понизить избыточность данных и повысить их надежность. К данным целям мы и стремимся. Одним из способов формализации знаний о предметных областях является установление зависимостей между ними. Дадим строгое определение самой простой, так называемой F-зависимости, используя реляционные операции.

Пусть r(R) – отношение со схемой R, а X и Y - подмножества R. Отношение r(R) удовлетворяет функциональной зависимости XY, если Y(X=x(r(R))) имеет не более одного кортежа для каждого X-значения x. В F-зависимости XY принято называть X – правой частью (областью отправления), а Y- левой (областью прибытия).

Проверка условия выполнения зависимости XY для экземпляра отношения r(R) может быть построена на основе сортировки кортежей по значениям X-атрибутов. После проведения сортировки, кортежи с одинаковыми X-значениями окажутся рядом. Если одинаковые значения X-атрибутов в кортежах имеют также и одинаковые Y-значения, функциональная зависимостьXYвыполняется.

Очевидно, что определение F-зависимости допускает два экстремальных случая, а именно X и Y. В первос случае это травиальная зависимость , которой удовлетворяет любой экземпляр со схемой, содержащей подмножество атрибутов X. Для F-зависмости Y необходимо, чтобы все Y-значения кортежей совпадали. В дальнейшем эти случаи F-зависимостей рассмативаться не будут.

Заметим, что в общем случае для экземпляра отношения r(R) существует некоторое семейство F-зависимостей, которому этот экземпляр отношения удовлетворяет. Проблема в том, что в одном состоянии он может удовлетворять семейству зависимостей, а в другом состоянии – нет.

Нам требуется выделить такое семейство зависимостей, которому удовлетворяют все допустимые состояния. Это не так просто, как кажется. Чтобы его определить необходимы семантические знания обо всех экземплярах отношений со схемой R.

Соседние файлы в папке УП_ОПТ2