11413

Нормализация баз данных

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 1. Нормализация баз данных. Задание: 1. Спроектировать реляционную базу данных состоящую из четырех связанных отношений. 2. Произвести нормализацию БД до третьей нормальной формы. Нормализация данных Один и тот же набор данных в реляцио...

Русский

2013-04-07

36 KB

65 чел.

Лабораторная работа № 1. Нормализация баз данных.

Задание:

1. Спроектировать реляционную базу данных, состоящую из четырех связанных отношений.

2. Произвести нормализацию БД до третьей нормальной формы.

Нормализация данных

Один и тот же набор данных в реляционной модели можно представить различными способами. Процесс нормализации данных позволяет решить вопрос о наиболее эффективной их структуре, обладающей минимальной избыточностью. Это позволяет решить следующие задачи:

а) исключить ненужное повторение данных;

б) обеспечить быстрый доступ к данным;

в) обеспечить целостность данных.

Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений.

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:

  •  первая нормальная форма (1NF);
  •  вторая нормальная форма (2NF);
  •  третья нормальная форма (3NF);
  •  нормальная форма Бойса-Кодда (BCNF);
  •  четвертая нормальная форма (4NF);
  •  пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм:

  •  каждая следующая нормальная форма в некотором смысле лучше предыдущей;
  •  при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.

(Бритва Оккама – не плоди сущностей сверх необходимого, а тут плодить нужно)

В основе процесса проектирования лежит метод нормализации, декомпозиция отношения, находящегося в предыдущей нормальной форме, в два или более отношения, удовлетворяющих требованиям следующей нормальной формы.

Примером набора ограничений является ограничение первой нормальной формы: значения всех атрибутов отношения атомарны (просты или скалярны) и отсутствуют повторяющиеся кортежи. Например, атрибут «Адрес» должен быть разбит на три «Страна», «Город» и «Адрес». Второе свойство легко удовлетворяется введением ключевого поля. Наличие повторяющейся информации ведет к возможной потери согласованности данных, т.е. возникновению аномалий обновления и неоправданному увеличению размера БД. Аномалии обновления можно условно разбить на три вида:

а) аномалии добавления. Возникают в случаях, когда информацию в таблицу нельзя поместить до тех пор, пока она не полная. Например, мы хотим добавить информацию о пришедшем на склад новом товаре, у которого еще нет покупателей. Нам придется оставить незаполненными все поля, касающиеся клиентов и оформления заказа. Но если некоторые поля были объявлены обязательными, то либо в них придется ввести что-нибудь, либо вообще отказаться от записи. Кроме того, после первой же покупки - этого товара необходимость в такой записи вообще отпадет;

б) аномалии удаления. Состоят в том, что при удалении некоторой информации может пропасть и другая информация, не связанная напрямую с удаляемой. Например, при удалении последней записи о продаже некоторого товара сведения о нем будут утеряны, хотя это никак не будет означать, что данного товара больше нет на складе;

в) аномалии модификации. Проявляются в том, что изменение значений некоторого поля в одной записи может привести к просмотру всей таблицы и соответствующему изменению других ее записей. Например, такая аномалия возникнет при обновлении не всех записей о покупках какого-либо клиента при смене его адреса. Причем простая автозамена здесь поможет не во всех случаях, так как адрес может быть записан разными способами.

Требование первой нормальной формы является базовым требованием классической реляционной модели данных, мы будем считать, что исходный набор отношений уже соответствует этому требованию.

Отношение находится во второй нормальной форме (2NF) в том и только в том случае, когда находится в 1NF, и каждый неключевой атрибут полностью зависит от первичного ключа (либо каждого ключевого атрибута).

Третья нормальная форма. (Снова определение дается в предположении существования единственного ключа.) 

Отношение находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.

Третья форма также постулирует отсутствие полей, которые могут быть вычислены на основе других.

Форма Бойса-Кодда.

Таблица находится в форме Бойса-Кодда, если:

1) удовлетворяет требованиям третьей нормальной формы;

2) в ней отсутствуют зависимости атрибутов составного ключа от неключевых атрибутов.

Четвертая нормальная форма устраняет нетривиальные многозначные зависимости. Если таблица содержит два и более никак не связанных между собой многозначных атрибута, то по требованиям первой нормальной формы нам потребуется сделать отдельную запись для каждого значения каждого многозначного атрибута. Общее число записей будет равно числу сочетаний значений, принимаемых многозначными атрибутами, и может быть очень большим. Легко увидеть, что часть информации повторяется. Следовательно, для уменьшения избыточности информации и устранения возможности появления несогласованного состояния данных необходимо прибегнуть к дальнейшей декомпозиции отношения.

Пятая нормальная форма основывается на концепции устранения зависимостей объединения. Может случиться ситуация, когда нельзя разбить таблицу на две таким образом, чтобы получить после объединения исходный результат (некоторые записи могут быть потеряны или, наоборот, могут появиться подложные записи). Однако при этом существует ситуация, что при выполнении всех правил нормализации такую таблицу можно разбить на три и более таблиц. На практике этот вид зависимости очень трудно обнаружить и, следовательно, устранить.

Сформулируем несколько правил, которых следует придерживаться при нормализации таблиц.

1. Разрабатывайте схему данных таким образом, чтобы можно было легко объяснить ее, т. е. не комбинируйте атрибуты независимых объектов и не создавайте сложные связи.

2. Разрабатывайте схему данных таким образом, чтобы исключить возможность появления аномалий обновления,

3. Разрабатывайте схему данных таким образом, чтобы в связях участвовали только первичные (можно допустить потенциальные) и внешние ключи, Это позволит избежать появления подложных записей.


 

А также другие работы, которые могут Вас заинтересовать

52560. Людина починається з добра. Від усмішки іде до всіх тепло. Музика – нев’януча краса духовної культури усіх народів 74.5 KB
  Що ми можемо сказати Чи потрібні вони у житті людини Чи впливає музика на емоції людини Чи потрібні нам ці теми уроків Епіграф до уроків Бо ти на землі людина І хочеш того чи ні Усмішка твоя єдина Мука твоя єдина Очі твої одні. Дуже важливими є емоції людини які підтримують нас...
52562. Виховний захід для учнів початкової школи “Дорогою добра” 88 KB
  Збагатити знання учнів про чудодійні обереги нашого життя квіти і виховувати глибокі почуття добра і любові до рідного краю свого роду; Розширити знання учнів про звязок людини з природою її вплив на культуру нашого народу. Виходить дівчатка і збирає в кошик квіти які посадили на підлозі. Тому сьогодні ми поговоримо про вічні супутники людського життя і в горі і в радощах квіти. Я землі цієї паросток зелений Я землі цієї крапля дощова Заплелись у мене приросли до мене Жито і дерева квіти і трава.
52563. Поняття добро та зло 66 KB
  У цьому світі є тільки одна річ перед якою належить схилятися це геній і одна річ перед якою слід упасти на коліна це доброта. Одну звати Радість іншу Вдача третю Краса четверту Журба пяту Доброта. Вона задумалася а потім підійшла до дівчини Доброти і простягла їй руку.
52564. Людина починається з добра 76.5 KB
  Жердєва Людина починається з добра розробка виховної години для учнів 7 класу Підготувала учитель української мови та літератури...
52565. Літературно-інтелектуальна гра «Добро завжди перемагає…» 114 KB
  Про це свідчать казки О.Андерсена чудові казкиновели Івана Франка віршовані казки Наталі Забіли Оксани Іваненко. А чи замислювалися ви колинебудь над тим звідки беруться казки Цікаво на це запитання відповів відомий фінський письменник казкар Закаріас Топеліус. Потім на берег моря де на воді граються маленькі кучеряві хвилі з білими баранцями то й є казки.
52566. Спішіть добро творити 45.5 KB
  Виховувати в учнів бажання творити добро бути готовим допомогти будьякій людині у біді здатність боротись проти зла. Тепер врятує світ лиш доброта Бо однієї вже краси занадто мало. Тож люди на Землі Спішіть добро творити Щоб нам не згинути у морі зла Щоб кожен міг серед краси прожити.
52567. Вдячність тому, хто дарує добро 37 KB
  Що ж каже Роман це невелика біда. хіба тобі самому не соромно перед собою Романе Роман усміхнувся. Чи ж обовязково це зробити питає Роман адже ми так потомилися Бо ми люди Якби ми були телята можна було б і не вертатися Вона рушила до хутірця. Роман постояв хвилинку й зітхнувши теж поплівся за гуртом.
52568. Той, що творить добро, творить саме Життя 74 KB
  Мета: вчити учнів користуватися ввічливими мовними формами; закріплювати уявлення про доброзичливість ввічливість; розвивати мовні навички; виховувати громадянську свідомість дбайливе доброзичливе ставлення до оточуючих. Декламування вірша ученицею Все: із доброго чи злого Починається з малого. Слово вчителя Тож сьогодні ми будемо говорити про добро.