
- •Рецензент
- •Лекция 1. Базы данных и системы управления базами данных
- •Понятие базы данных
- •Понятие системы управления базами данных
- •Обобщенная архитектура субд
- •Трехуровневая архитектура ansi-sparc
- •Достоинства и недостатки субд
- •Архитектура многопользовательских субд
- •Технология «клиент/сервер»
- •Лекция 3. Администрирование баз данных. Системный каталог Понятие независимости данных
- •Общая классификация пользователей бд
- •Администратор базы данных
- •Разделение функций администрирования
- •Лекция 4. Проектирование бд
- •Некоторые термины и определения, используемые при работе с базами данных
- •Принципы проектирования информационных систем
- •Жизненный цикл информационной системы
- •Этапы проектирования баз данных
- •Лекция 5. Семантическое моделирование
- •Лекция 6. Логическое проектирование субд Выбор субд
- •Метод ранжировки
- •Метод непосредственных оценок
- •Метод последовательных предпочтений
- •Оценка результатов экспертного анализа
- •Лекция 7. Даталогические модели данных
- •Иерархическая модель
- •Сетевая модель
- •Реляционная модель
- •Достоинства и недостатки даталогических моделей
- •Лекция 8. Нормализация бд. Часть1 Понятие функциональной зависимости[2]
- •Аксиомы вывода функциональных зависимостей
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормализация через декомпозицию
- •Лекция 9. Нормализация бд. Часть 2 Недостатки нормализации посредством декомпозиции
- •Нормальная форма Бойса–Кодда (нфбк)
- •Многозначные зависимости
- •Аксиомы вывода многозначных зависимостей
- •Четвертая нормальная форма
- •Зависимости соединения
- •Пятая нормальная форма
- •Обобщение этапов нормализации
- •Лекция 10. Физическая организация данных в субд Списковые структурых [2]
- •Последовательное распределение памяти
- •Связанное распределение памяти
- •Модель внешней памяти
- •Лекция 11. Методы поиска и индексирования данных Последовательный поиск [2]
- •Бинарный поиск
- •Индекс - «бинарное дерево»
- •Неплотный индекс
- •Плотный индекс
- •Инвертированный файл
- •Лекция 12. Реляционная модель данных Понятие отношениях
- •Формы представления отношений
- •Теоретические языки запросов
- •Определение реляционной полноты
- •Лекция 13. Распределенные базы данных и субд
- •Основные определения, классификация распределенных систем
- •Преимущества и недостатки распределенных субд
- •Функции распределенных субд
- •Архитектура распределенных субд
- •Лекция 15. Общее введение в sql, типы данных и средства определения доменов Часть 1. Введение
- •Краткая история языка sq [12]
- •Структура языка sql
- •Типы данных sql
- •Tочные числовые типы
- •Истинно целые типы
- •Точные типы, допускающие наличие дробной части
- •Приближенные числовые типы
- •Типы символьных строк
- •Типы битовых строк
- •Лекция 16. Общее введение в sql, типы данных и средства определения доменов Часть 2. Типы даты и времени
- •Тип даты
- •Типы времени
- •Типы временной метки
- •Типы времени и временной метки с временной зоной
- •Типы временных интервалов
- •Булевский тип
- •Типы коллекций
- •Типы массивов
- •Типы мультимножеств
- •Анонимные строчные типы
- •Типы, определяемые пользователем
- •Ссылочные типы
- •Средства определения, изменения определения и отмены определения доменов
- •Определение домена
- •Примеры определений доменов
- •Изменение определения домена
- •Примеры изменения определения домена
- •Отмена определения домена
- •Неявные и явные преобразования типа или домена
- •Неявные преобразования типов в sql
- •Явные преобразования типов или доменов и оператор cast
- •Заключение
- •Тезаурус
- •12. Кузнецов с. Д. Базы данных. Вводный курс. Http://citforum.Ru/database/advanced_intro/
Аксиомы вывода функциональных зависимостей
Для отношения r(R) в любой момент существует некоторое семейство F-зависимостей, которым это отношение удовлетворяет. Здесь может возникнуть та же проблема, что и с ключами: одно состояние отношения может удовлетворять F-зависимости, а другое – нет.
Требуется выявить семейство F-зависимостей F, которому удовлетворяют все допустимые состояния r. Чтобы найти F, необходимы семантические знания об отношении r. Поэтому можно считать семейство F-зависимостей заданным в схеме отношения R, в этом случае любое отношение r(F) должно удовлетворять всем F-зависимостям из F. Не всегда ясно, что является первичным: множество допустимых состояний отношения, которое определяет F-зависимости, или F-зависимости накладывают ограничения на схему отношения [14].
Множество функциональных зависимостей, применимых к отношению r(R), конечно, так как существует только конечное число подмножеств множества R. Таким образом, всегда можно найти все F-зависимости, которым удовлетворяет r. Однако этот подход требует большого количества шагов и, соответственно, много времени.
Если известны некоторые F-зависимости из F, то часто можно вывести остальные.
Множество F-зависимостей F влечет за собой зависимость X → Y, если каждое отношение, удовлетворяющее всем зависимостям в F, удовлетворяет также зависимости X → Y.
Аксиома вывода - это правило, устанавливающее, что если отношение удовлетворяет определенным F-зависимостям, то оно должно удовлетворять и некоторым другим F-зависимостям.
Сформулировано шесть аксиом вывода F-зависимостей [14]. В этих формулировках используется обозначение r для отношения на R и W, X, Y и Z – для подмножеств R.
F1. Рефлексивность. Х → Х.
F2. Пополнение. Х → Y влечет за собой XZ → Y.
F3. Аддитивность. X → У и X → Z влечет за собой X → YZ.
F4. Проективность. X → YZ влечет за собой X → Y.
F5. Транзитивность. Х → Y и Y → Z влечет за собой X → Z.
F6. Псевдотранзитивность. X → Y и YZ → W влечет за собой XZ → W.
Некоторые аксиомы вывода могут быть получены из других. Например, транзитивность F5 является частным случаем псевдотранзитивности F6 при Z = .
Приведенная система аксиом F1-F6 является полной. Это означает, что каждая F-зависимость, которая следует из множества F, может быть выведена путем одно- или многократного применения к F этих аксиом.
Из аксиом F1, F2 и F6 можно вывести остальные, а значит, они образуют полное подмножество для F1-F6. Аксиомы F1, F2 и F6 являются также независимыми: ни одна из этих аксиом не может быть получена из двух других. Иногда эти три аксиомы называются аксиомами Армстронга.
Пусть F – множество F-зависимостей для отношения r(R). Замыкание F, обозначаемое F+, – это наименьшее содержащее F множество, такое, что при применении к нему аксиом Армстронга нельзя получить ни одной F-зависимости, не принадлежащей F. Так как F+ должно быть конечно, то можно вычислить его, начиная с F путем применения F1, F2 и F6 и добавления полученных F-зависимостей к F до тех пор, пока не перестанут получаться новые зависимости. Замыкание F зависит от схемы R.
Из множества F можно вывести F-зависимость X → Y, если X → Y принадлежит F+. Так как аксиомы вывода порождают только функциональные зависимости, то F влечет за собой X → Y, если X → Y выводится из F.
Пример 1. Пусть F = {AB → C, С → В} - множество F-зависимостей на r(АВС).
Тогда:
В свете новых знаний об F-зависимостях, следует уточнить понятия ключа и суперключа.
Для данной схемы отношения R ключ - это подмножество К R, такое, что для любого допустимого отношения r(R) не существует двух различных кортежей t1 и t2 в r, таких, что r1К) = t2(К), и никакое собственное подмножество K' K не обладает этим свойством.
Для некоторых допустимых отношений со схемой R подмножество К' может быть ключом, но рассматриваются все допустимые отношения со схемой R.
Суперключ – это любая совокупность атрибутов, содержащая ключ.
Нормализация - формальный метод анализа отношений на основе их первичного ключа (или потенциальных ключей) и существующих функциональных зависимостей [4, 10, 14].
Цель нормализации – получение такого проекта базы данных, в котором каждый факт хранится в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных из-за их избыточности. Нормальная форма представляет собой ограничение на схему базы данных (отношения), которое избавляет базу данных от некоторых нежелательных свойств.
Нормализация чаще всего выполняется в несколько последовательных этапов, результатом каждого из которых является некоторая нормальная форма с известными свойствами. В теории реляционных баз данных разработано несколько нормальных форм (НФ), которые подчиняются правилу вложенности (рис. 8.1).
Рис. 8.1. Вложенность нормальных форм
Смысл вложенности нормальных форм в следующем: каждая нормальная форма является в некотором смысле более ограниченной, но и более желательной, чем предшествующая [24]. Это связано с тем, что (N + 1)-я нормальная форма не обладает некоторыми недостатками, свойственным N-й нормальной форме. Общий смысл дополнительного условия, налагаемого на (N + 1)-ю нормальную форму по отношению к N-й нормальной форме, состоит в исключении этих недостатков.
При реализации реляционной БД важно понимать, что только удовлетворение требований первой нормальной формы (1НФ) обязательно для создания отношений приемлемого качества. Все остальные формы могут использоваться по желанию проектировщика. Однако чтобы избежать аномалий обновления, описываемых ниже, нормализацию рекомендуется проводить как минимум до ЗНФ.