Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тема 2. 4. Нормализация реляционной модели данных.
Реляционная БД представляет собой множество таблиц, связанных между собой. Одни и те же данные могут группироваться в таблицы различными способами. Но группировка должна быть рациональной, т,е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления. В теории реляционных БД таблица называется отношением По-английски relation – отношение. Отсюда происходит название «реляционные базы данных».. Поэтому ИМЯ_ТАБЛИЦЫ — это имя отношения. Примеры отношений: БИБЛИОТЕКА (ИНВ_НОМЕР. АВТОР. НАЗВАНИЕ. ГОД_ИЗД, ИЗДАТЕЛЬСТВО) Построение модели данных, соответствующей инфологической модели, происходит в несколько этапов. Построим БД «Успеваемость». На первом этапе построим БД, содержащую сведения об успеваемости учеников в одном отдельном классе. Нас интересуют оценки, полученные учениками по итогам каждой четверти, а также годовые оценки по всем учебным дисциплинам. Т.е. в БД требуется занести табели успеваемости всех учеников класса за весь учебный год. Кроме того, в БД необходимо хранить даты рождения и домашние адреса учеников и пол каждого ученика. Отношение(таблица), включающее в себя все перечисленные данные будет следующим:
УСПЕВАЕМОСТЬ (ФАМИЛИЯ, ИМЯ, ПРЕДМЕТ, ПОЛ, ДАТА_ РОЖД, АДРЕС, 1_ЧЕТВ, 2_ЧЕТВ, 3_ЧЕТВ, 4 _ЧЕТВ, ГОД)
В этом отношении ключ состоит из: ФАМИЛИЯ ИМЯ, ПРЕДМЕТ. Такой ключ называется составным. Очевидным недостатком хранения данных в таком виде является их избыточность. Под избыточностью понимается многократное повторение одних и тех же данных. Значении полей ФАМИЛИЯ. ИМЯ. ПОД ДАТА_РОЖД. АДРЕС каждого ученика будут повторяться в записях, относящихся к разным предметам Это ведет к лишнему расходу памяти компьютера (избыточности данных). Кроме того, существует вероятность того, что при вводе значений повторяющихся полей в каких-то строчках могут быть допущены ошибки. Например, по-разному записан один и тот же адрес в нескольких местах. Такая ситуация называется противоречивостью данных: одни и те же данные представлены в разном виде.
Разрешением этих проблем является разбиение данного отношения на два. т.е. переход от однотаблнчной модели к двухтабличной. Первую таблицу назовем «Ученики». В ней будут храниться фамилия и имя. ученика, пол и адрес Каждому ученику в этом списке ставится в соответствие свой номер (номер в журнале). Он и будет выполнять функцию ключа. Вторую таблицу назовем «Успеваемость» В ней учеников можно будет идентифицировать их номерами, определенными в первой таблице. Замена фамилии и имени ученика на номер существенно сократят расход памяти. В таблицу «Успеваемость» включается поле ПРЕДМЕТ и сведения о полученных оценках. Поля НОМЕР УЧЕНИКА и ПРЕДМЕТ образуют составной ключ. В итоге модель данных представляется двумя следующими отношениями: УЧЕНИКИ (НОМЕР УЧ. ФАМИЛИЯ, ИМЯ, ПОЛ ДАТА_ РОЖД, АДРЕС)
УСПЕВАЕМОСТЬ (НОМЕР_УЧ, ПРЕДМЕТ, 1_ЧЕТВ, 2_ЧЕТВ, 3_ЧЕТВ, 4_ЧЕТВ, ГОД)
Связь между этими отношениями имеет тип «один-ко-многим». Она осуществляется через общее поле НОМЕР_УЧ (номер ученика). В таблице «Ученики» это поле является основным ключом. В таблице «Успеваемость» оно входит в составной ключ. Следовательно, конкретное значение этого поля в первой таблице может присутствовать только в одной записи, а во второй — во множестве записей Процесс разложения исходных таблиц на более простые называется нормализацией. При описании нормальных форм используется понятие функциональной зависимости между атрибутами (столбцами). Функциональная зависимость между атрибутами А и В называется зависимость, когда каждому значению А в любой момент времени соответствует единственное значение В. Примером такой зависимости является связь между идентификационным номером плательщика и номером его паспорта. Полной функциональной зависимостью называется зависимость, при которой каждый неключевой атрибут зависит от всего составного ключа и не зависит от его частей. Транзитивная функциональная зависимость – зависимость когда атрибут А зависит от атрибута В, а атрибут В зависит от атрибута С, но обратная зависимость при этом отсутствует.
Ранее выполненная нами работа называется нормализацией данных. Полученная двухтабличная структура данных является нормализованной структурой. Основная цель нормализации — избавление от избыточности данных. В идеале неизбыточная БД должна хранить каждый факт в одном экземпляре. Для каждого ученика его атрибуты: «фамилия», «имя», «пол», «дата рождения», «адрес» будут заноситься в базу однократно. Если значения каких-то атрибутов изменятся, то их легко исправить. Например, если изменился адрес ученика, то в первом варианте структуры данных его бы пришлось переписывать многократно. В окончательном же варианте это нужно будет сделать один раз.
Сущность нормализации заключается в том, что при построении модели данных, относящейся к определенной предметной области, нужно суметь выделить различные типы объектов (сущностей), которые должны быть представлены в этой модели. В нашем примере такими объектами являются УЧЕНИКИ с их анкетными данными и УСПЕВАЕМОСТЬ (итоги обучения), со сведениями о полученных учениками оценках по разным предметам. Информация об учениках собрана в таблице «Ученики», информация об итогах обучения — в таблице «Успеваемость». В теории реляционных БД используется понятие «нормальная форма» отношения. Отношение (таблица) находится в первой нормальной форме, если все его поля являются атомарными. Атомарное поле далее не делится. Например, объединение в одно поле «ФИО» фамилии, имени в отчества человека нарушает принцип атомарности. Понятие атомарности относительно. Например, если в приложениях не потребуется отдельной обработки названия улицы, номера дома и квартиры, то адрес можно не разбивать на составляющие и считать его атомарным. Эта форма является основой реляционной модели данных. Отношение (таблица) находится во второй нормальной форме, если она удовлетворяет требованиям первой нормальной формы и все его неключевые поля полностью функционально зависят от основного (первичного) ключа. Иначе говоря, значение неключевого поля в каждой записи однозначно связано со значением ключа этой записи. Отношения УЧЕНИКИ и УСПЕВАЕМОСТЬ обладают таким свойством. У данного ученика (ключ НОМЕР_УЧ) определенный адрес, фамилия, дата рождения и пр. У данного ученика по данному предмету (ключ НОМЕР_УЧ+ ПРЕДМЕТ) определенные оценки за четверти и за год. Если таблица имеет первичный ключ, состоящий из одного поля, она автоматически находится во второй нормальной форме. Требование третьей нормальной формы: удовлетворение второй нормальной форме и отсутствие в отношении полей, транзитивно зависимых от ключа. В полученных нами отношениях (таблицах) транзитивных зависимостей нет. Например, если бы в отношении «Ученик» присутствовало поле РАЙОН, обозначающее административный район города, где живет ученик, то имела бы место транзитивная зависимость. Район однозначно связан с адресом, поэтому транзитивность следующая: НОМЕР_УЧ--»АДРЕС --» РАЙОН Таким образом, полученная нами двухтабличная модель данных удовлетворяет требованию третьей нормальной формы.
|
||||||
Последнее изменение этой страницы: 2021-04-13; просмотров: 259; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.161.116 (0.008 с.) |