- •28.09.2011 Лекция 2. Панасенко Сергей Петрович. Develop@ancud.Ru Основы проектирования и использования баз данных (часть 2). Дополнительные возможности оператора select
- •Оператор insert
- •Основные возможности языка определения данных
- •Основные параметры запроса на создание таблицы
- •Пример запроса на создание таблицы
- •Основные параметры запроса на модификацию таблицы
- •Примеры запросов на модификацию таблицы
- •Пример связи между таблицами (Пример 1)
- •Запрос на создание таблицы Course:
- •Запрос на создание таблицы Lectures:
- •Примеры других запросов языка определения данных:
- •Цели проектирования реляционных бд
- •Пример неудачно спроектированной бд с избыточностью:
- •Основные понятия нормализации:
- •Вторая нормальная форма
- •Пример таблицы, не соответствующей второй нормальной форме:
- •Пример бд, таблицы которой соответствуют второй нормальной форме:
- •Достоинства второй нормальной формы
- •Третья нормальная форма
- •Пример таблицы, не соответствующей третьей нормальной форме
- •Пример таблицы, соответствующей третьей нормальной форме
- •Достоинства третьей нормальной формы
- •Раздел 2.1. «Основы проектирования и использования баз данных».
- •Раздел 2.2. «Безопасность баз данных».
- •Внутренними источниками угроз безопасности субд являются
- •Безопасность взаимодействия с внешними компонентами
- •Составные части обеспечения безопасности бд
- •Логические подсистемы обеспечения безопасности
- •Основные средства обеспечения конфиденциальности субд
- •Представление
- •Пример таблицы, для которой необходимо представление
Достоинства второй нормальной формы
-
Отсутствуют аномалии вставки, обновления и удаления.
-
Таблицы БД логически разделены: одна таблица содержит информацию об одном типе объектов.
Третья нормальная форма
Таблица находится в третьей нормальной форме, если:
-
Она находится во второй нормальной форме.
-
Ни один из её неключевых атрибутов не зависит от любого другого неключевого атрибута.
Пример таблицы, не соответствующей третьей нормальной форме
Prep
NP |
Name |
Position |
Seniority |
Room |
Phone |
1 |
Иванов |
Доцент |
10 |
203 |
4253 |
2 |
Петров |
Ст. преп. |
5 |
412 |
4217 |
3 |
Сидоров |
Профессор |
20 |
301 |
4102 |
Комнаты связаны с телефоном. Если преподаватель меняет комнату, у него автоматически поменяется и телефон
Пример таблицы, соответствующей третьей нормальной форме
Course
NС |
Title |
Hours |
Exam |
1 |
Защита информационных процессов |
64 |
+ |
2 |
Основы БД |
48 |
+ |
3 |
Параллельное и многопоточное программирование |
80 |
+ |
Prep
NP |
Name |
Position |
Seniority |
1 |
Иванов |
Доцент |
10 |
2 |
Петров |
Ст. преп. |
5 |
3 |
Сидоров |
Профессор |
20 |
Lectures
NP |
NC |
1 |
1 |
3 |
2 |
3 |
3 |
Room
NR |
Room |
Phone |
1 |
203 |
4253 |
2 |
412 |
4217 |
3 |
301 |
4102 |
PrepRoom
NP |
NR |
1 |
1 |
2 |
2 |
3 |
3 |
Достоинства третьей нормальной формы
-
Те же достоинства, что и у второй нормальной формы.
-
Способствует отсутствию повторяющихся групп полей. Что будет, если один курс будет читать два преподавателя? Теоретически, в неудачной таблице мы могли бы предусмотреть ситуацию, в которой несколько преподавателей читают один и тот же курс (продублировать поля Name 1, Position 1, Name 2, Position 2, …). Крайне неудобно, а также наталкиваемся на ограничения – вдруг преподавателей окажется больше, чем таких групп полей? Третья форма позволяет избежать как раз таких повторяющихся групп полей
-
Способствует дальнейшему разбиению таблиц.
Нормальная форма Бойса-Кодда, четвёртая и пятая нормальные формы
-
Предъявляют дополнительные требования к структуре БД.
-
Способствуют дальнейшему разбиению таблиц на большее количество таблиц с меньшим количеством атрибутов.
-
Используются редко и в специфичных случаях, поскольку третья нормальная форма считается достаточной для большинства БД.
Литература к разделу 2.1
-
Илюшечкин В.М. «Основы использования и проектирования БД».
-
Википедия.
-
«MySQL Reference Manual» (Доступно на http://mysql.com на английском языке).
-
Piordan R. “Designing Relational Database Systems”.
Безопасность баз данных (раздел 2.2)
Курс «Защита информационных процессов в компьютерных системах».
Модуль 1. «Обзор угроз безопасности средств и защиты».
Модуль 2. «Защита баз данных».