
- •1. Информация о дисциплине
- •1.1. Предисловие
- •Место дисциплины в учебном процессе
- •1.2. Содержание дисциплины и виды учебной работы Содержание дисциплины по гос
- •1.2.1. Объем дисциплины и виды учебной работы
- •1.2.2. Перечень видов практических занятий и контроля:
- •2. Рабочие учебные материалы
- •2.1. Рабочая программа (объем дисциплины 140 часов)
- •Раздел 1. Назначение и основные компоненты системы баз данных (12 часов)
- •1.1. Субд – основа информационных систем (8 часов)
- •1.2. Современные архитектуры ис (4 часа)
- •Раздел 2. Архитектура банка данных(20 часов)
- •2.1. Уровни представления баз данных (5 часов)
- •2.2. Категории пользователей банков данных (5 часов)
- •2.3. Концепции и этапы проектирования баз данных (10 часов)
- •Раздел 3. Модели и типы данных в бд (24 часа)
- •3.1. Представление концептуальной модели средствами субд (14 часов)
- •3.2. Типовые модели данных субд (10 часов)
- •Раздел 4. Базовые элементы реляционных бд (25 часов)
- •4.1. Проектирование реляционной базы данных (9 часов)
- •4.2. Нормализация отношений в бд (16 часов)
- •Раздел 5. Язык структурированных запросов sql (28 часов)
- •5.1. Язык манипулирования данными для реляционной модели (8 часов)
- •5.2. Реализация запросов в языке sql (20 часов)
- •Раздел 6. Использование баз данных (28 часов)
- •2.2. Тематические планы дисциплины
- •2.2.1. Тематический план дисциплины для студентов очной формы обучения
- •2.2.2. Тематический план дисциплины для студентов очно-заочной формы обучения
- •2.2.3. Тематический план дисциплины для студентов заочной формы обучения
- •2.3. Структурно-логическая схема дисциплины
- •2.4. Временной график изучения дисциплины
- •2.5. Практический блок Практические занятия (очная форма обучения)
- •Практические занятия (очно-заочная)
- •Практические занятия (заочная формы обучения)
- •Лабораторные работы (очная форма обучения)
- •Лабораторные работы (очно-заочная форма обучения)
- •Лабораторные работы (заочная форма обучения)
- •2.6. Балльно-рейтинговая система
- •3. Информационные ресурсы дисциплины
- •3.1. Библиографический список
- •3.2. Опорный конспект введение
- •Раздел 1. Назначение и основные компоненты системы баз данных
- •1.1. Субд – основа информационных систем
- •1.1.1. Эволюция развития систем управления данными
- •1.1.2. Локальная технология
- •1.1.3. Архитектура с сетью и файловым сервером
- •1.2. Современные архитектуры ис
- •1.2.1. Архитектура "клиент – сервер"
- •1.2.2. Трехзвенная архитектура "клиент – сервер"
- •1.2.3. Архитектура Intranet-приложений
- •Вопросы для самопроверки по теме 1.2
- •Раздел 2. Архитектура банка данных
- •2.1. Уровни представления баз данных
- •2.1.1. Основная терминология
- •2.1.2. Архитектура базы данных.
- •2.1.3. Процесс прохождения пользовательского запроса в субд
- •2.2. Категории пользователей банков данных
- •2.2.1. Классификация пользователей БнД
- •2.2.2. Основные функции группы администратора бд
- •2.3. Концепции и этапы проектирования баз данных
- •2.3.1. Жизненный цикл бд
- •2.3.2. Общая структура процесса проектирования бд
- •Раздел 3. Модели и типы данных в бд
- •3.1. Представление концептуальной модели средствами субд
- •3.1.1. Общие представления о моделях данных субд
- •3.1.2. Классификация моделей данных
- •3.2. Типовые модели данных субд
- •3.2.1. Иерархическая и сетевая модель данных
- •3.2.2. Реляционная и постреляционная модель данных
- •3.2.3. Многомерная модель данных
- •Раздел 4. Базовые элементы реляционных бд
- •4.1. Проектирование реляционной базы данных
- •4.1.1. Свойства и виды отношений
- •4.1.2. Реляционная алгебра
- •4.2. Нормализация отношений в бд
- •4.2.1. Понятие о нормальных формах
- •4.2.2. Формальные методы синтеза и декомпозиции нормальных форм
- •4.2.3. Проектирование с использованием метода сущность – связь
- •Раздел 5. Язык структурированных запросов sql
- •5.1. Язык манипулирования данными для реляционной модели
- •5.1.1. Назначение и история языка sql
- •5.1.2. Операторы языка sql
- •5.1.3. Модификация хранимых отношений в субд
- •5.2. Реализация запросов в языке sql
- •5.2.1. Примеры запросов
- •5.2.2. Агрегатные функции
- •5.2.3. Хранимые запросы
- •Области применения триггеров и хранимых процедур
- •Раздел 6. Использование бд
- •6.1. Программирование и управление транзакциями
- •6.1.1. Управление транзакциями в системах баз данных
- •6.1.2. Менеджеры транзакций
- •6.1.3. Параллельное выполнение транзакций
- •6.1.4. Методы сериализации транзакций.
- •6.1.5. Уровни изолированности пользователей.
- •6.2. Защита баз данных. Целостность и сохранность баз данных
- •6.2.1. Методы обеспечения безопасности
- •6.2.2. Программно-технический аспект информационной безопасности
- •6.2.3. Избирательное и мандатное управление доступом
- •6.3. Современные субд. Тенденции построения и использования баз данных
- •6.3.1. Объектная и реляционная технология
- •6.3.2. Объектно-реляционные субд
- •6.3.3. Критерии сравнения субд
- •Заключение
- •3.3 Глоссарий
- •3.4. Учебное пособие
- •3.5. Методические указания к выполнению лабораторных работ
- •3.5.1. Общие указания
- •3.6. Методические указания к выполнению практических занятий
- •3.6.1. Задания на практические занятия
- •3.6.2. Методические указания к выполнению практических заданий
- •4. Блок контроля освоения дисциплины
- •4.1. Общие указания
- •4.2. Задание на курсовой проект и методические указания к его выполнению
- •Тематика курсовых проектов
- •Рекомендуемые государственные стандарты
- •Пример оформления титульного листа
- •Задание на курсовой проект по дисциплине
- •4.3. Текущий контроль Тренировочные тесты Тест № 1 (по разделу 1)
- •8. Информационная система (ис) – это …
- •Тест №2 (по разделу 2)
- •Тест № 3 (по разделу 3)
- •8. При создании схемы таблицы бд следует описать:
- •Тест № 4 (по разделу 4)
- •Тест № 5 (по разделу 5)
- •Тест № 6 (по разделу 6)
- •3. Согласованность транзакции означает…
- •4. Изоляция транзакции означает…
- •5. Сохранность транзакции означает…
- •6. Транзакция продолжается до тех пор, пока не произойдет одно из следующих событий:
- •7. Оператор commit означает…
- •8. Оператор rollback означает…
- •Правильные ответы на тренировочные тесты
- •4.4. Итоговый контроль Вопросы для подготовки к экзамену
- •Приложение 1. Определение данных в sql.
- •Приложение 2. Журнализация изменений базы данных
- •Приложение 3. Система безопасности в субд
- •1. Информация о дисциплине 3
- •2. Рабочие учебные материалы 6
- •3. Информационные ресурсы дисциплины 23
- •4. Блок контроля освоения дисциплины 143
- •191186, Санкт-Петербург, ул. Миллионная, 5
4.2. Нормализация отношений в бд
При изучении данной темы Вы должны познакомиться с математическим аппаратом, применяемым для проектирования реляционных баз данных.
По данной теме выполняется лабораторная работа № 3, а также раздел “Концептуальное проектирование” курсового проекта. Рекомендации по выполнению этих заданий приведены в методических указаниях 3.4.
Для проверки изучения материала темы Вам предстоит также ответить на вопросы для самопроверки.
Если Вы испытываете затруднения в ответе на какой-либо вопрос, обратитесь к главам 11, 12 учебника [1] или к материалам учебного пособия [8].
4.2.1. Понятие о нормальных формах
Как отмечалось в предыдущей, теме второй составляющей алгебры является ее носитель. В реляционной модели носителем является набор специальным образом сконструированных нормализованных отношений – то, что на концептуальном уровне и является собственно базой данных. Важнейшие цели, которым служит база данных – это снижение избыточности данных и повышение достоверности отображения информации. Любое априорное знание об ограничениях на данные может служить этим целям. Один из методов формализации этих знаний основан на теории нормализации – установление ограничений между данными, которые частично отражает их семантику. Проектирование реляционной базы это фактически выделение нормальных форм.
Этот метод основан на фундаментальном в теории реляционных баз данных понятии зависимости (FD) между атрибутами отношений и выводимым из него понятия - реляционного ключа (RK).
Определение FD
В схеме отношения R (X, Y, …) атрибут X функционально определяет атрибут Y (условное обозначение XY), если в любой момент времени любому элементу проекции R[X] соответствует только один элемент проекции R[Y], в любом экземпляре схемы R.
Стрелка "" разделяет ФЗ на левую и правую части. При этом левую часть ФЗ, иногда называют детерминантой.
Функциональная зависимость это не функция в точном математическом смысле, так как допускается, что со временем она может изменяться (так же как изменяется и отношение R).
Полный набор имен
атрибутов {A1, …, An}
отношения R принято
обозначать символом UR,
Ai
UR,
(i=1, ..., n где
n – степень отношения), а
множество постулированных на R
ограничений (функциональных,
многозначных зависимостей и зависимостей
соединений) обозначают FR.
FR может связывать и совокупность атрибутов: f: {A1, ..., An} {B1, ..., Bm}.
Для вывода из заданного множества FR замыкания множества зависимостей (всех зависимостей присущих R, обозначается F+R) или получения минимального покрытия набора FR (такого набора зависимостей H, что H+=F+R и удаление любой зависимости из H приводит к нарушению этого равенства), используют аксиомы Армстронга или их расширения и правила вывода построенные на этих аксиомах.
Например, для функциональных зависимостей FD справедливы следующие аксиомы:
1. Рефлексивность.
Если Y
X
UR,
то зависимость X
Y логически следует из
FD. Зависимость вида X
X называют тривиальной.
2. Пополнение. Если справедлива зависимость X Y и Z UR, то также будет справедлива и зависимость XZ YZ.
3. Транзитивность (транзитивные зависимости). Если справедлива зависимость X Y и Y Z, то также справедлива и зависимость X Z.
Доказано что перечисленные выше аксиомы являются непротиворечивыми и надежными, поэтому выделенные из UR (на основе аксиом и постулированных FR) заключения (проекции на R) являются истинными.
В отличие от математического определения отношения, отношение R в реляционной модели нормализовано, что подразумевает использование в качестве элементов кортежа атомарных значений (элемент кортежа не может быть множеством, мощность которого превышает единицу).
Отношение, обладающее свойством атомарности элементов его составляющих, называется нормализованным или, что то же самое, находящимся в первой нормальной форме (1НФ). Нормальные формы, в которых находятся отношения, составляют иерархию, в которой формы с большими номерами не обладают некоторыми нежелательными свойствами, характерными для форм с меньшими номерами. В теории нормальных форм для реляционных БД рассматривается пять уровней нормализации: 1НФ – 5НФ и форма Бойса-Кодда (промежуточная между 3НФ и 4НФ). Каждый из следующих уровней ограничивает типы допустимых FD отношения.
Для отношений, не находящихся в нормальных формах, существуют аномалии модификации. Различают аномалии добавления, изменения и удаления.
Как отмечается во всех руководствах по проектированию реляционных схем, выделенные множества UR, F+R являются исходными (входными) данными для автоматизированных методов построения реляционных баз данных (см. параграф 4.2.2). Однако если процессы построения F+R, RK удается формализовать полностью, то процесс формирования FR не поддается полной формализации.