Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
ДЕКОМПОЗИЦИОННЫЙ МЕТОД ПРОЕКТИРОВАНИЯ
РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
Общий подход к декомпозиции
Этапы проектирования: 1) Разрабатывается универсальное отношение для БД (в универсальное отношение включаются все атрибуты, представляющие интерес для данного проектирования; как полагают большинство специалистов, их число не должно превышать двадцати, иначе декомпозиционный метод становится излишне громоздким). 2) Определяются все функциональные зависимости между атрибутами данного отношения. 3) Определяется, находится ли отношение в нормальной форме Бойса - Кодда. Если да, то проектирование завершается, если нет, то осуществляется декомпозиция, т.е. разбиение отношения. 4) Шаги 2 и 3 повторяются для каждого нового отношения, полученного в результате декомпозиции. Проектирование завершается, когда все отношения будут находиться в НФБК. Декомпозиция может осуществляться следующим образом: · Пусть отношение r(A, B, C, D, E, …) не находится в НФБК. Определяется F-зависимость, являющаяся причиной того, что отношение r не находится в НФБК, например, С ® D (атрибут С является детерминантом, но не является возможным ключом). · Создаются два новых отношения: r1(A, B, С, Е, …) и r2(C, D), где зависимостная часть F-зависимости – атрибут D был выделен из отношения r и опущен при формировании отношения r1, F–зависимость С ® D была полностью использована при формировании отношения r2. Отношения r1 и r2 являются проекциями отношения r. Такая декомпозиция называется декомпозицией без потерь при естественном соединении (т. е. естественное соединение r1 и r2 даст исходное отношение r). Например, обратимся к отношению Консультант (№ студента, ФИО студента, № комнаты, № телефона, № курса, Семестр, Оценка), которое является универсальным отношением. F-зависимости отношения Консультант (были определены нами ранее): № студента ® ФИО студента; № студента ® № комнаты; № студента ® № телефона; № комнаты ® № телефона; № телефона ® № комнаты; № студента, № курса, Семестр ® Оценка. Возможным и единственным ключом отношения является составной атрибут: № студента, № курса, Семестр. Имеются три детерминанта, не являющиеся возможными ключами: № студента, № комнаты, № телефона. Необходимо выбрать F-зависимость для проведения первой проекции. Для этого отыскивают «цепочку» F-зависимостей вида: А ® В ® С и используют для проекции крайнюю правую зависимость. В нашем случае такими цепочками являются: № студента ® № комнаты ® № телефона; № студента ® № телефона ® № комнаты. а) Выбрав F-зависимость № комнаты ® № телефона, получим следующие отношения: r1(№ студента, № курса, Семестр, Оценка, ФИО студента, № комнаты); r2(№ комнаты, № телефона). Отношение r2 находится в НФБК (все его детерминанты являются возможными ключами) и не нуждается больше в декомпозиции. Отношение r1 не находится в НФБК (детерминант № студента не является возможным ключом) и поэтому разбивается далее. Детерминант № студента имеет два зависимых атрибута: № студента ® ФИО студента № студента ® № комнаты Эти две зависимости в r1 можно рассматривать как одну с составной правой частью: № студента ® ФИО студента, № комнаты. Выбирая данную F-зависимость для проведения второй проекции, получим следующие отношения: r3(№ студента, ФИО студента, № комнаты); r4(№ студента, № курса, Семестр, Оценка). Данные отношения находятся в НФБК. Проектирование завершено: отношения r2, r3, r4 могут быть использованы при формировании БД для консультанта. б) Выбрав для проведения первой проекции F-зависимость № телефона ® № комнаты, получим следующие отношения: r1(№ студента, № курса, Семестр, ФИО студента, № телефона, Оценка); r2(№ телефона, № комнаты). Отношение r2 находится в НФБК, r1 – нет. Разбиваем r1 на следующие два отношения: r3(№ студента, ФИО студента, № телефона); r4(№ студента, № курса, Семестр, Оценка). Отношения r3 и r4 находятся в НФБК, проектирование завершено. Таким образом, имеем два различных решения. Какое из двух решений является «лучшим», определяется выбором проектировщика и зависит до некоторой степени от того, как планируется использовать БД.
6.2. Некоторые комментарии к декомпозиционному методу проектирования
В предыдущем разделе было сказано, что в процессе проектирования с помощью проекций декомпозицию следует осуществлять путем поиска цепочек функциональных зависимостей вида: А ® В, В ® С с последующим проецированием, порождаемым F-зависимостью, замыкающей цепочку. Обоснование данной процедуры выбора состоит в утверждении, что всеми средствами следует избегать выбора функциональной зависимости, зависимостная часть которой сама (целиком или частично) является детерминантом другой F-зависимости. Пусть имеется отношение r(A, B, C) и F-зависимости: А ® В, В ® С. Выберем для проведения проекции F-зависимость А ® В. Получим отношения: r1(A, B) и R2(A, С). Оба эти отношения находятся в НФБК, но F-зависимость В ® С утеряна (ни отношение r1, ни r2 автономно не содержат атрибуты, присутствующие в данной функциональной зависимости). С практической точки зрения это означает то, что нельзя будет утверждать, что некорректные связи между В и С не будут привнесены в БД. При использовании правила цепочки такой ситуации не возникает. Рассмотрим другой случай возможной потери функциональной зависимости при проектировании. Пусть имеется отношение r(A, C, B) и F-зависимости: А ® В, С ® В. Отношение r не находится в НФБК. Правило цепочки здесь неприложимо по причине их отсутствия. Если же одна из функциональных зависимостей будет выделена обычным способом, то другая будет потеряна: · при выделении из r зависимости А ® В будут получены отношения: r1(A, B) и r2(A, C) и F-зависимость С ® В будет утеряна; · при выделении из r зависимости С ® В будут получены отношения: r1(С, B) и r2(A, C) и F-зависимость А ® В будет утеряна. Если отношение R разбить на r1(A, B) и r2(C, В), то ни одна из функциональных зависимостей не будет утеряна. Такой путь не соответствует стандартному методу декомпозиции. В его основе (в некоторых литературных источниках данный метод называется методом синтеза) лежит следующее утверждение: все F-зависимости с одинаковыми детерминантами необходимо выделять в группы и каждой группе отводить свое собственное отношение (что мы и сделали). Метод синтеза используется как самостоятельно, так и в сочетании с методом декомпозиции (как альтернатива при поиске выхода из затруднительной ситуации). Тот факт, что существуют различные методы проектирования, которые могут быть использованы как порознь, так и до некоторой степени смешанным образом, свидетельствует о том, что проектирование БД является частично наукой, а частично искусством.
Популярное:
|
Последнее изменение этой страницы: 2016-07-13; Просмотров: 1348; Нарушение авторского права страницы