Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Топ:
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|






10 (37) Нормализация отношений в базах данных. Приведение отношения ко второй и третьей нормальным формам. Показать на примерах.





Пример нормализации данных
Для исключения избыточности данных, можно использовать процесс, который пытается изменить структуру базы данных, заставляя таблицу пройти последовательность трех нормальных форм.
Первая нормальная форма (1 NF): говорят, что таблица находится в первой нормальной форме, если она описывает одну сущность и не содержит векторов и повторяющихся атрибутов. Рассмотрим, например, таблицу, которая содержит данные занятий одного курса. Для каждой строки занятия имеются код, данные учителя и ученика. Таблица не находится в первой нормальной форме, поскольку данные ученика - это вектор, соответствующий занятию.
| Код предмета | Предмет | Учитель | Код ученика | Фамилия ученика | Имя ученика |
| A01 | Проектирование | Линд | S01 | Роовяли | Марек |
| S02 | Петерсон | Мария | |||
| S03 | Мартсон | Элла | |||
| A02 | Построение | Сепп | S02 | Петерсон | Мария |
| S03 | Мартсон | Элла |
Если быть более точным, каждое занятие связано более чем с одним учеником, это можно выразить, сказав, что есть вектор учеников (группа учеников) для каждого занятия. Для перевода таблицы в первую нормальную форму нужно разделить данные учеников и занятия, создавая новую таблицу учеников. В таблице занятий столько рядов, сколько имеется разных занятий, в таблице учеников, занесенных в список предмета, столько строк, сколько учащихся зарегистрировалось на данный предмет. И каждый ученик должен там быть представлен больше, чем один раз. В этой таблице также должен быть столбец с кодом занятия, на которое ученик зарегистрировался.
| Занятия | |
| Предмет | Учитель |
| Проектирование | Линд |
| Построение | Сепп |
| Зарегистрированные учащиеся | |||
| Код предмета | Код ученика | Фамилия ученика | Имя ученика |
| A01 | S01 | Роовяли | Марек |
| A01 | S02 | Петерсон | Мария |
| A01 | S03 | Мартсон | Элла |
| A02 | S02 | Петерсон | Мария |
| A02 | S03 | Мартсон | Элла |
Вторая нормальная форма (2 NF): таблица находится во второй нормальной форме, если она в первой нормальной форме и все атрибуты зависят только от первичного ключа. Исходя из вышеприведенной таблицы «Зарегистрированные учащиеся», первичный ключ, нужный для различения строк одной от другой, следует составить из кода предмета + кода ученика. Можно заметить, что имя и фамилия ученика зависят только от кода ученика, а не от всего первичного ключа.
Для приведения таблицы во вторую нормальную форму, мы должны вывести данные, которые не зависят совсем от первичного ключа, и включить эти данные в новую таблицу «Ученики». Стоит отметить, что потери информации не происходит, поскольку столбец кода ученика имеется в обеих таблицах, что допускает взаимосвязи между этими таблицами.
| Зарегистрированные учащиеся | Ученики | ||||
| Код предмета | Код ученика | Код ученика | Фамилия ученика | Имя ученика | |
| A01 | S01 | S01 | Роовяли | Марек | |
| A01 | S02 | S02 | Петерсон | Мария | |
| A01 | S03 | S03 | Мартсон | Элла | |
| A02 | S02 | ||||
| A02 | S03 | ||||
Третья нормальная форма (3 NF): таблица находится в третьей нормальной форме, если она во второй нормальной форме и все атрибуты, не связанные с первичным ключом, зависят друг от друга.
Посмотрим на таблицу учеников, в которой содержатся персональные данные как, например, в следующей таблице.
| Ученики | |||||
| Код | Фамилия | Имя | Дата рождения | Возраст | Последнее обновление |
| S01 | Роовяли | Марек | 11.09.1955 | 50 | 12.11.2001 |
| S02 | Петерсон | Мария | 01.02.1990 | 14 | 15.12.2004 |
| S03 | Мартсон | Элла | 09.06.1978 | 26 | 26.01.2005 |
Находящийся в данной таблице возраст может быть вычислен на основе даты рождения, поэтому эта информация является избыточной. Этот недостаток может быть легко устранен путем приведения таблицы учеников в третью нормальную форму.
| Занятия | ||||
| Код предмета | Предмет | Учитель | Сидячие места в помещении | Свободные места |
| A01 | Проектирование | Линд | 5 | 2 |
| A02 | Построение | Сепп | 6 | 4 |
Иногда зависимость не так легко обнаружить. Давайте посмотрим на таблицу «Занятия», которая фиксирует возможное количество мест для каждого занятия. Количество свободных местах может быть рассчитано путем вычитания числа зарегистрированных студентов из количества доступных мест. Следует исключить из таблицы колонку «Свободные места». Чтобы привести таблицу в третью нормальную форму.
|
|
|
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!