![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Нормализация таблиц в реляционной модели базы данных |
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение Высшего профессионального образования РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КЕМЕРОВСКИЙ ИНСТИТУТ (ФИЛИАЛ) ФАКУЛЬТЕТ ЗАОЧНОГО ОБУЧЕНИЯ Кафедра вычислительной техники и информационных технологийКонтрольная работа по дисциплине “Базы данных” по теме: “Нормализация таблиц в реляционной модели базы данных”Выполнил: студент группы ПИс-061 (сокращенная форма обучения) Жилкова Ольга Анатольевнаг. Кемерово 2007 г. Содержание1 Нормализация таблиц в реляционной модели БД 1.1 Понятие “Нормализация&quo ; 1.2 Первая нормальная форма 1.3 Вторая нормальная форма 1.4 Третья нормальная форма 1.5 Четвертая нормальная форма 1.6 Пятая нормальная форма. 2. Реляционная алгебра над учебной базой 3. База данных для предметной области “Учебные пособия&quo ; Литература 1 Нормализация таблиц в реляционной модели БД 1.1 Понятие “Нормализация&quo ;Нормализация - это формализованная процедура, в процессе выполнения которой атрибуты данных (поля) группируются в таблицы, а таблицы, в свою очередь, - в базы данных. Цели нормализации следующие: Исключить дублирование информации в таблицах. Обеспечить возможность изменений в структуре таблиц. Уменьшить влияние структурных изменений базы данных на работу приложений, обеспечивающих пользователям доступ к данным. Процесс нормализации состоит из нескольких этапов. Первые три из них, выполняемых чаще всего, были описаны в 1972 году доктором Коддом. 1.2 Первая нормальная формаКаждое поле таблицы должно представлять уникальный тип информации. Это правило означает, что необходимо избавиться от повторяющихся полей и разделить составные поля на отдельные элементы данных. Правила построения первой нормальной формы требуют, чтобы все таблицы данных были плоскими и не содержали повторяющихся данных в различных строках. Под плоской понимается таблица, имеющая только два измерения: длина (число записей или строк) и ширина (число полей или столбцов). Ее ячейки не могут содержать больше одного значения. Если хотя бы одна ячейка таблицы содержит больше одного значения, для представления ее содержимого уже требуется третье измерение - глубина. Плоские таблицы и плоские файлы баз данных очень похожи тем, что имеют только два измерения. Однако в плоском файле содержится лишь одна таблица и не накладываются ограничения на содержимое ее ячеек. Примером ненормализованных данных могут выступать данные, представленные в таблице 1.1 Таким способом обычно составляется расписание движения транспорта.Таблица 1.1 - Ненормализованные данные Судно Название Рейс Погрузка Прибытие из Прибытие Порт Отправление Прибытие Порт Отправление 526 Japa Bear 9203W 5/31/92 SFO 6/6/92 H L 6/8/92 7/15/92 OSA 7/18/92 603 Korea Bear 9203W 5/05/92 OAK 6/19/92 OSA 6/21/92 6/25/92 I C 6/28/92 531 Chi a Bear 9204W 6/20/92 LAX 7/10/92 PAP 7/11/92 8/28/92 SYD 9/2/92 528 Japa Bear 9204W 8/20/92 SFO 8/27/92 H L 8/29/92 9/30/92 OSA 10/2/92 Поскольку суда останавливаются во многих портах, столбцы Прибытие, Порт и Отправление повторяются для каждой остановки.
Такая структура записи данных не подходит для реляционной базы данных. запись приведенной информации не соответствует требованиям первой нормальной формы, поскольку содержит повторяющуюся группу столбцов. Эту таблицу необходимо разделить на две: Порты и рейсы судов, не содержащие повторяющихся групп, как показано в таблицах 1.2 и 1.3Таблица 1.2 - Таблица “Рейсы судов” Судно Название Рейс Погрузка Прибытие из 528 Japa Bear 9203W 5/31/92 SFO 603 Korea Bear 9203W 6/5/92 OAK 531 Chi a bear 9204W 6/20/92 LAX 528 Japa bear 9204W 8/20/92 SFO Таблица 1.3 - Таблица “Порты” Прибытие Порт Отправление 6/6/92 H L 6/8/92 6/19/92 OSA 6/21/92 7/10/92 PAP 7/11/92 8/27/92 H L 8/29/92 7/15/92 OSA 7/18/92 6/25/92 I C 6/28/92 8/28/92 SYD 9/2/92 9/30/92 OSA 10/2/92 Теперь необходимо установить связь между таблицами Порты и Рейсы судов. В столбце рейс указывается текущий год, номер рейса за этот год, а также направление рейса (например, 9204W - это четвертый рейс за 1992 год в западном направлении). Таким образом, для связи между таблицами следует применять поля Судно и Рейс. Использовать какой-либо один из этих способов недостаточно, поскольку одно судно может делать несколько рейсов в течение года, а в одном направлении могут отправляться сразу несколько судов. Поскольку для удовлетворения требований первой нормальной формы придется создать новую таблицу Порты, необходимо отсортировать ее столбцы в порядке значимости. Первыми, как правило, размещаются столбцы, используемые для установки связи. При этом они располагаются в той последовательности, в какой они входят в составной первичный ключ. Данные показаны в таблице 1.4Таблица 1.4 - Таблица “Порты” Судно Рейс Порт Прибытие Отправление 528 9203W H L 6/6/92 6/8/92 603 9203W OSA 6/19/92 6/21/92 531 9204W PAP 7/10/92 7/11/92 528 9204W H L 8/27/92 8/29/92 528 9203W OSA 7/15/92 7/18/92 603 9203W I C 6/25/92 6/28/92 531 9204W SYD 8/28/92 9/2/92 528 9204W OSA 9/30/92 10/2/92 Теперь необходимо определить ключевые поля таблицы Порты, что дает возможность точно идентифицировать ее записи. Обязательно необходимо создать первичный ключ, поскольку от этой таблицы могут зависеть многие другие. Необходимо добавить столбцы Судно и рейс, так как они обеспечивают связь с данными таблицы Рейсы судов, также добавить поле Порт для создания совершенного уникального ключа (столбы Судно и Рейс могут содержать повторяющиеся значения). Комбинации Судно Рейс Порт представляет собой составной первичный ключ, значение которого однозначно идентифицирует запись. Значения этого ключа не повторяются, поскольку учтена возможность дважды делать остановку в одном порту (придвижении туда и обратно). Так, если судно возвращается с востока, рейс помечается суффиксом “Е&quo ;. 1.3 Вторая нормальная формаДля приведения таблиц ко второй нормальной форме необходимо обеспечить полную зависимость столбцов, которые не являются ключевыми, от первичного ключа, а если этот ключ составной, то от каждого его элемента. Под полной зависимостью понимается возможность однозначного определения значения каждого неключевого поля с помощью значения первичного ключа.
Если для однозначного определения используется составной первичный ключ, то это правило применяется к каждому значению из полей, входящих в составной ключ. Всегда, когда это возможно, в качестве первичного ключа следует использовать самые простые данные, имеющие “естественные&quo ; уникальные значения. Перед переходом ко второй нормальной форме необходимо привести данные к первой нормально форме. В процессе создания второй нормальной формы большая часть повторяющихся данных, оставшихся в таблице после приведения ее к первой нормальной форме, будет удалена. Для создания в таблице Рейсы судов однозначного ключа придется использовать составной ключ (Судно Рейс). Поскольку номер и название судна могут повторяться. Поля Судно и Название не зависят от первичного ключа, так как полем Рейс ничего не определяется. Название судна указывается в каждом рейсе. Так, например, название Japa Bear появляется дважды. Все эти недостатки нарушают правила второй нормальной формы. Возникает необходимость разбиения таблицы Рейсы судов еще на две: Рейсы и Суда. Каждый корабль описывается одной строкой в таблице суда, а одна строка таблицы Рейсы описывает рейс одного судна (с целью упрощения построения базы данных восточные и западные направления рассматриваются как отдельные рейсы). Как и в таблице Порты, для установления соответствия между рейсами и судами необходимо создать ключ, поэтому необходимо добавить поле номеров судов в таблицу Рейсы. Таблицы Суда и Рейсы показаны в таблицах 1.5 и 1.6Таблица 1.5 - Таблица “Суда” Судно Название 528 Japa Bera 603 Korea Bear 531 Chi a bear Таблица 1.6 - Таблица “Рейсы” Судно Рейс Погрузка Прибытие из 528 9203W 5/31/92 SFO 603 9203W 6/5/92 OAK 531 9204W 6/20/92 LAX 528 9204W 8/20/92 SFO После определения первичных ключей для каждой таблицы можно проверить, чтобы все данные, включенные в таблицы, относились к соответствующим объектам. Другими словами, следует убедиться, что каждое поле функционально зависит от первичного ключа, который идентифицирует исходный объект таблицы. Для каждого значения первичного ключа значения в столбцах данных должны относиться к объекту таблицы и полностью его описывать. Это правило используется двояко. Во-первых, в таблице не должно быть данных, не относящихся к объекту, определяемому первичным ключом. Во-вторых, данные в таблице должны полностью описывать объект. 1.4 Третья нормальная формаВ третьей нормальной форме столбцы, не являющиеся ключевыми, зависят от первичного ключа таблицы и не зависят от всех остальных столбцов. Должна быть возможность изменять значения любого поля (не входящего в первичный ключ) без воздействия на данные других полей. Прежде чем перейти к третьей нормальной форме, необходимо привести свои данные к первой, а затем - ко второй. Таблицы суда и Рейсы уже представлены в третьей нормальной форме, поскольку они содержат повторяющихся групп столбцов и существует зависимость неключевых столбцов этих таблиц от ключевых. В таблице Порты нет повторяющихся групп полей, а неключевые поля Прибытие и Отправление зависят от составного ключа (Судно Рейс Порт) и не зависят друг от друга.
Известны три основных типа организации данных и связей между ними: иерархический (в виде дерева), сетевой и реляционный. Иерархическая БД В иерархической БД существует упорядоченность элементов в записи, один элемент считается главным, остальные подчиненными. Данные в записи упорядочены в определенную последовательность, как ступеньки лестницы, и поиск данных может осуществляться лишь последовательным «спуском» со ступеньки на ступеньку. Поиск какого-либо элемента данных в такой системе может оказаться довольно трудоемким из-за необходимости последовательно проходить несколько предшествующих иерархических уровней. Иерархическую БД образует каталог файлов, хранимых на диске; дерево каталогов, доступное для просмотра в Norton Commander,P наглядная демонстрация структуры такой БД и поиска в ней нужного элемента (при работе в операционной системе MS-DOS). Такой же базой данных является родовое генеалогическое дерево. А) Б) Рисунок 12.1. Иерархическая модель базы данных Сетевая БД Эта база данных отличается большей гибкостью, так как в ней существует возможность устанавливать дополнительно к вертикальным иерархическим связям горизонтальные связи
1. Разработка альтернативных моделей предметной области в виде многоуровневых контекстных диаграмм
2. Проектирование реляционной базы данных в предметной области
3. Маркетинговые исследования в области международного туризма
4. Влияние идей К. Э. Циолковского на развитие исследований в области SETI
5. Клинические исследования в области женской сексологии: результаты и перспективы
9. Исследования в области синтеза и переработки полиэтилентерефталата и нанокомпозитов на его основе
10. Сущность, модели, границы применения метода производственной функции
11. Математические методы и модели в конституционно-правовом исследовании
12. Fox Pro - реляционная модель данных
13. Разработка и исследование модели отражателя-модулятора (WinWord zip-1Mb)
14. Исследование особенностей японской модели менеджмента
16. Исследование одной модели газотранспортной сети
17. Реляционные модели базы данных
18. Разработка и исследование имитационной модели локальных вычислительных сетей
20. Исследование математических моделей оптимизации обслуживания сложных систем
25. Исследование экономико-математических моделей
26. Математические методы и модели исследования операций
27. Вселенная, которую я выбираю (Модель Вселенной Лео Шарка)
28. Стационарная модель Вселенной
29. Модель экономического развития Южной Кореи на современном этапе
30. Проблема применения моделей устойчивого развития на региональном уровне
31. Шведская модель социальной экономики
32. Российский опыт местного самоуправления: исторические модели и современное состояние
34. Модели будущего в русской литературе
35. Развитие науки: революция или эволюция? Философские модели постпозитивизма
36. Азиатская модель – сильные стороны
37. Проектирование и разработка сетевых броузеров на основе теоретико-графовых моделей
43. Математическая модель всплытия подводной лодки
44. Судебно-медицинская экспертиза по исследованию огнестрельных повреждений (Контрольная)
45. Основополагающие принципы андрагогической модели обучения: Оптимальные условия их применения
46. Педагогические модели образования
47. Оценка систем дистанционного образования (математическая модель)
48. Электропривод и автоматизация главного привода специального вальцетокарного станка модели IK 825 Ф2
49. Модель теплового состояния аппарата сепарации
50. Проектирование восьмиосной цистерны модели 15-1500
51. Типология К.Г. Юнга и модель информационного метаболизма аушры аугистинавичюте
52. Моделирование как метод естествознания. Модель демографического взрыва
53. Социальная модель Дойча - взгляд каббалиста
57. Космогонические модели ионйцев
58. МОДЕЛЬ ЯДРА АТОМА И ТАБЛИЦА ЭЛЕМЕНТОВ
59. Бизнес-план как модель инвестиционного проекта
60. Оценка экономической целесообразности производства ПЭВМ, с помощью электронной модели.
61. Модели рекламного воздействия
62. Стратегическая модель Портера: стратегии ценового лидерства, дифференциации и концентрации
63. Американская и японская модели менеджмента
64. Японская модель управления
65. Модели и методы принятия решений
66. Модель разработки стратегии для ОАО "Аливария"
68. Диверсификация цен: сущность и современные модели
69. Рынок ценных бумаг и его основные модели
74. Паутинообразная модель моделирования динамики рыночных цен
75. Модель экономического роста
76. Новая модель экономики и общественного устройства
79. Модель смены технологического уклада
80. Инфляция: виды, модели, показатели
81. Шведская модель смешанной экономики
82. Кризис индустриальной цивилизации и политэкономическая модель производства
83. Английская модель развития капитализма
84. Анализ Югославской модели социализма
85. Мусульманский мир: модель экономической организации общества
90. Установление вида, модели и идентификации нарезного оружия по стреляной пуле и гильзе
92. Интерпретационный потенциал номинативной модели
93. Модель урока
94. Математические модели и методы их расчета
95. Модель управления конфликтными потоками в классе алгоритмов
96. Математическая модель взаимодействия подсистем производства сельхозпродуктов в районных АПК
97. Математические модели инфляции
98. Нечетко-логические модели и алгоритмы
99. Применение информатики, математических моделей и методов в управлении