История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2021-10-05 | 43 |
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 |
Иногда зависимость не так легко обнаружить. Давайте посмотрим на таблицу «Занятия», которая фиксирует возможное количество мест для каждого занятия. Количество свободных местах может быть рассчитано путем вычитания числа зарегистрированных студентов из количества доступных мест. Следует исключить из таблицы колонку «Свободные места». Чтобы привести таблицу в третью нормальную форму.
|
|
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!