41402

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

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

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

Код товара Наименование Цена Количество Стоимость 223 Мяч футбольный 25 3 75 338 Мяч баскетбольный 33 2 66 767 Мяч гандбольный 12 2 24 655 Мяч теннисный 10 10 100 Итого 265 нормальная форма атомарность Счет Дата № Покупателя Фамилия Имя Телефон Адрес Код товара Наименование Цена Количество Стоимость 222333 26. Свердлова 13 223 Мяч футбольный 25 3 75 222333 26. Свердлова 13 338 Мяч баскетбольный 33 2 66 222333 26. Свердлова 13 767 Мяч гандбольный 12 2 24 222333 26.

Русский

2013-10-23

506.5 KB

3 чел.

Лекция 3

Базы данных

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

  1.  Э.Кодд: структуры данных не зависит от способа их использования, а зависят от их природы.
  2.  Структура данных: самый устойчивый компонент информационной системы, если структура верна.    
  3.  Кодирование данных:   - биекция, .  - множество символьных  обозначений элементов множества . .  Часто кодировка бывает естественной.   
  4.   Нормализация данных: процесс преобразования таблиц базы данных к нормальной форме.
  5.  Шесть  нормальных форм: 1NF, 2NF,...6NF. Широкое практическое применение имеют формы 1NF, 2NF, 3NF. Редко применяется форма 4NF. 5NF имеет теоретическое значение. 6NF – для баз данных специального назначения.
  6.  1NF – первая  нормальная форма
  7.  1NF: Любое отношение находится в первой нормальной форме. Каждый кортеж в отношении всегда в единственном экземпляре.
  8.  Пример неправильной таблицы

  1.  Пример правильной таблицы

  1.  Обычно Таблицам атрибутам присваивают имена T1(TEACHER, TEACHER_NAME, SUBJECT, SEMESTER, TLESSON)  

                                                  Т1

  1.  Не должно быть вычисляемых столбцов

  1.  2NF – вторая нормальная форма
  2.  Пусть    n-местное отношение.  Каждый кортеж имеет вид . Пусть комбинация  ,  (всегда можно перенумеровать) имеет уникальное значение для всех кортежей. Тогда говорят, что совокупность атрибутов соответствующих  обладает свойством уникальности и  называется ключом.
  3.  Например:
  •  Ключ 1: (TEACHER, TEACHER_NAME, SUBJECT, SEMESTER, TLESSON);
  •  Ключ 2: (TEACHER, SUBJECT, SEMESTER, TLESSON);
  •  Ключ 3: (SUBJECT, SEMESTER, TLESSON); Условие? 

 

  1.  Если в ключе нельзя сократить количество атрибутов, то говорят, что такой ключ обладает свойством минимальности.  
  2.  Ключи таблицы, обладающие свойством минимальности, называются потенциальными ключами этой таблицы.
  3.  В любой таблице в 1NF всегда есть хотя бы один потенциальный ключ.  
  4.  Например:
    •  (TEACHER, SUBJECT, SEMESTER, TLESSON) потенциальный ключ;
    •  (SUBJECT, SEMESTER, TLESSON) потенциальный ключ; Условие?
    •  (TEACHER, TEACHER_NAME, SUBJECT, SEMESTER, TLESSON) не является потенциальным ключом.
  5.  Пусть    n-местное отношение.  Каждый кортеж имеет вид . Пусть каждой комбинации значений  всегда соответствует одно и тоже значение . Тогда   функционально зависит от  .  Другими словами:  является ключом для .
  6.  Например

  •  TEACHER_NAME функционально зависит от TRACHER;
  •  TEACHER функционально зависит от (SUBJECT, SEMESTER, TLESSON) Условие?.

  

  1.  Если в  19   функционально зависит от    , но при этом  функционально не   зависит ни от какой  части , то говорят  функционально полно зависит от .
  2.  Например
  •  TEACHER_NAME функционально  полно зависит от TRACHER;
  •  TEACHER функционально полно зависит от (SUBJECT, SEMESTER, TLESSON) Условие?.

 

  1.  2NF: 1NF+любой атрибут не входящий в состав потенциального ключа функционально полно зависит от каждого возможного потенциального ключа.

  1.  Например: следующие таблицы в 2NF.

  1.  3NF – третья нормальная форма
  2.  Первичный ключ (primary key): один из потенциальных ключей.
  3.  Пример:  транзитивная зависимость

 

  1.  Пример:  нет транзитивной зависимости

  1.  3NF: 2NF+ отсутствуют транзитивные функциональные  зависимости.

  1.  BCNF – Нормальная форма Бойса-Кодда.
  2.  Признак отсутствия BCNF при 3NF: наличие 2х возможных составных ключей, имеющих общий атрибут
  3.  4NF – четвертая нормальная форма
  4.  4NF: BCNF+в отношении отсутствуют нетривиальные многозначные зависимости не являющиеся функциональными зависимостями.
  5.  5NF: 4NF+любая зависимость соединения является тривиальной
  6.  DKNF – Доменно-ключевая нормальная форма
  7.  6NF – шестая  нормальная форма
  8.  6NF  - обобщение 5NF для темпоральных баз данных (данные связанные со временем)  

Счет №  222333   Дата: 26.01.2010

Покупатель № :  777

Фамилия:        Смелов

Имя:            Владимир

Телефон:        555666

Адрес:          г. Минск, ул. Свердлова 13

Код товара

Наименование

Цена

Количество

Стоимость

223

Мяч футбольный

25

3

75

338

Мяч баскетбольный

33

2

66

767

Мяч гандбольный

12

2

24

655

Мяч теннисный

10

10

100

Итого

265


нормальная форма (атомарность)

Счет

Дата

Покупателя

Фамилия Имя

Телефон

Адрес

Код товара

Наименование

Цена

Количество

Стоимость

222333

26.01.2010

777

Смелов Владимир

555666

г. Минск, ул. Свердлова 13

223

Мяч футбольный

25

3

75

222333

26.01.2010

777

Смелов Владимир

555666

г. Минск, ул. Свердлова 13

338

Мяч баскетбольный

33

2

66

222333

26.01.2010

777

Смелов Владимир

555666

г. Минск, ул. Свердлова 13

767

Мяч гандбольный

12

2

24

222333

26.01.2010

777

Смелов Владимир

555666

г. Минск, ул. Свердлова 13

655

Мяч теннисный

10

10

100

33311

23.01.2010

127

Иванов  Сергей

777999

г. Брест,  ул. Махно 25

555

Мяч ватерпольный

11

15

165

33311

23.01.2010

122

Иванов

Сергей

777999

г. Брест,  ул. Махно 25

223

Мяч футбольный

25

4

100

55779

24.01.2010

117

Петров Борис

667766

г. Брест,  ул. Деникина, 17

338

Мяч баскетбольный

33

10

330

55779

24.01.2010

511

Петров Борис

337761

г. Брест,  ул. Деникина, 17

331

Шарик

пинг-понг

5

100

500

II нормальная форма (ключ)

     Счет-покупатель

Счет

Дата

Покупателя

Фамилия Имя

Телефон

Адрес

222333

26.01.2010

777

Смелов Владимир

555666

г. Минск, ул. Свердлова 13

33311

23.01.2010

122

Иванов

Сергей

777999

г. Брест,  ул. Махно 25

55779

24.01.2010

511

Петров Борис

337761

г. Брест,  ул. Деникина, 17

    Счет-товар                                                                                         Товар

Код товара

Наименование

Цена

223

Мяч футбольный

25

338

Мяч баскетбольный

33

767

Мяч гандбольный

12

655

Мяч теннисный

10

555

Мяч ватерпольный

11

331

Шарик

пинг-понг

5

Счет

Код товара

Количество

222333

223

3

222333

338

2

222333

767

2

222333

655

10

33311

555

15

33311

223

4

55779

338

10

55779

331

100

III нормальная форма (только один ключ)

   

     Счет                                                                     Покупатель

Покупателя

Фамилия Имя

Телефон

Адрес

777

Смелов Владимир

555666

г. Минск, ул. Свердлова 13

122

Иванов

Сергей

777999

г. Брест,  ул. Махно 25

511

Петров Борис

337761

г. Брест,  ул. Деникина, 17

Счет

Дата

Покупателя

222333

26.01.2010

777

33311

23.01.2010

122

55779

24.01.2010

511

                 

    Счет-товар                                                                                       Товар

Код товара

Наименование

Цена

223

Мяч футбольный

25

338

Мяч баскетбольный

33

767

Мяч гандбольный

12

655

Мяч теннисный

10

555

Мяч ватерпольный

11

331

Шарик

пинг-понг

5

                                     

Счет

Код товара

Количество

222333

223

3

222333

338

2

222333

767

2

222333

655

10

33311

555

15

33311

223

4

55779

338

10

55779

331

100

PAGE  10


 

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

36568. Особенности использования параметров в процедурах и функциях 30 KB
  Это означает что нельзя использовать описание типа rry непосредственно в списке формальных параметров. Например: procedure sttem:rry [1.8] of byte; {Неправильное описание параметра m} type byte_st = rry [1. type rry10 = rry[0.
36569. Функции: описание и вызов функции 32 KB
  В отличие от процедур функции не являются отдельными операторами. Функции возвращают значения результат обращения к ним и предназначены для использования в составе выражений или в качестве выражений. Это накладывает определенный отпечаток на синтаксическую структуру описания функций которая имеет вид: function имя функции [ список формальных параметров ]: тип функции ; описание локальных имён begin тело функции последовательность операторов end; В заголовке описания функции обязательно указывается тип вырабатываемого функцией...
36570. Процедура: описание и вызов процедуры 30 KB
  Структура описания процедуры во многом сходна со структурой программы. По существу отличие только в заголовке процедуры. Описание процедуры может быть помещено на любое место в разделе описания вызывающей подпрограммы.
36571. Концепция подпрограммы в Турбо Паскале 34.5 KB
  Понятие подпрограммы одно из фундаментальных понятий в программировании возникшее фактически вместе с понятием программы. Одна подпрограмма может включать в себя другие подпрограммы и т. Подпрограммы определяют декомпозицию основной программы направленную на преодоление сложности разработки и понимания текста программы.
36572. Структурный тип строка. Основы обработки строк 29 KB
  Основы обработки строк. Строки относятся к важным средствам представления нечисловой информации и обработка строк имеет широкие приложения во многих областях использования нечисловой информации редактирование текстов логический анализ автоматизация перевода распознавание текстов и др. Поскольку строки указанного типа являются разновидностями массива для них можно применять всё что применимо к массивам.
36573. Расчёт электроснабжения района 2.81 MB
  Определение расчетной нагрузки коммунально-бытовых, промышленных потребителей; выбора номинальной мощности трансформаторов; определения сечения линий как высокого, так и низкого напряжения; определения величины недоотпущенной электроэнергии; определения годовых потерь электрической энергии в линии 35 кВ
36574. Структурный тип массив. Обработка массивов 31 KB
  Такие операторы присваивания могут использоваться для копирования одного массива в другой. Однако над массивами не определены отношения. Кроме того, в Турбо Паскале нельзя использовать выражения над массивами.
36575. Структурный тип маcсив. Описание мас и доступ к эл мас 33 KB
  Идея массива состоит в том чтобы объединить в одно целое фиксированное количество элементов одного и того же типа. Общая форма описания массива имеет вид: type имя типамассива = rry [ тип индекса ] of тип элементов ; где: имя типамассива имя выбираемое программистом. тип индекса любой порядковый тип кроме longint или типдиапазон.
36576. Оператор выбора CASE OF 31 KB
  Оператор выбора является обобщением оператора ifthenelse на случай выбора одного из нескольких возможных продолжений выполнения программы. Выбор осуществляется по ключу выбора селектору. Синтаксическая структура этого оператора такова: cse ключ выбора of константа выбора 1 : оператор 1 ; .