- •Определение бд и БнД. Состав и структура БнД. Назначение основных компонентов БнД.
- •Понятие хорошо и слабо структурированных данных. Основные характеристики документальных и фактографических бд.
- •Понятие ключа и индекса. Прямая и инвертированная формы индекса. Примеры.
- •Характерные свойства и отличия линейных и нелинейных структур данных. Примеры.
- •Типология простых запросов. Примеры.
- •Сходство и отличие процессов обработки данных средствами файловой системы и субд.
- •Логические модели данных.
- •Реляционная модель данных
- •Операции реляционной алгебры. Определение операций соединения и пересечения через пять базовых операций.
- •Основные этапы эволюции систем обработки данных. Основные отличия в концепциях обработки данных разных этапов.
- •Назначение и особенности этапов проектирования бд.
- •Системный анализ предметной области. Методика сбора фактов. Методика интеграции представлений.
- •Концептуальные модели данных. Модель «сущность-связь». Сущности, атрибуты, связи. Сущность-связи и мощности связей. Примеры.
- •Номер брони*
- •Номер билета*
- •15. Получение реляционной схемы из er-диаграммы. Примеры.
- •16. Функциональная зависимость. Детерминант функциональной зависимости. Полная и частичная функциональная зависимость. Примеры.
- •17. Понятие функциональной, транзитивной и многозначной зависимости. Примеры.
- •18. Нормализация отношений. Первая, вторая, третья нормальные формы. Примеры.
- •19. Нормализация отношений. Нормальная форма Бойса-Кодда. Примеры.
- •20. Нормализация отношений. Четвертая и пятая нормальные формы. Примеры.
- •21. Нормализация отношений. Процедура нормализации. Примеры применения процедуры нормализации к универсальному отношению.
- •22. Языки определения данных и манипулирования данными. Назначение. Функциональные возможности (на примере sql).
- •23. Sql. Основные понятия и компоненты.
- •24. Sql. Ограничения целостности. Примеры.
- •25. Sql. Команда изменения структуры таблицы. Примеры.
- •1. Добавление столбца.
- •2. Модификация столбца.
- •3. Удаление столбца.
- •4. Добавление ограничений на уровне таблицы.
- •2. Изменение данных – команда update
- •Удаление данных – команда delete
- •27. Sql. Команда создания таблицы. Примеры.
- •28. Sql. Извлечение данных (команда select). Примеры.
- •29. Sql. Типы соединений таблиц в команде select.
- •30. Sql. Команда select с группировкой данных. Групповые операции. Примеры.
- •31. Представление операций реляционной алгебры с помощью sql.
- •32. Целостность бд. Понятие транзакции. Модели транзакций.
- •33. Виды конфликтов при параллельном выполнении транзакций. Сериализация транзакций. Захват и освобождение объекта.
- •34. Технологии обработки данных. Функции «типового» приложения обработки данных.
- •35. Архитектуры распределенной обработки данных.
- •36. Архитектуры обслуживания клиентских запросов. Достоинства и недостатки.
- •37. Хранилища данных. Основные отличия olap и oltp-систем.
- •38. Трехуровневая архитектура схем баз данных в субд.
- •39. Физические модели баз данных. Типы индексов.
- •40. Интеграция xml-документов и реляционных бд на примере Transact-sql.
19. Нормализация отношений. Нормальная форма Бойса-Кодда. Примеры.
Нормализация – это процесс последовательной замены таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться в 5НФ.
Бойс и Кодд обосновали и предложили более строгое определение для 3НФ, которое учитывает, что в таблице может быть несколько первичных ключей.
Таблица находится в нормальной форме Бойса-Кодда тогда и только тогда, когда любая функциональная зависимость между ее атрибутами сводится к полной функциональной зависимости от возможного первичного ключа.
По определению отношение находится в НФБК, если каждый детерминант является первичным ключом.
Детерминант - любой атрибут, от которого полностью функционально зависит некоторый другой атрибут.
Пример:
Результаты сессии (Студент*, Учебный план*, Оценка)
Учебный план (№*, Дисциплина, Семестр, Кол-во часов, Форма отчетности, ФИО преподавателя)
Преподаватели (ФИО преподавателя*, Должность преподавателя) – НФБК (здесь = 3НФ)
20. Нормализация отношений. Четвертая и пятая нормальные формы. Примеры.
Нормализация – это процесс последовательной замены таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться в 5НФ.
Таблица находится в пятой нормальной форме тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной полной декомпозиции, также находится в 5НФ.
Четвертая нормальная форма является частным случаем 5НФ, когда полная декомпозиция должна быть соединением ровно этих проекций. На практике непросто подобрать реальную таблицу, которая находилась бы в 4НФ, но не была бы в 5НФ.
(Возможный ключ - поле или несколько атрибутов (полей) отношения (таблицы), совокупность значений которых отвечает требованиям, предъявляемым к первичному ключу, то есть является уникальной для каждой записи в таблице.)
21. Нормализация отношений. Процедура нормализации. Примеры применения процедуры нормализации к универсальному отношению.
Нормализация – это процесс последовательной замены таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться в 5НФ. Однако оказывается, что достаточно привести таблицы к НФБК (Нормальная форма Бойса-Кодда) и с большой гарантией считать, что они находятся в 5НФ (это утверждение нуждается в проверке, но пока не существует эффективного алгоритма такой проверки).
Рассмотрим процедуру приведения таблиц к НФБК.
Такая процедура основывается на том, что единственными функциональными зависимостями в любой таблице должны быть зависимости вида А->К, где К – первичный ключ, а А – некоторый атрибут. Принцип «один факт в одном месте» говорит о том, что не должно существовать в рамках таблицы никаких других функциональных зависимостей. Цель нормализации и состоит в удалении этих «других» функциональных зависимостей.
Рассмотрим два возможных случая.
1. Таблица имеет составной первичный ключ вида, скажем, (К1,К2), и включает также атрибут А, который функционально зависит от части этого ключа (например, от К2), но не от полного ключа. В этом случае рекомендуется сформировать другую таблицу, содержащую атрибуты К2 и А (первичный ключ – К2), и удалить атрибут А из первоначальной таблицы.
2. Таблица имеет первичный (возможный) ключ К, атрибут А1, который не является возможным ключом, но функционально зависит от К, и другой неключевой атрибут А2, который функционально зависит от А1. Решение здесь, по существу, то же самое, что и прежде – формируется другая таблица, содержащая атрибуты А1 и А2, с первичным ключом А1, а атрибут А2 удаляется из первоначальной таблицы.
Таким образом, повторяя применение двух рассмотренных правил, для любой заданной таблицы почти во всех реальных практических ситуациях можно получить в конечном счете множество таблиц, которые находятся в НФБК и не содержат каких-либо функциональных зависимостей вида, отличного от А->К.
Пример:
1. Определение первичного ключа таблицы.
Сессия (ФИО студента, Семестр, Дисциплина, Форма отчетности, Оценка, Количество часов, ФИО преподавателя)
Первичный ключ - ФИО студента, Дисциплина, Семестр, Форма отчетности.
2. Выявление атрибутов, функционально зависящих от части составного ключа.
ФИО преподавателя и Количество часов функционально зависит только от атрибутов Дисциплина, Семестр и Форма отчетности, т.е. этот атрибут вместе с совокупностью атрибутов первичного ключа составит вторую таблицу:
Учебный план (Дисциплина*, Семестр*, Форма отчетности*, Количество часов, ФИО преподавателя).
Из исходной таблицы при этом удаляются атрибуты Количество часов и ФИО преподавателя.
3. Ликвидация избыточности информации:
Учебный план (№. Уч. плана*, Дисциплина, Семестр, Форма отчетности, Количество часов, ФИО преподавателя).
Результат сессии (ФИО студента*, № Уч. плана*, Оценка).