русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Синтез реляционных баз данных


Дата добавления: 2014-11-01; просмотров: 1191; Нарушение авторских прав


База данных состоит из множества атрибутов и ключей. С точки зрения теоретико-множественного описания реляционной базой данных d называется такая совокупность отношений {R1, R2, ...,Rp}, в которой каждое отношение имеет вид Ri= (Si,Ki), где Si- множество атрибутов, а Ki - множество атрибутов образующих ключ.

Предположим на входе задано множество F- зависимостей F над R. С их помощью требуется создать базу данных R=( R1, R2, ...,Rp). Эта БД должна удовлетворять следующим требованиям:

1.

 
 

множество F полностью характеризуется с помощью R , т.е.

где К – выделенный ключ Ri}

2. Каждое отношение Ri находится в третьей нормальной форме.

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

4. Соединение всех полученных отношений Ri дает исходное отношение R.

Алгоритм порождающий базу данных из заданных F-зависимостей называется алгоритмом синтеза.

Определение. Если R – база данных и на ней задано множество F-зависимостей G, то в ней существует по крайней мере |EG| отношений. Это означает, что в R столько же отношений, сколько и классов эквивалентности. Из этого следует следующее.

Пусть F - множество F – зависимостей. Любая база данных должна иметь |EF| отношений, где F’ неизбыточное покрытие для F.

Исходя из этого строится способ построения структуры базы данных.

Сначала находится неизбыточное покрытиеF’ для F и в EF вычисляем классы эквивалентности. Для каждого EF(X) строим отношение, состоящее из всех атрибутов, появляющихся в EF(X). При этом атрибуты левой части каждого класса эквивалентности образуют выделенный ключ.

Реализация этого способа позволяет получить алгоритм SYNTHESIZE

Вход: множество F – зависимостей F над R.

Выход: полная схема баз данных для F.

1. Наити для F редуцированное минимальное покрытие G.



2. Для каждой CF – зависимости (X1,X2,…,Xk) Y из G построить отношение Rj= X1X2…XkY с выделенными ключами K={X1,X2,…Xk).

3. Вернуться к п. 2.

Пример.

A B1B2C1C2DEI1I2I3J

B1B2C1 AC2DEI1I2I3J

B1B2C2 AC1DEI1I2I3J

E I1I2I3

C1D J C2D J

I1I2 I3 I2I2 I1 I1I3 I2

И пусть R= AB1B2C1C2DEI1I2I3J

Множество минимально, но не редуцировано. Редуцируя F , получим

F’= {A B1B2C1C2DE E I1I2

B1B2C1 A B1B2C2 A

C1D J C2D J

I1I2 I3 I2I2 I1 I1I3 I2}

Образуя классы эквивалентности имеем

G={ (AB1B2C1 ,B1B2C2) DE

(E) I1I2

(C1D) J (C2D) J

(I1I2, I2I2, I1I3)}

Преобразуя каждую CF – в отношения с выделенными ключами, получим

R1=AB1B2C1C2DE K1= {AB1B2C1 ,B1B2C2}

R2= EI1I2 K2={E}

R3= C1DJ K3={C1D}

R4= C2DJ K4={C2D}

R5= I1I2I3 K5={ I1I2, I2I2, I1I3}

Окончательная схема БД будет R=( R1, R2, R3, R4 ,R5)



<== предыдущая лекция | следующая лекция ==>
RIGHTRED(G) | Распределенная обработка данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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