Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Функциональная зависимость и нормализация, суть и преимущества нормализации, нормальные формы.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Нормализация – это разбиение таблицы на несколько, обладающих лучшими свойствами при обновлении, включении и удалении данных. Нормализация представляет собой процесс дальнейшего совершенствования реляционной модели. Она выполняется после создания приближенной модели и предназначена для повышения уровня ее структурной организации. В основе нормализации лежит определенный математический аппарат, базирующийся на концепции функциональной зависимости. Один столбец или множество столбцов Y функционально зависят от одного столбца из множества столбцов X, если данное множество значений для X определяет единственное множество значений для У. "У функционально зависит от X" < =>"X определяет Y “ XÚ Y. Наиболее очевидным примером может быть первичный ключ таблицы реляционной модели, который однозначно определяет строку этой таблицы; однако могут существовать и другие зависимости, в которые не входят первичные ключи.
Главная цель нормализации — избавить реляционную таблицу от зависимостей, не связанных с первичными ключами.
Доводы в пользу нормализации § Обеспечение целостности; § Создание формальной модели, как можно более независимой от специфики приложения; Снижение требований к объему памяти. Первая нормальная форма(ограничения отношения) 1. Значения в ячейках таблицы д.б. атомарными 2. Все записи в столбце д.б. одного типа 3. Каждый столбец имеет уникальное имя 4. Порядок столбцов в таблице несущественен 5. В отношении не м.б. двух одинаковых строк 6. Порядок строк не имеет значения Вторая нормальная форма - отсутствие частичной зависимости Отношение находится во второй нормальной форме, если все его неключевые атрибуты зависят от всего ключа Третья нормальная форма - отсутствие транзитивной зависимости. Отношение находится в ЗНФ, если оно находится во 2НФ и все его неключевые столбцы зависят только от ключа Нормальная форма Бойса-Кодда - отсутствие инверсной частичной зависимости Отношение находится в НФБК, если оно находится в 3НФ и ни первичный ключ, ни какая-либо его часть не зависит от неключевого атрибута Четвертая нормальная форма - отсутствие многозначной зависимости. Отношениенаходится в 4НФ, если оно находится в НФБК и в ней отсутствуют многозначные зависимости Пятая нормальная форма - отсутствие объединенной зависимости. Отношение находится в 5НФ, если оно находится в 4НФ в ней отсутствуют объединенные зависимости (join dependence)
Доменно-ключевая нормальная форма. Синтез отношений. Суррогатные ключи. Денормализация. Преднамеренная избыточность. Отношение находится в ДКНФ, если выполнение ограничений на домены и ключи приводит к выполнению всех ограничений Первый пример ДКНФ СТУДЕНТ (НомерСтудента, Курс, Общежитие, Плата) Синтез отношений Два атрибута A и B могут иметь связь трех видов: A->B и B->A «один к одному» A->B, а B не ->A «многие к одному» A не ->B и B не ->A «многие ко многим»
Связь «один к одному»
Связь «многие к одному»
Связь «многие ко многим»
Суррогатные ключи Суррогатный ключ (surrogate key) — это уникальный идентификатор, используемый в качестве первичного ключа отношения. Значения суррогатного ключа не имеют смысла для пользователей, поэтому в формах и отчетах они обычно скрываются. Причины для использования суррогатных ключей
Причины использования Неизменность. Главное достоинство суррогатного ключа состоит в том, что он практически никогда не меняется, поскольку не несёт никакой информации из предметной области и, следовательно, в минимальной степени зависит от изменений, происходящих в ней. Для изменения суррогатного ключа обычно требуются экстраординарные обстоятельства (см. ниже причину «гибкость»). Атрибуты естественного ключа время от времени могут меняться — например, человек может изменить имя или фамилию, получить новый паспорт взамен потерянного. В этом случае возникает необходимость так называемых «каскадных изменений» — при изменении значения естественного ключа для сохранения ссылочной целостности система должна внести соответствующие изменения во все значения внешних ключей, ссылающихся на изменяемый. В больших базах данных это может приводить к существенным накладным расходам. Гарантированная уникальность. Далеко не всегда можно гарантировать то, что уникальность естественного ключа не будет скомпрометирована с течением времени. Различные внешние факторы могут приводить к тому, что естественный ключ, ранее уникальный, в новых обстоятельствах может уникальность утратить. Суррогатный ключ свободен от этого недостатка. Гибкость. Поскольку суррогатный ключ неинформативен, его можно свободно заменять. Допустим, сливаются две фирмы со сходной структурой БД; сотрудник идентифицируется сетевым логином. Чтобы в полученной БД ключ оставался уникальным, приходится добавлять в него дополнительное поле — «из какой фирмы пришёл». В случае с суррогатными ключами достаточно выдать сотрудникам одной из фирм новые ключи. Эффективность. Как показано в примере выше, ссылки удобнее хранить в виде целых чисел, чем в виде громоздких естественных ключей.
Денормализация Иногда отношения намеренно оставляют в ненормализованном виде, либо нормализуют, а затем денормализуют. Зачастую это делается для повышения производительности. Всегда, когда необходимо комбинировать данные из двух различных таблиц, СУБД должна выполнять дополнительную работу. В большинстве случаев для этого необходимо как минимум две операции чтения вместо одной.
Преднамеренная избыточность Одним из преимуществ нормализованных отношений является то, что в них минимизируется дублирование данных. Но в целях повышения производительности иногда уместным является умышленное дублирование данных Например, создаются две копии таблицы одна из которых содержит наиболее часто используемое подмножество полей другой таблицы. В результате снижаются временные затраты на извлечение информации из первой таблицы.
|
||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 522; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.135.53 (0.008 с.) |