
- •Основные понятия бд и субд. Отличие понятий банк данных и база данных.
- •История возникновения понятия базы данных.
- •Цели и задачи субд.
- •Организация безопасности данных в базе данных.
- •Основные функции и классификация субд.
- •Модели и типы данных.
- •Иерархическая модель. Достоинства и недостатки данной модели.
- •Понятие сбалансированные и двоичные «деревья».
- •Сетевая модель. Достоинства и недостатки данной модели
- •Простые и сложные сетевые структуры. ??????
- •Реляционная модель. Достоинства и недостатки данной модели.
- •Основные правила э.Кодда для реляционной бд.
- •Механизм управления транзакциями.
- •Постреляционная модель. Достоинства и недостатки данной модели.
- •Многомерная модель. Достоинства и недостатки данной модели.
- •16. Основные понятия, используемые в многомерных субд: агрегируемость, историчность и прогнозируемость данных.
- •17. Представление данных в многомерной модели: куб, ячейка.
- •18. Гиперкубическая и поликубическая схемы.
- •19. Формирование «среза», «вращение», агрегация и детализация.
- •20,21,22. Объектно – ориентированные субд. Достоинства и недостатки.
- •23. Базовые понятия реляционных баз данных.
- •25. Свойства отношений.
- •26. Нормальные формы отношений.
- •27. Этапы разработки баз данных.
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •28. Первая нормальная форма (1нф).
- •29. Вторая нормальная форма (2нф).
- •30. Третья нормальная форма (3нф).
- •31. Алгоритм нормализации (приведение к 3нф).
- •32. Анализ критериев для нормализованных и ненормализованных моделей данных.
- •33.Oltp и olap-системы
- •34. Нормальные формы более высоких порядков
- •5Нф (Пятая Нормальная Форма)
- •35.Элементы модели "сущность-связь"
- •36.Семантическое моделирование
- •37.Основные понятия er-диаграмм
- •38.Типы связи сущность-связь
- •39.Модальность связи
- •40. Концептуальные и физические er – модели.
- •41. Элементы языка sql.
- •42. Операторы определения объектов базы данных Операторы ddl (Data Definition Language) - операторы определения объектов базы данных
- •43. Операторы манипулирования данными.
- •44. Операторы защиты и управления данными.
- •45. Транзакции и целостность баз данных.
VI этап. Работа с созданной базой данных.
Работа с БД включает в себя следующие действия:
поиск необходимых сведений;
сортировка данных;
отбор данных;
вывод на печать;
изменение и дополнение данных.
28. Первая нормальная форма (1нф).
Объяснение 1. Говорят, что отношение находится в 1НФ, если оно удовлетворяет определению 2. Это, собственно, тавтология, ведь из определения 2 следует, что других отношений не бывает.
Объяснение 2. Говорят, что отношение находится в 1НФ, если его атрибуты содержат только скалярные (атомарные) значения.
Непервую нормальную форму можно получить, если допустить, что атрибуты отношения могут быть определены на сложных типах данных - массивах, структурах, или даже на других отношениях.
Требование, что отношения должны содержать только данные простых типов, объясняет, почему отношения иногда называют плоскими таблицами (plain table). Действительно, таблицы, задающие отношения двумерны.
Объяснение 3. Отношение находится в 1НФ, если оно является плоской таблицей.
Свойства отношений (это и будут свойства 1НФ):
-В отношении нет одинаковых кортежей.
-Кортежи не упорядочены.
-Атрибуты не упорядочены и различаются по наименованию.
-Все значения атрибутов атомарны.
Отношения, находящиеся в 1 НФ являются «плохими» в том смысле, что они не удовлетворяют выбранным критериям, а именно, имеется большое количество аномалий обновлений , а для поддержки целостности БД требуется разработка сложных триггеров.
29. Вторая нормальная форма (2нф).
Определение 3. Отношение находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа. (Неключевой атрибут - это атрибут, не входящий в состав никакого потенциального ключа).
Отношение СОТРУДНИКИ_ОТДЕЛЫ_ПРОЕКТЫ не находится в 2НФ, т.к. есть атрибуты, зависящие от части сложного ключа:
Зависимость атрибутов, характеризующих сотрудника от табельного номера сотрудника является зависимостью от части сложного ключа:
Н_СОТР (тут стрелочка)ФАМ
Н_СОТР (и тут) Н_ОТД
Н_СОТР (и тут)ТЕЛ
Зависимость наименования проекта от номера проекта является зависимостью от части сложного ключа: Н_ПРО (стрелка) ПРОЕКТ
Для того, чтобы устранить зависимость атрибутов от части сложного ключа, нужно произвести декомпозицию отношения на несколько отношений. При этом те атрибуты, которые зависят от части сложного ключа, выносятся в отдельное отношение.
Отношение СОТРУДНИКИ_ОТДЕЛЫ_ПРОЕКТЫ декомпозируем на три отношения - СОТРУДНИКИ_ОТДЕЛЫ, ПРОЕКТЫ, ЗАДАНИЯ.
Отношение СОТРУДНИКИ_ОТДЕЛЫ (Н_СОТР, ФАМ, Н_ОТД, ТЕЛ):
Функциональные зависимости:
Зависимость атрибутов, характеризующих сотрудника от табельного номера сотрудника:
Н_СОТР ФАМ
Н_СОТР Н_ОТД
Н_СОТР ТЕЛ
Зависимость номера телефона от номера отдела:
Н_ОТД ТЕЛ
Н_СОТР ФАМ Н_ОТД ТЕЛ
1 Иванов 1 11-22-33
2 Петров 1 11-22-33
3 Сидоров 2 33-22-11
Таблица 2 Отношение СОТРУДНИКИ_ОТДЕЛЫ
Отношение ПРОЕКТЫ (Н_ПРО, ПРОЕКТ):
Функциональные зависимости:
Н_ПРО ПРОЕКТ
Н_ПРО ПРОЕКТ
1 Космос
2 Климат
Таблица 3 Отношение ПРОЕКТЫ
Отношение ЗАДАНИЯ (Н_СОТР, Н_ПРО, Н_ЗАДАН):
Функциональные зависимости:
{Н_СОТР, Н_ПРО} Н_ЗАДАН
Н_СОТР Н_ПРО Н_ЗАДАН
1 1 1
1 2 1
2 1 2
3 1 3
3 2 2
Таблица 4 Отношения ЗАДАНИЯ
Анализ декомпозированных отношений
Отношения, полученные в результате декомпозиции, находятся в 2НФ. Действительно, отношения СОТРУДНИКИ_ОТДЕЛЫ и ПРОЕКТЫ имеют простые ключи, следовательно автоматически находятся в 2НФ, отношение ЗАДАНИЯ имеет сложный ключ, но единственный неключевой атрибут Н_ЗАДАН функционально зависит от всего ключа {Н_СОТР, Н_ПРО}.
Часть аномалий обновления устранена. Так, данные о сотрудниках и проектах теперь хранятся в различных отношениях, поэтому при появлении сотрудников, не участвующих ни в одном проекте просто добавляются кортежи в отношение СОТРУДНИКИ_ОТДЕЛЫ. Точно также, при появлении проекта, над которым не работает ни один сотрудник, просто вставляется кортеж в отношение ПРОЕКТЫ.
Фамилии сотрудников и наименования проектов теперь хранятся без избыточности. Если сотрудник сменит фамилию или проект сменит наименование, то такое обновление будет произведено в одном месте.
Если по проекту временно прекращены работы, но требуется, чтобы сам проект сохранился, то для этого проекта удаляются соответствующие кортежи в отношении ЗАДАНИЯ, а данные о самом проекте и данные о сотрудниках, участвовавших в проекте, остаются в отношениях ПРОЕКТЫ и СОТРУДНИКИ_ОТДЕЛЫ.
Тем не менее, часть аномалий разрешить не удалось.
Отношения во 2НФ «лучше» ,чем в 1НФ,но еще недостаточно «хороши», т.е. остается часть аномалий обновлений, по прежнему требуются тригеры, поддерживающие целостность БД.