Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Разработка схемы связей таблиц, нормализация базы данных и приведение её к НФБК



 

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

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

Нормализация выполняется поэтапно. Первые три шага были описаны доктором Э.Ф. Коддом в статье " Дальнейшая нормализация реляционной модели базы данных" в 1972г.

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

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

Вторая нормальная форма (2НФ). Для 2НФ требуется, чтобы все поля таблицы зависели от первичного ключа, то есть, чтобы первичный ключ однозначно определял запись и не был избыточен. В каждой таблице БД может существовать первичный ключ - поле или набор полей, однозначно идентифицирующий запись. Значение первичного ключа в таблице БД должно быть уникальным, т.е. в таблице не должно существовать двух и более записей с одинаковым значением первичного ключа. Те поля, которые зависят только от части первичного ключа, должны быть выделены в составе отдельных таблиц. 2НФ позволяет удалить большую часть повторяющихся данных, которые часто остаются после первого этапа нормализации.

Для третьей нормальной формы (ЗНФ) требуется, чтобы все не ключевые столбцы таблицы зависели от первичного ключа таблицы, но были независимы друг от друга. Для этого требуется, чтобы таблицы были приведены к 1НФ и 2НФ.

Введем определение детерминанта. Детерминант - это любой атрибут, от которого полностью функционально зависит некоторый другой атрибут. Введя данное понятие, можно дать определение НФБК. Отношение будет находиться в НФБК, если оно находится в 3НФ и каж­дый детерминант является потенциальным ключом.

Отношение находится в четвертой нормальной форме (4НФ), если оно находится в НФБК и не имеет много­значных зависимостей. Отношение находится в пятой нормальной форме (5НФ) только в том случае, когда любая зависимость соединения в отношении следует из существования некоторого возможного ключа в данном отношении. Отношение находится в доменно-ключевой нор­мальной форме (ДКНФ), если каждое ограничение, накладываемое на это отношение, яв­ляется логическим следствием определения доменов и ключей.

Для большинства существующих СУБД необходимо представить проект базы данных в ЗНФ, так как этого вполне достаточно практически для всех обычных приложений. При разработке исключительно больших систем, когда необходимо максимальное сокращение объемов хранимых данных, желательно произвести дальнейшую нормализацию. Но в этом случае можно столкнуться с недостатками нормализации. Поскольку порог человеческого восприятия не позволяет одновременно анализировать большое число объектов с учетом их взаимосвязей, можно утверждать, что с увеличением числа нормализованных таблиц уменьшается целостное восприятие базы данных как системы взаимосвязанных данных. Другим недостатком нормализованной базы данных является необходимость считывать связанные данные из нескольких таблиц при выполнении одного запроса.

 

  Свойство Ключи Физические характеристики Логические ограничения Процессы со свойством
Типы Код типа Uk, Pk Длинное целое, 4 байта   В, К, П, У
Название типа   Символьный, 50 символов   В, К, П, У
Товар Код товара Uk1, Pk1 Длинное целое, 4 байта   В, К, П, У
Код типа Uk2, Pk2 Длинное целое, 4 байта   В, К, П, У
Название товара   Символьный, 50 символов   В, К, П, У
Единица измерения   Символьный, 50 символов   В, К, П, У
Поставщики Код поставщика Uk, Pk Длинное целое, 4 байта   В, К, П, У
Название поставщика   Символьный, 50 символов   В, К, П, У
Адрес поставщика   Символьный, 50 символов   В, К, П, У
Дальность   Длинное целое, 4 байта   В, К, П, У
Факс   Символьный, 50 символов   В, К, П, У
Работники Код работника Uk, Pk Длинное целое, 4 байта   В, К, П, У
Фамилия   Символьный, 50 символов   В, К, П, У
Имя   Символьный, 50 символов   В, К, П, У
Отчество   Символьный, 50 символов   В, К, П, У
Должность   Символьный, 50 символов   В, К, П, У
Дата рождения   Дата/Время   В, К, П, У
Номер автомобиля   Символьный, 50 символов   В, К, П, У
Телефон работника   Символьный, 50 символов   В, К, П, У
Заказчики Код заказчика Uk, Pk Длинное целое, 4 байта   В, К, П, У
Название заказчика   Символьный, 50 символов   В, К, П, У
Адрес заказчика   Символьный, 50 символов   В, К, П, У
Телефон заказчика   Символьный, 50 символов   В, К, П, У
Приход ГСМ Идентификатор прихода Uk, Pk Счетчик   В, К, П, У
Код товара   Длинное целое, 4 байта   В, К, П, У
Код типа   Длинное целое, 4 байта Равно 2 В, К, П, У
Количество прихода ГСМ   Длинное целое, 4 байта   В, К, П, У
Дата прихода   Дата/Время   В, К, П, У
Расход ГСМ Идентификатор расхода Uk, Pk Счетчик   В, К, П, У
Код товара   Длинное целое, 4 байта   В, К, П, У
Код типа   Длинное целое, 4 байта Равно 2 В, К, П, У
Код работника   Длинное целое, 4 байта   В, К, П, У
Код Поставщика   Длинное целое, 4 байта   В, К, П, У
Количество расхода ГСМ   Длинное целое, 4 байта   В, К, П, У
Дата расхода   Дата/Время   В, К, П, У
Место назначения Код места назначения Uk, Pk Длинное целое, 4 байта   В, К, П, У
Название места назначения   Символьный, 50 символов   В, К, П, У
Адрес места назначения   Символьный, 50 символов   В, К, П, У
Телефон места назначения   Символьный, 50 символов   В, К, П, У
Доставка Код доставки Uk, Pk Длинное целое, 4 байта   В, К, П, У
Метод доставки   Символьный, 50 символов   В, К, П, У
Реализация Идентификатор реализации Uk, Pk Счетчик   В, К, П, У
Код товара   Длинное целое, 4 байта   В, К, П, У
Код типа   Длинное целое, 4 байта Равно 1 В, К, П, У
Код заказчика   Длинное целое, 4 байта   В, К, П, У
Количество реализованного товара   Длинное целое, 4 байта   В, К, П, У
Цена реализованного товара   Денежный   В, К, П, У
Дата реализации   Дата/Время   В, К, П, У
Поставка Идентификатор поставки Uk, Pk Счетчик   В, К, П, У
Код товара   Длинное целое, 4 байта   В, К, П, У
Код типа   Длинное целое, 4 байта Равно 1 В, К, П, У
Код работника   Длинное целое, 4 байта   В, К, П, У
Код места назначения   Длинное целое, 4 байта   В, К, П, У
Код доставки   Длинное целое, 4 байта   В, К, П, У
Код поставщика   Длинное целое, 4 байта   В, К, П, У
Количество поставляемого товара   Длинное целое, 4 байта   В, К, П, У
Цена поставляемого товара   Денежный   В, К, П, У
Дата поставки   Дата/Время   В, К, П, У

 

Ключи – сокращения: «Pk» (Primary key) – первичный ключ, «Uk» (Unique key) – уникальный ключ.

Процессы со свойством – сокращения: «В» – ввод, «П» – просмотр, «К» – корректировка, «У» – удаление.

 

 

Рисунок 10. Схема связей таблиц базы данных «Учёт поставок, наличия и реализации товара в ООО «Долина» г. Оренбурга», построенная при помощи СУБД Access 2000


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 918; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.009 с.)
Главная | Случайная страница | Обратная связь