- •Базы данных
- •Введение
- •Часть 1. Проектирование баз данных
- •1.1. Некоторые понятия и определения
- •1. 2. Модели данных
- •1.2.1. Иерархическая модель данных
- •1.2.2. Сетевая модель данных
- •1.2.3. Реляционная модель данных Основные определения
- •Типы связей между отношениями
- •1.3. Классификация баз данных
- •1.4. Цели проектирования баз данных
- •1.5. Проектирование баз данных с использованием универсального отношения
- •1.5.1. Универсальное отношение
- •1.5.2. Проблемы, вызываемые использованием универсального отношения
- •Проблема вставки
- •Проблемы обновления
- •Проблемы удаления
- •1.5.3. Нормальная форма Бойса -Кодда
- •Функциональные зависимости
- •Возможный ключ и детерминант
- •Общий подход к декомпозиции
- •Анализ исходных аномалий
- •1.5.4. Возможные потери фз при декомпозиции
- •1.5.5. Избыточные функциональные зависимости
- •Приемы удаления избыточных фз
- •Минимальное покрытие
- •Модернизированный алгоритм проектирования бд
- •1.6. Метод er - проектирования
- •1.6.1. Сущности и связи
- •1.6.2. Степень связи
- •1.6.3. Переход от диаграмм er – типа к отношениям
- •Предварительные отношения для бинарных связей степени 1:1
- •Предварительные отношения для бинарных связей степени 1:n.
- •Предварительные отношения для бинарных связей степени n:m
- •1.6.4. Дополнительные конструкции, используемые в er - методе
- •Необходимость связей более высокого порядка
- •Предварительные отношения для трехсторонних связей
- •Использование ролей
- •1.6.5. Последовательность проектирования бд при использовании er- метода
- •1.6.6. Проверка отношений на завершающейся фазе проектирования
- •1.7. Другие нормальные формы
- •1.8. Контрольные вопросы
- •Часть 2. Специальные аспекты работы с базами данных
- •2.1. Защита данных в базе
- •2.2.1. Общие вопросы защиты данных
- •2.2.2. Реализация защиты данных в различных системах
- •Управление доступом в sql
- •Реализация системы защиты в ms sql Server
- •2.2. Обеспечение целостности данных
- •2.3. Организация параллельных процессов обработки данных
- •2.4. Восстановление бд
- •2.4.1. Уровни восстановления.
- •2.4.2. Восстановление и логический элемент работы
- •Требования к лэр
- •2.4.3. Промежуточное восстановление
- •2.4.4. Длительное восстановление
- •2.5. Математический аппарат, используемый при работе с реляционной базой данных
- •2.5.1. Теоретико-множественные операции реляционной алгебры
- •2.5.2. Специальные операции реляционной алгебры
- •2.6. Контрольные вопросы
- •Часть 3. Разработка приложений для работы с базами данных
- •3.1. Краткий обзор субд
- •3.2. Субд Access
- •3.2.1. Вводные замечания
- •3.2.2. Создание базы данных
- •3.2.3. Создание и работа с таблицами
- •3.2.4. Работа с запросами
- •3.2.5. Создание форм
- •3.2.6. Отчеты в Access
- •3.2.7. Макросы в Access
- •Преобразование макросов в программы на Visual Basic
- •3.2.8. Работа с внешними данными
- •3.3. Программирование в Access
- •3.3.1. Вводные замечания
- •3.3.2. Объявление переменных
- •3.3.3. Константы
- •3.3.4. Тип данных Variant
- •3.3.5. Пользовательские типы данных
- •3.3.5.Операторы, команды и выражения в vba
- •3.3.7. Процедуры vba
- •3.3.8. Управляющие структуры в vba
- •Работа с управляющими структурами
- •3.3.9. Объекты в Access
- •3.3.10. Классы в Access
- •3.3.11. Работа с ошибками в vba
- •3.4.Работа в ms sql –Server
- •3.4.1. Основные количественные показатели системы sql-сервер
- •3.4.2. Создание баз данных
- •3.4.3. Создание таблицы
- •3.4.4. Извлечение данных
- •3.4.5. Добавление данных
- •3.4.6. Изменение данных
- •3.4.7. Удаление данных
- •3.5. Контрольные вопросы
- •Цитированная литература
- •Оглавление
- •Часть 1. Проектирование баз данных 3
- •Часть 2. Специальные аспекты работы с базами данных 71
- •Часть 3. Разработка приложений для работы с базами данных 114
1.6.5. Последовательность проектирования бд при использовании er- метода
1. Определение используемых сущностей и связей между ними.
2. Определение исходных и ролевых сущностей, если таковые имеются.
3. Построение диаграммы ER- типа, включающей в себя все сущности и связи, важные с точки зрения интересов пользователя.
4. Построение набора предварительных отношений и указаний предполагаемого первичного ключа для каждого отношения.
5. Подготовка списка всех представлявших интерес атрибутов (тех из них, которые не были уже перечислены в диаграмме ER- типа в качестве ключей сущности) и назначения каждого из этих атрибутов одному из предварительных отношений.
6. Определение для каждого отношения межатрибутных ФЗ, с помощью которых проверяется соответствие отношений НФБК.
7. Отношения не находящиеся в НФБК подвергаются декомпозиции с последующей проверкой их на нахождение в НФБК.
8. П.7 повторяется до тех пор пока все отношения не будут находится в НФБК.
9. Если некоторым атрибутам не находится логически обоснованных мест в предварительных отношениях, то в этом случае необходимо пересмотреть ER - диаграммы на предмет устранения возникших затруднений.
1.6.6. Проверка отношений на завершающейся фазе проектирования
После завершения разработки НФБК-отношений, рассматриваемых уже в качестве окончательного проекта, полученный набор необходимо проконтролировать на предмет наличия не выявленных проблем.
1. Составляются списки ФЗ для каждого отношения. Одна и та же ФЗ не должна появляться более чем в одном отношении. Если таковые имеются, то их необходимо удалить.
2. Осуществляется проверка на присутствие избыточных отношений. Отношение является избыточным, если а) - все атрибуты в избыточном отношении могут быть найдены в другом отношении проектного набора; б) - все атрибуты в избыточном отношении могут быть найдены в отношении, которое может быть получено из других отношений предложенного проектного набора с помощью серии операций СОЕДИНЕНИЕ над этими отношениями. Если устанавливается избыточность отношения, его следует исключить из проектного набора.
Для примера, иллюстрирующего первый тип избыточности, полагаем, что набор проектных отношений имеет вид:
R1(A,B)
R2(B,C,Y,Z)
R3(A,B,K)
Отношение R1 является избыточным, т.к. все его атрибуты присутствуют в отношении R3.
Для иллюстрации избыточности второго типа положим, что предлагаемый проектный набор имеет вид:
R1(A,C,X)
R3(D,K,F)
R5(D,E,G,H)
R7(A,B,D)
R8(A,B,E,G)
Отношение R8 является избыточным, т.к. применение операции СОЕДИНЕНИЕ к R5 и R7 (общим атрибутом является D) даст отношение R9(A,B,E,D,G,H), которое содержит все атрибуты, присутствующие в R8.
3. Рассмотрение отношений с практической точки зрения. Изучается характер использования отношений в конструируемой БД и определяется будут ли они поддерживать те типы запросов и операции обновления, которые предполагается использовать
4. При использовании декомпозиционного метода проектирования набор ФЗ, полученный в результате проектирования, должен в точности совпадать с набором, присутствующим в минимальном покрытии, полученном перед началом декомпозиции.