- •Базы данных
- •Введение
- •Часть 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.5. Метод er - проектирования
- •1.5.1. Сущности и связи
- •1.5.2. Степень связи
- •1.5.3. Переход от диаграмм er – типа к отношениям
- •Предварительные отношения для бинарных связей степени 1:1
- •Предварительные отношения для бинарных связей степени 1:n.
- •Предварительные отношения для бинарных связей степени n:m
- •1.5.4. Дополнительные конструкции, используемые в er - методе
- •Необходимость связей более высокого порядка
- •Предварительные отношения для трехсторонних связей
- •Использование ролей
- •1.5.5. Последовательность проектирования бд при использовании er- метода
- •1.5.5. Проверка отношений на завершающейся фазе проектирования
- •1.7. Другие нормальные формы
- •Часть 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. Специальные операции реляционной алгебры
- •Часть 3. Разработка приложений для работы с базами данных
- •3.1. Краткий обзор субд
- •3.2. Субд Access
- •3.2.1. Вводные замечания
- •3.2.2. Создание базы данных
- •3.2.3. Создание и работа с таблицами
- •3.2.4. Работа с запросами
- •3.2.5. Создание форм
- •3.2.5. Отчеты в 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.5. Изменение данных
- •3.4.7. Удаление данных
- •Цитированная литература
- •Оглавление
- •Часть 1. Проектирование баз данных 3
- •Часть 2. Специальные аспекты работы с базами данных 70
- •Часть 3. Разработка приложений для работы с базами данных 113
1.5. Проектирование баз данных с использованием универсального отношения
Рассматриваемый метод проектирования называют декомпозиционным методом.
1.5.1. Универсальное отношение
Предположим, что требуется разработать небольшую БД для деканата института для учета успеваемости студентов, проживающих в общежитии.
Первый шаг процесса проектирования состоит в определении как всех атрибутов, наличие которых обязательно в БД, так и связей между атрибутами.
Имена и условия, связанные с атрибутами, хранение которых предполагается, определим следующим образом:
Сном: Номер студента. Целое значение, уникальное для каждого студента института.
Сфам: Фамилия студента. Каждый студент имеет только одну фамилию, но возможно, что одну фамилию носят несколько студентов.
Кном: Номер комнаты в общежитии. В одной комнате может проживать более одного студента.
Тном: Номер телефона студента. Каждая комната общежития имеет один телефон и им пользуются все студенты, проживающие в этой комнате.
Дисц: Название дисциплины. В БД будут храниться данные о дисциплинах, по которым проведена итоговая аттестация студента.
Семестр: Институтский семестр. Представляет собой семестр, в котором данная дисциплина была завершена студентом.
Возможно, что студент изучал одну и ту же дисциплину в различных семестрах.
Оценка: Оценка за дисциплину. Оценка, полученная студентом за определенную дисциплину в данном семестре.
На рис.5.1 представлена таблица с данными, которые должны хранится в БД. Хотя на рисунке приведен пример в виде таблицы данных, которые могут храниться в БД в некоторый момент времени, указанная таблица отношением не является.
УСПЕВАЕМОСТЬ
Сном |
Сфам |
Кном |
Тном |
Дисц. |
Сем. |
Оценка |
111 |
Серов |
120 |
2135 |
ВМ |
3 |
2 |
|
|
|
|
ТМ |
2 |
4 |
|
|
|
|
Физика |
3 |
5 |
222 |
Перов |
211 |
3257 |
ВМ |
3 |
4 |
|
|
|
|
Химия |
1 |
5 |
|
|
|
|
ВТ |
4 |
4 |
333 |
Иванов |
301 |
3589 |
ТМ |
2 |
5 |
110 |
Поляков |
201 |
3290 |
ВМ |
1 |
4 |
Рис.5.1. Данные для размещения в БД
Для иллюстрации того, почему таблица на рис.5.1 не является отношением, выделим одну "строку" из таблицы (рис.5.2.).
111 |
Серов |
120 |
2135 |
ВМ |
3 |
2 |
|
ТМ |
2 |
4 | |||
Физика |
3 |
5 |
Рис.5.2. Одна "строка" таблицы, приведенной на рис.5.1.
На этом рисунке значения четырех полей Сном, Сфам, Кном и Тном - атомарные (атомарным называется неделимое значение, а не множество, или кортеж, значений из некоторых доменов), в то время как значения в полях Дисциплина, Семестр и Оценка - множественные.
Данная "строка" очевидным образом отличается по форме от кортежей. Отличие в том, что не все поля строки содержат атрибуты, значения которых атомарные. Для придания данным, приведенным на рис.5.1, формы отношения необходимо реконструировать их таким образом, чтобы каждый элемент кортежа имел атомарное значение. Обычно это удается сделать с помощью простого процесса вставки (результат для данного случая показан на рис.5.3). В результате этого процесса добавляется большой объем избыточных данных – исключение избыточности достигается на следующих этапах проектирования.
УСПЕВАЕМОСТЬ
Сном |
Сфам |
Кном |
Тном |
Дисц. |
Сем. |
Оценка |
111 |
Серов |
120 |
2135 |
ВМ |
3 |
2 |
111 |
Серов |
120 |
2135 |
ТМ |
2 |
4 |
111 |
Серов |
120 |
2135 |
Физика |
3 |
5 |
222 |
Перов |
211 |
3257 |
ВМ |
3 |
4 |
222 |
Перов |
211 |
3257 |
Химия |
1 |
5 |
222 |
Перов |
211 |
3257 |
ВТ |
4 |
4 |
333 |
Иванов |
301 |
3589 |
ТМ |
2 |
5 |
110 |
Поляков |
201 |
3290 |
ВМ |
1 |
4 |
Рис.5.3. Данные из таблицы, приведенной на рис.5.1, помещенные в корректное отношение.
Таблица на рис.5.3 представляет собой экземпляр корректного отношения. Его называют универсальным отношением проектируемой БД. В одно универсальное отношение включаются все представляющие интерес атрибуты, и оно может содержать все данные, которые предполагается размещать в БД в будущем. Для малых БД (включающих не более 20 атрибутов) универсальное отношение может использоваться в качестве отправной точки при проектировании БД.
Справедливости ради следует заметить, что большое количество атрибутов не является ограничивающим фактором при выборе метода проектирования, так как на начальном этапе проектирования можно воспользоваться обобщенными атрибутами, включающими в себя любое количество атрибутов. Например, вместо атрибутов характеризующих студента можно использовать атрибут – характеристика студента, вместо атрибутов, характеризующих технологический процесс можно использовать атрибут – характеристики техпроцесса и т.д. На следующих этапах проектирования эти обобщенные атрибуты должны быть раскрыты.