2.1 Разработка структуры базы данных
Нормализация – процесс, в результате которого можно избавиться от дефектов проектирования базы данных. В процессе нормализации мы, получаем ряд нормальных форм, используя набор правил, описывающих то, что следует, и что не следует делать со структурой нашей таблицы. Процесс нормализации состоит из разбиения таблиц на меньшие, в результате чего формируется лучшая структура.
Чтобы выполнить нормализацию, структура базы данных последовательно приводится к различным формам. Вообще говоря, каждая последующая форма относится и предыдущей категории. Например, чтобы схема базы данных соответствовала второй нормальной форме, она должна также соответствовать и первой нормальной форме. Чтобы схема соответствовала третьей нормальной форме, она должна соответствовать и второй нормальной форме, и т.д. На каждой стадии добавляется все больше правил, которым должна соответствовать схема.
Первая нормальная форма требует, чтобы каждое значение атрибута или столбца было атомарным. Это значит, что каждый атрибут должен содержать единственное значение, а не множество значений или другую строку базы данных.
Рассмотрим таблицу 1.
Таблица 1. Client
id | f_sob | fio | otv | ur_adr | fiz_adr | tel | vid_doc |
3 | Физ. лицо | Аверин А.С. | Леонов А.Ю. | 8 Марта 38 | Советская 45 | 2–24–09 | Вод. удост. |
2 | Физ. лицо | Петров П.П. | Синегубов М.С. | Калинина 4 | Пролеткая 24 | 72–80–21 | Воен. билет |
5 | Юр. лицо | Ронжин Д.С. | Карикова Т.Н. | Пролет-кая 20 | Маяков-го 150 | 55–12–33 | паспорт |
Это – ненормализованная версия таблицы клиент. Как видите, здесь размешены такие столбцы как form_sob, vid_doc, которые надо привести к первой нормальной форме. Чтобы привести схему к первой нормальной форме, необходимо в столбце товар, покупатели и форма расчета разместить атомарные значения. Это можно сделать различными способами. Первая, наверное, самая очевидная возможность, показана в таблице 2.
Таблица 2. Client
id | Id_f_sb | fio | otv | ur_adr | fiz_adr | tel | Id_v_dc |
3 | 2 | Аверин А.С. | Леонов А.Ю. | 8 Марта 38 | Советская 45 | 2–24–09 | 3 |
2 | 2 | Петров П.П. | Синегубов М.С. | Калинина 4 | Пролетарская 24 | 72–80–21 | 2 |
5 | 1 | Ронжин Д.С. | Карикова Т.Н. | Пролетарская 20 | Маяковского 150 | 55–12–33 | 1 |
В данной таблице мы выделили по одной строке на каждый элемент в столбцах форма собственности, вид документа. Это решение далеко от идеального, по сколько оно порождает очевидную избыточность данных. Лучший и самый правильный вариант приведения наших данных к нормальной форме показан на рисунке 2.
В этом случае мы выделили данные формы собственности в отдельную таблицу, что позволяет решить проблему избыточности.
После приведения схемы к нормальной форме можно перейти к формам старших порядков, которые немного труднее для понимания. Говорят, что схема находится во второй нормальной форме, если все атрибуты, не являющиеся частью первичного ключа, а сама схема уже находится в первой нормальной форме. Что это значит? Это значит, что каждый атрибут, не является ключом, должен функционально зависеть от всех составляющих ключа. Так, если первичный ключ составлен из нескольких столбцов, то всякий другой атрибут в таблице должен зависеть от комбинации всех этих столбцов.
Рисунок 2 – Нормализация Базы данных
В таблице 2 Client имеет по одной строке на каждый элемент квалификации типов. Таблица находится в первой нормальной форме, но не удовлетворяет второй нормальной форме. Другими словами, мы можем определить наименование vid_doc, используя только кодовый номер типа (Id_vid_doc). Это значит, что указанные атрибуты функционально зависимы только от части первичного ключа, а не от всего первичного ключа. Таким образом, я могу определить эти атрибуты по части первичного ключа, и для этого совсем не нужен весь первичный ключ. Следовательно, указанная схема не находится во второй нормальной форме.
Чтобы привести эту схему ко второй нормальной форме необходимо разбить таблицу на такие таблицы, в которых все не ключевые атрибуты будут полностью функционально зависеть от ключа. Очевидно, что в данном случае этого можно достичь, разделив исходную таблицу на две:
client (Id_vid_doc)
Vid_doc (vid)
Пример показан в таблице 3.
Таблица 3. Vid_doc
id | Vid |
1 | Паспорт |
3 | Водительское удостоверение |
2 | Военный билет |
Как уже говорилось, эта схема находится в первой нормальной форме, поскольку все значения являются атомарными. Но она также находится и во второй нормальной форме, по сколько каждый атрибут, не являющийся ключом, теперь функционально зависит от всех частей ключа. Для моей схемы не требуется создавать третью нормальную форму, так как моей работе удовлетворяют две формы, то есть первая нормальная форма и вторая нормальная форма.
... в тех разрезах, которые Вам необходимы, формируя набор показателей «на лету». Прозрачность и достоверность данных обеспечивается наличием всей необходимой информации в единой системе. «Управление производством» позволяет полностью контролировать процесс прохождения производственного заказа по всем этапам производственного цикла от расчета потребностей в материалах и производственных ресурсах до ...
... Заведующий кафедрой ИСЭ __________О.И.Пятковский «____» 200_ г. ЗАДАНИЕ № 06 НА ДИПЛОМНОЕ ПРОЕКТИРОВАНИЕ По специальности 351400 «Прикладная информатика в экономике» студенту группы 9ПИЭ-01 Тема: Автоматизация разработки медиаплана для ООО «Медиа-Групп» Утверждено приказом ректора от 27 марта 2006 г. № Л - 816 Срок исполнения дипломной работы 15 июня 2006 г. Задание принял к ...
... операционной системы компьютер мертв. ОС загружается при включении компьютера. Прикладное ПО предназначено для решения конкретных задач пользователя и организации вычислительного процесса информационной системы в целом. Прикладное ПО позволяет разрабатывать и выполнять задачи (приложения) пользователя по бухгалтерскому учету, управлению персоналом и т.п. Прикладное программное обеспечение ...
... . Становление рыночной экономики в России породило ряд проблем. Одной из таких проблем является обеспечение безопасности бизнеса. На фоне высокого уровня криминализации общества, проблема безопасности любых видов экономической деятельности становится особенно актуальной. Информационная безопасность среди других составных частей экономической безопасности (финансовой, интеллектуальной, кадровой, ...
0 комментариев