Нормализация БД

Автор работы: Пользователь скрыл имя, 11 Декабря 2012 в 05:07, практическая работа

Краткое описание

Перечень:
Название книги, автор книги, вид(жанр) книги, год издания книги, издательство, город издательства, год издания, количество страниц, код ISBN, код УДК, код ББК, стандарт упаковки, цена покупки, оптовая цена, розничная цена, складской остаток, наименование партнёра, город партнёра, адрес партнёра, контактёр, телефон портнёра, электронная почта партнёра, финансовое сальдо, коэффициент скидки-наценки, срок реализации, дата документа, тип операции, партнёр, срок возврата нереализованной продукции, величина скидки/наценки, сумма накладной, оплаченная сумма, сумма возврата, направление.

Прикрепленные файлы: 1 файл

ИТ-16 СОЛОМАТИН НОРМАЛИЗАЦИЯ.doc

— 3.09 Мб (Скачать документ)


 

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ОБНИНСКИЙ ИНСТИТУТ АТОМНОЙ ЭНЕРГЕТИКИ - филиал

федерального государственного автономного образовательного учреждения  
высшего профессионального образования

«Национальный исследовательский ядерный университет «МИФИ»

(ИАТЭ НИЯУ МИФИ)


 

 

 

 

ОТЧЁТ

 

по практической работе

 

 

 

Специальность  230103 

              (шифр)

Тема практической работы :  Нормализация БД 

_____________________________________________________________________________

 

 

 

 

Студент:  (  В.Д. Соломатин )

                                                (подпись)                                                          (ф.и.о.)

Преподователь: (  П.Г. Матухин )

                                         (подпись)                                                        (ф.и.о.)

                                                            

 

 

 

 

 

 

 

 

 

 

 

 

 

2011 / 2012 учебный год

 

г. Обнинск

 

 

 

Оглавление

 

 

Исходная таблица.

Описание.

Перечень:

Название книги, автор  книги, вид(жанр) книги, год издания  книги, издательство, город издательства, год издания, количество страниц, код ISBN, код УДК, код ББК, стандарт упаковки, цена покупки, оптовая цена, розничная цена, складской остаток, наименование партнёра, город партнёра, адрес партнёра, контактёр, телефон портнёра, электронная почта партнёра, финансовое сальдо, коэффициент скидки-наценки, срок реализации, дата документа, тип операции, партнёр, срок возврата нереализованной продукции, величина скидки/наценки, сумма накладной, оплаченная сумма, сумма возврата, направление.

 

 

Список

    1. Название книги (Текстовый, 40)
    2. Автор книги (Текстовый, 40)
    3. Вид(жанр) книги
      • фантастика
      • фэнтези
      • драма
      • комедия
      • и т.д.
    4. Год издания книги (Числовой, 4)
    5. Издательство (Текстовый, 40)
    6. Город издательства (Текстовый, 40)
    7. Год издания (Числовой, 4)
    8. Количество страниц (Числовой, 6)
    9. код ISBN (Текстовый, 40)
    10. код УДК (Текстовый, 40)
    11. код ББК (Текстовый, 40)
    12. стандарт упаковки (Числовой, 4)
    13. цена покупки (Денежный, 10)
    14. оптовая цена (Денежный, 10)
    15. розничная цена (Денежный, 10)
    16. складской остаток (Числовой, 6)
    17. наименование партнёра (Текстовый, 40)
    18. город партнёра (Текстовый,40)
    19. адрес партнёра (Текстовый, 100)
    20. контактёр (Текстовый, 40)
    21. телефон портнёра (Текстовый, 13)
    22. электронная почта партнёра (Текстовый, 30)
    23. финансовое сальдо (Денежный, 10)
    24. коэффициент скидки-наценки (Числовой с точкой, 4)
    25. срок реализации (Дата, 10)
    26. дата документа (Дата, 10)
    27. тип операции
      • покупка
      • продажа
      • возврат поставщику
      • возврат от покупателя
      • получение по обмену
      • поставка по обмену
      • покупка с предоплатой
      • продажа с предоплатой
      • отпуск на реализацию
      • получение на реализацию
    28. партнёр (Текстовый, 40)
    29. срок возврата нереализованной продукции (Дата, 10)
    30. величина скидки/наценки (Числовой с точкой, 4)
    31. сумма накладной (Денежный, 10)
    32. оплаченная сумма (Денежный, 10)
    33. сумма возврата (Денежный, 10)
    34. Направление
      • Дебит
      • Кредит

 

Таблица

Название атрибута

Тип

Длина

Название книги

Текстовый

40

автор книги

Текстовый

40

вид(жанр) книги

фантастика

фэнтези

драма

комедия

и т.д.

 

год издания книги

Числовой

4

издательство

Текстовый

40

город издательства

Текстовый

40

количество страниц

Числовой

6

код ISBN

Текстовый

40

код УДК

Текстовый

40

код ББК

Текстовый

40

стандарт упаковки

Числовой

4

цена покупки

Денежный

10

оптовая цена

Денежный

10

Розничная цена

Денежный

10

складской остаток

Числовой

6

наименование партнёра

Текстовый

40

город партнёра

Текстовый

40

адрес партнёра

Текстовый

100

Контактёр

Текстовый

40

телефон партнёра

Текстовый

13

электронная почта партнёра

Текстовый

40

финансовое сальдо

Денежный

10

коэффициент скидки-наценки

Числовой с точкой

4

срок реализации

Дата

10

дата документа

Дата

10

тип операции

покупка

продажа

возврат поставщику

возврат от покупателя

получение по обмену

поставка по обмену

покупка с предоплатой

продажа с предоплатой

отпуск на реализацию

получение на реализацию

 

Партнёр

Текстовый

40

срок возврата нереализованной  продукции

Дата

10

величина скидки/наценки

Числовой с точкой

4

сумма накладной

Денежный

10

оплаченная сумма

Денежный

10

сумма возврата

Денежный

10

Направление

Дебит

Кредит

 

 

 

 

Таблица до нормализации.


 

 

 

Приведем  таблицу к 1НФ.

Свойства 1НФ :

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

Признаки отсутствия 1НФ.

1) Порядок строк несет информацию.

Варианты

 а) строки должны быть упорядочены, по какому либо атрибуту (например «фамилия автора»)

б) блоковое упорядочивание  (например «средство устранения этого не соответствия 1НФ – введение дополнительного атрибута записи «кладовщик» »)

2) Порядок атрибутов несет информацию.

Варианты

а) упорядочивание  полей (например «последовательность данных несет смысл»)

б) упорядочивание блоков

Способ устранения – детальное именование поля.

3) Наличие повторяющихся строк (записей).

Способ устранения – введение дополнительного атрибута – порядковый номер записи («счетчик»).

4 ) Наличие в ячейках записи более чем одного значения из соответствующего домена атрибута.

Способ устранения – детализация кластеров.

5) Столбцы не атомизированы.

Способ устранения – атомизировать поле на элементарные атрибуты. 


 

 

 

1 Нормальная форма.

ER-диаграмма до 1НФ

 

ER-диаграмма 1 НФ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

В нашей таблице есть зависимость от порядка строк – строки упорядочены по году издания.

Рекомендация по устранению: строки должны быть упорядочены по какому либо атрибуту(год издания).

 

После преобразования мы видим, что сроки неупорядочены.

 

  1. Нет упорядочивания столбцов слева-направо (другими словами, порядок столбцов не несет в себе никакой информации).

 

Идет разделение на 2 части: «контактёр» и «финансовые документы».

Устранение и рекомендации:

 

Здесь мы видим, что столбцы не зависимы друг от друга. 

  1. Нет повторяющихся строк.

В нашей таблице  присутствуют не уникальные строки, для  того чтобы избавиться от этого и  привести таблицу к 1НФ добавим атрибут Id записи.

 

 

 После преобразования мы видим, что у нас все строки уникальны.

 

 

  1. Каждое пересечение строки и столбца содержит ровно одно значение из соответствующего домена (и больше ничего).


Здесь в 1 ячейке содержится 2 значения «телефон партнера».

Изменили путем создания дополнительной строки с разными  телефонами.

 

 
2 нормальная форма

 

 

Вторая нормальная форма (2NF)

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

Вторая нормальная форма (англ. Second normal form; сокращённо 2NF) — одна из возможных нормальных форм таблицы реляционной базы данных.

Определение

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

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

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

Пример

 
3 Нормальная форма

 

Третья  нормальная форма (англ. Third normal form; сокращённо 3NF) — одна из возможных нормальных форм отношения реляционной базы данных. 3NF была изначально сформулирована Э. Ф. Коддом в 1971 году.

Отношение находится  в 3NF тогда и только тогда, когда  выполняются следующие условия:

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

Определение

Согласно определению  Кодда, отношение R находится в 3NF тогда и только тогда, когда выполняются следующие условия:

  • Отношение R находится во второй нормальной форме.
  • ни один неключевой атрибут R не находится в транзитивной функциональной зависимости от потенциального ключа отношения R.

Пояснения к определению:

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

Функциональная  зависимость множества атрибутов Z от множества атрибутов X (записывается X → Z, произносится «икс определяет зет») является транзитивной, если существует такое множество атрибутов Y, что X → Y и Y → Z. При этом ни одно из множеств X, Y и Z не является подмножеством другого, то есть функциональные зависимости X → Z, X → Y и Y → Z не являются тривиальными.

Определение 3NF, эквивалентное  определению Кодда, но по-другому  сформулированное, дал Карло Заниоло в 1972 году. Согласно ему, отношение находится в 3NF тогда и только тогда, когда для каждой из ее функциональных зависимостей X → A выполняется хотя бы одно из следующих условий:

  • Х содержит А (то есть X → A — тривиальная функциональная зависимость)
  • Х — суперключ
  • А — ключевой атрибут (то есть А входит в состав потенциального ключа).

Определение Заниоло  четко определяет разницу между 3NF и более строгой нормальной формой Бойса-Кодда (НФБК): НФБК исключает  третье условие («А — ключевой атрибут»).

 

Нормализация  таблицы при помощи программы  «АНАЛИЗ»

 

 

Проведем её анализ с  помощью мастера

(К: Сервис/Анализ/Таблица):

 
Мы видим, что программа разделила  исходную таблицу на 9 таблиц:

 

 

Схема_данных:

Здесь мы наблюдаем результат  автоматической нормализации.

Эта схема данных неудобна в использовании поэтому необходимо провести ручную нормализацию.

Информация о работе Нормализация БД