
- •Рецензент
- •Лекция 1. Базы данных и системы управления базами данных
- •Понятие базы данных
- •Понятие системы управления базами данных
- •Обобщенная архитектура субд
- •Трехуровневая архитектура ansi-sparc
- •Достоинства и недостатки субд
- •Архитектура многопользовательских субд
- •Технология «клиент/сервер»
- •Лекция 3. Администрирование баз данных. Системный каталог Понятие независимости данных
- •Общая классификация пользователей бд
- •Администратор базы данных
- •Разделение функций администрирования
- •Лекция 4. Проектирование бд
- •Некоторые термины и определения, используемые при работе с базами данных
- •Принципы проектирования информационных систем
- •Жизненный цикл информационной системы
- •Этапы проектирования баз данных
- •Лекция 5. Семантическое моделирование
- •Лекция 6. Логическое проектирование субд Выбор субд
- •Метод ранжировки
- •Метод непосредственных оценок
- •Метод последовательных предпочтений
- •Оценка результатов экспертного анализа
- •Лекция 7. Даталогические модели данных
- •Иерархическая модель
- •Сетевая модель
- •Реляционная модель
- •Достоинства и недостатки даталогических моделей
- •Лекция 8. Нормализация бд. Часть1 Понятие функциональной зависимости[2]
- •Аксиомы вывода функциональных зависимостей
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормализация через декомпозицию
- •Лекция 9. Нормализация бд. Часть 2 Недостатки нормализации посредством декомпозиции
- •Нормальная форма Бойса–Кодда (нфбк)
- •Многозначные зависимости
- •Аксиомы вывода многозначных зависимостей
- •Четвертая нормальная форма
- •Зависимости соединения
- •Пятая нормальная форма
- •Обобщение этапов нормализации
- •Лекция 10. Физическая организация данных в субд Списковые структурых [2]
- •Последовательное распределение памяти
- •Связанное распределение памяти
- •Модель внешней памяти
- •Лекция 11. Методы поиска и индексирования данных Последовательный поиск [2]
- •Бинарный поиск
- •Индекс - «бинарное дерево»
- •Неплотный индекс
- •Плотный индекс
- •Инвертированный файл
- •Лекция 12. Реляционная модель данных Понятие отношениях
- •Формы представления отношений
- •Теоретические языки запросов
- •Определение реляционной полноты
- •Лекция 13. Распределенные базы данных и субд
- •Основные определения, классификация распределенных систем
- •Преимущества и недостатки распределенных субд
- •Функции распределенных субд
- •Архитектура распределенных субд
- •Лекция 15. Общее введение в sql, типы данных и средства определения доменов Часть 1. Введение
- •Краткая история языка sq [12]
- •Структура языка sql
- •Типы данных sql
- •Tочные числовые типы
- •Истинно целые типы
- •Точные типы, допускающие наличие дробной части
- •Приближенные числовые типы
- •Типы символьных строк
- •Типы битовых строк
- •Лекция 16. Общее введение в sql, типы данных и средства определения доменов Часть 2. Типы даты и времени
- •Тип даты
- •Типы времени
- •Типы временной метки
- •Типы времени и временной метки с временной зоной
- •Типы временных интервалов
- •Булевский тип
- •Типы коллекций
- •Типы массивов
- •Типы мультимножеств
- •Анонимные строчные типы
- •Типы, определяемые пользователем
- •Ссылочные типы
- •Средства определения, изменения определения и отмены определения доменов
- •Определение домена
- •Примеры определений доменов
- •Изменение определения домена
- •Примеры изменения определения домена
- •Отмена определения домена
- •Неявные и явные преобразования типа или домена
- •Неявные преобразования типов в sql
- •Явные преобразования типов или доменов и оператор cast
- •Заключение
- •Тезаурус
- •12. Кузнецов с. Д. Базы данных. Вводный курс. Http://citforum.Ru/database/advanced_intro/
Первая нормальная форма
Схема отношения R находится в первой нормальной форме (1НФ), если значения в домене D(A) являются атомарными для каждого атрибута А в JR. Другими словами, значения в домене не являются ни списками, ни множествами простых или сложных значений [14].
Схема базы данных R находится в первой нормальной форме, если каждая схема отношения в R находится в 1НФ.
Определить понятие атомарности трудно: значение атомарное в одном приложении, может быть неатомарным в другом. Можно руководствоваться общим принципом, что значение неатомарно, если в приложении оно используется по частям.
Пример 2. Имеется отношение Сотрудники:
Сотрудники |
НОМЕР |
ФИО |
|
23 |
Вербов Александр Владимирович |
24 |
Фисенко Александр Сергеевич |
|
25 |
Фатхи Дмитрий Владимирович |
Если понадобится указать только фамилии сотрудников, то указанное отношение не находится в 1НФ, так как требуемые значения являются частью атрибута ФИО. Чтобы отношение в таких условиях находилось в 1НФ, атрибут ФИО должен быть разбит на части, как показано ниже.
Сотрудники |
НОМЕР |
ФАМИЛИЯ |
ИМЯ |
ОТЧЕСТВО |
|
23 |
Вербов |
Александр |
Владимирович |
24 |
Фисенко |
Александр |
Сергеевич |
|
25 |
Фатхи |
Дмитрий |
Владимирович |
Пример 3. Отношение Род, представленное ниже, не находится в первой нормальной форме потому, что оно включает величины, являющиеся совокупностью атомарных значений.
Род |
ИМЯ |
ПОЛ |
|
Иван, Александр, Сергей |
мужской |
Мария, Ирина |
женский |
Чтобы отношение Род находилось в 1НФ, оно должно быть представлено следующим образом.
Род |
ИМЯ |
ПОЛ |
|
Иван |
мужской |
Александр |
мужской |
|
Сергей |
мужской |
|
Мария |
женский |
|
Ирина |
женский |
В чем преимущество применения 1НФ? В том, что 1НФ позволяет выражать F-зависимости с той степенью детализации, с какой требует приложение, что невозможно без 1НФ.
Но и 1НФ обладает рядом существенных недостатков [4, 10, 14]. На первых этапах проектирования базы данных, после анализа предметной области и определения состава информации для хранения в БД обычно формируется так называемое универсальное отношение.
Универсальное отношение – одна таблица, находящаяся в 1НФ, в которой может храниться вся информация об интересующей предметной области. Другими словами схему этого отношения образует весь перечень интересующих атрибутов предметной области [8].
При использовании универсального отношения возникают следующие проблемы [8, 14].
1. Избыточность. Данные многих столбцов многократно повторяются. Повторяются и некоторые наборы данных.
2. Аномалии обновления:
а) аномалии добавления;
б) аномалии изменения;
в) аномалии удаления.
Аномалии обновления являются нежелательным побочным эффектом, обусловленным избыточностью хранимых данных при внесении изменений в отношение.
Рассмотрим отношение График.
График |
РЕЙС |
ДАТА |
ПИЛОТ |
ГАЛЕРЕЯ |
|
112 |
6 июня |
Иванов |
7 |
112 |
7 июня |
Петров |
7 |
|
203 |
9 июня |
Иванов |
12 |
Атрибуты РЕЙС ДАТА являются ключом отношения График, и это отношение должно также удовлетворять F-зависимости РЕЙС→ГАЛЕРЕЯ. Пусть требуется обновить отношение, указав значение ключа и задавая значения всем остальным атрибутам. Однако если выполнить операцию
ИЗМЕНИТЬ (График; 112, 6 июня, ПИЛОТ=Иванов, ГАЛЕРЕЯ=8),
то отношение перестанет удовлетворять F-зависимости РЕЙС→ГАЛЕРЕЯ. Чтобы избежать нарушения F-зависимости, необходимо после каждого выполнения операции обновления просмотреть полученное отношение и везде (во всех кортежах), где появляется указанный в операторе номер рейса, изменить номер галереи на указанный в операторе. А требовалось всего лишь изменить один кортеж. Кроме того, информация о связи между номером рейса и номером галереи дублируется с рассмотренном отношении, что ведет к избыточности информации.
С точки зрения как обновления, так и устранения избыточности лучше представить ту же информацию в виде базы данных из двух отношений Пилот-График и Галерея-График.
Пилот-График |
РЕЙС |
ДАТА |
ПИЛОТ |
|
112 |
6 июня |
Иванов |
112 |
7 июня |
Петров |
|
203 |
9 июня |
Иванов |
Галерея-График |
РЕЙС |
ГАЛЕРЕЯ |
|
112 |
7 |
203 |
12 |
При этом сохраняется возможность восстановить первоначальное отношение График из двух новых отношений. Указанной аномалии обновления больше не существует, так как нужно изменить только один кортеж, чтобы поменять назначение галереи. При этом устраняется и некоторая избыточность данных, так как каждая пара (номер рейса, номер галереи) записывается только однажды.