- •Введение
- •1. Концепция информационных систем
- •1.1. Информация и данные предметных областей
- •1.2. Структура банка данных
- •1.2.1. База данных
- •1.2.2. Система управления базами данных
- •1.2.3. Словарь данных
- •1.2.4. Администратор базы данных и его функции
- •1.3. Контрольные вопросы
- •2. Инфомационное моделирование предметных областей для баз данных
- •2.1. Отображение явлений реального мира данными
- •2.2. Инфологическое моделирование по
- •2.3. Трехуровневое представление информационных объектов
- •2.4. Структурные элементы для моделирования данных
- •2.5. Ключи бд
- •2.6. Интеграция полей бд в отношения
- •2.7. Требования интеграции полей в отношения
- •2.8. Обобщенная структура модели данных в бнд
- •2.9. Er-модель бд
- •2.10. Формирование связей сущностей
- •Способ 1. Определение связи сущностей введением дополнительной сущности
- •Способ 2. Определение связей сущностей добавлением в тип сущности общих атрибутов
- •2.11. Бинарные отношения сущностей
- •2.12. Формы представления структур данных
- •2.13. Организация систем бд
- •2.14. Средства поддержки бд
- •2.15. Виды моделей данных для бд
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Контрольные вопросы
- •3. Системы управления базами данных
- •3.1. Функции и состав универсальной субд
- •3.2. Лингвистическое обеспечение субд
- •3.3. Независимость прикладных программ от данных
- •3.4. Операции над данными
- •Селекция данных
- •Обработка данных
- •Запросы к бд
- •3.5. Схема реализации запроса в БнД
- •Распределенная обработка данных
- •Комбинированная обработка данных
- •3.7. Целостность и ограничения целостности данных
- •3.8. Защита данных в бд
- •Контрольные вопросы
- •4.2.2. Вторичный ключ
- •4.3. Функциональные и многозначные зависимости
- •4.3.1. Функциональные зависимости
- •X y (X влечет y).
- •4.3.2. Аксиомы функциональных зависимостей
- •Контрольные вопросы
- •5. Реляционная алгебра
- •5.1. Операции над отношениями
- •5.2. Оператор "объединение" (union)
- •5.3. Оператор "вычитание" (difference)
- •5.4. Оператор "пересечение" (intersection)
- •5.5. Оператор "проектирование" (proj)
- •5.6. Оператор "выбор" (sel)
- •Комбинированный запрос с операторами proj и sel
- •5.7 Оператор "соединение" (join)
- •Запрос с соединением по одному полю
- •Алгоритм реализации
- •Запрос с соединением по нескольким полям
- •Алгоритм реализации
- •Оператор "соединение по условию"
- •5.8. Оператор "умножение" (product)
- •Запрос с оператором умножения
- •Алгоритм реализации
- •5.9. Оператор "деление" (division)
- •5.10. Оптимизация алгоритмов реализации запросов
- •Контрольные вопросы
- •6. Нормализация реляционных бд
- •6.1. Задачи нормализации Бд
- •6.2. Первая нормальная форма
- •6.3. Декомпозиция реляционных таблиц
- •Проблема дублирования, операторы реляционной алгебры для декомпозиции и объединения таблиц
- •Присоединенные записи
- •Теорема Хита
- •Критерий полной декомпозиции с исключением дублирования
- •6.4. Вторая нормальная форма
- •6.5. Третья нормальная форма
- •6.6. Экстранормализационные формы
- •Нормальная форма Бокса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •6.7. Методические аспекты реализации нормализации
- •Контрольные вопросы
4.3.2. Аксиомы функциональных зависимостей
Для каждого отношения в общем случае существует определенное множество функциональных зависимостей между атрибутами этого отношения. Из одной или нескольких функциональных зависимостей сущности можно вывести другие функциональные зависимости, также присущие этой сущности. Такая процедура реализуется на базе правил вывода, называемых аксиомами функциональных зависимостей. Рассмотрим одну из таких аксиом, называемую аксиомой транзитивности.
Аксиома транзитивности
Введем обозначения: X, Y, Z – атрибуты (А); R - отношение; QА - множество атрибутов отношения R; QF - множество функциональных зависимостей из R.
Аксиома.
Если атрибуты X, Y и Z принадлежат множеству QA и заданы зависимости
F1: X Y,
F2: Y Z,
которые принадлежат множеству функциональных зависимостей QF либо получены из него на основе правил вывода, то имеет место функциональная зависимость
X Z
или (x y) & (y z)
x z .
Пример.
В отношении
Служащие(ФИО, ЗПлата, Задание Задание, ВремяВыполнения)
атрибут ВремяВыполнения зависит от атрибута Задание, который в свою очередь зависит от атрибута ФИО. Следовательно, атрибут ВремяВыполнения транзитивно зависит от атрибута ФИО.
Это можно представить схемой:
Задание ВремяВыполнения, ФИО Задание
ФИО ВремяВыполнения
4.3.3. Многозначные зависимости
В отношении R имеет место многозначная зависимость, если при заданном значении атрибута типа X существует множество взаимосвязанных значений атрибута типа Y.
Для обозначения многозначной зависимости обычно используется символика:
X Y.
Пример.
В отношении
Поставки(Завод, Изделие, Цена)
между атрибутами типов Завод и Изделие имеет место многозначная зависимость, т.к. одному значению атрибута типа Завод соответствует множество значений атрибута типа Изделие:
Завод Изделие
4.4. Уровни автоматизации манипулирования данными в реляционных БД
В соответствии с лингвистическим обеспечением, используемым пользователями при работе с БД, предусмотрено три уровня манипулирования данными:
низший уровень - это уровень, при котором пользователь БД оперирует непосредственно с записями;
средний уровень, основанный на использовании реляционной алгебры. Пользователь для манипулирования данными использует наборы высокоуровневых операций над отношениями;
высшим уровнем автоматизации в БД является применение исчисления отношений. При этом пользователь непосредственно обращается к СУБД на ПЭВМ, используя объектный язык. В результате решение сформулированной задачи по манипулированию данными осуществляется самостоятельно программой СУБД. При таком методе пользователь не интересуется, как ЭВМ получает результат, и она, в свою очередь, имеет свободу для оптимизации запросов. В подобных системах удобнее и проще реализуется засекречивание данных.
Контрольные вопросы
1. Перечислите свойства реляционных таблиц.
2. Что называется первичным ключом?
3. Что называется вторичным ключом?
4. Приведите пример функциональной зависимости.
5. Что понимается под многозначной зависимостью?