Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 611; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.126 (0.007 с.) |