Описание сущностей и определение ключевых полей

В базе данных «Ремонт компьютеров» имеются такие сущности как Компьютеры, Мастера, Диагностика неисправностей, Ремонт компьютеров.

Сущность Компьютеры предназначена для ввода информации о компьютерах, поступивших в сервисный центр для ремонта и включает в себя следующие характеристики:

§ Код компьютера;

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

§ Серийный номер;

§ Гарантия.

Сущность Мастера предназначена для ввода информации о сотрудниках сервисного центра, которые устанавливают причину поломки и устраняют ее. Сущность включает следующие характеристики:

§ Код мастера;

§ Фамилия;

§ Имя;

§ Отчество;

§ Серия и номера паспорта;

§ Идентификационный код.

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

§ Код поломки;

§ Причина поломки;

§ Способы устранения поломки;

§ Цена.

Сущность Ремонт компьютеров включает в себя следующие характеристики:

§ Код компьютера;

§ Код поломки;

§ Код мастера;

§ Дата начала ремонта;

§ Дата конца ремонта;

§ Сумма.

Описание сущностей и определение ключевых полей
Описание сущностей и определение ключевых полей

Описание сущностей и определение ключевых полей Рис. 1. Описание сущностей

В каждой таблице БД должно быть определено ключевое поле. Этот, так называемый первичный ключ, обеспечивает уникальность записей в таблице, препятствуя вводу повторяющихся данных. С помощью ключа СУБД обеспечивает быстрый поиск требуемых данных, их хранение и обработка.

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

Однако не во все таблицах могут содержаться ключевые поля, обеспечивающие уникальность записей в таблице. Поэтому очень часто для создания поля первичного ключа в таблицу добавляют суррогатный столбец. Для него устанавливают тип данных Счетчик. Это искусственно введенное поле, за уникальность которого отвечает Access. Данные в это поле добавляются автоматически при создании новой записи, чаще всего используется счетчик возрастающих чисел [3].

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

В разработанной базе данных «Ремонт компьютеров» поле Код компьютера в таблице Компьютеры является первичным ключом и связан с внешним ключом Код компьютера таблицы Ремонт компьютеров. Поле Код мастера таблицы Мастера является первичным ключом и связан с внешним ключом Код мастера таблицы Ремонт компьютеров.

В таблице Ремонт компьютеров в качестве первичного ключа используется вся совокупность полей: Код компьютера, Код мастера, Код поломки. Для обеспечения уникальности записей в таблице Ремонт компьютеровдобавлено поле Код заказа, для которого установлен тип данных Счетчик.

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

1.3. Установление связей между таблицами и обеспечение целостности данных

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

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

Между таблицами могут быть установлены следующие типы связей [5]:

Связь «один-к-одному» устанавливается в случаях, когда конкретная строка главной таблицы в любой момент времени связана только с одной строкой подчиненной таблицы. Эта связь самая простая, но встречается она нечасто. Таблицы, имеющие тип связи «один-к-одному», всегда можно скомпоновать в одну.

Связь «один-ко-многим» устанавливается в случаях, когда конкретная строка главной таблицы в любой момент времени связана с несколькими строками подчиненной таблицы. При этом любая строка подчиненной таблицы связана только с одной строкой главной таблицы.

Связь «многие-ко-многим» устанавливается в случаях, когда конкретная строка главной таблицы в любой момент времени связана с несколькими строками подчиненной таблицы. Фактически такой тип связи – сложный и запутанный, и в базах данных его создавать не разрешается.

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

Поскольку один мастер может починить несколько компьютеров, между таблицами Мастера и Ремонт компьютеров установлена связь «один-ко-многим».

Таблица Диагностика неисправностей связана с таблицей Ремонт компьютеров также связью «один-ко-многим», поскольку один компьютер может иметь несколько поломок.

Целостность данных означает систему правил, используемых для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Установить целостность данных можно, если выполнены следующие условия [4]:

§ Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;

§ Связанные поля имеют один тип данных;

§ Таблицы принадлежат одной БД Access.

Установив целостность данных, необходимо действовать в соответствии со следующими правилами [4]:

§ Невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы;

§ Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице;

§ Невозможно изменить значение ключевого поля в главной таблице, если существуют записи, связанные с данным значением.

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

Описание сущностей и определение ключевых полей

Рис.1. Схема данных

Нормализация таблиц

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

Нормализация таблиц представляет собой последовательное изменение структуры таблиц до тех пор, пока она не будет удовлетворять требованиям последней формы нормализации. Всего существует шесть форм нормализации: первая нормальная форма, вторая нормальная форма, третья нормальная форма, нормальная форма Бойса-Кодда, четвертая нормальная форма и пятая нормальная форма или нормальная форма проекции-соединения [6, 8].

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

В таблицах базы данных «Ремонт компьютеров» ни одно из полей не содержит более одного значения. В таблице Компьютеры все неключевые атрибуты определяются ключом Код компьютера. В таблице Мастера в качестве первичного ключа используется Код мастера, а в таблице Диагностика неисправностей – Код поломки. Таблицы отвечают требованиям первой нормальной формы.

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

Можно сделать вывод, что таблицы базы данных «Ремонт компьютеров» находятся во второй нормальной форме.

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

Таблица Диагностика неисправностей не находится в третьей нормальной форме, поскольку поле Способы устранения поломкизависит не только от ключевого поляКод поломки, но и от не ключевого поля Причина поломки. Чтобы привести таблицу к третьей нормальной форме, необходимо ее разбить на две таблицы: Диагностика неисправностей и Устранение поломки.

Таблица Диагностика неисправностей предназначена для ввода информации о причинах поломки и содержит следующие данные:

§ Код поломки;

§ Причина поломки.

Таблица Устранение поломки предназначена для ввода информации о способах устранения поломки. Таблица включает в себя следующие атрибуты:

§ Код поломки;

§ Способы устранения поломки;

§ Цена.

Поле Код поломки в таблице Устранение поломки является первичным ключом и обеспечивает связь с таблицами Диагностика неисправностей и Ремонт компьютеров.

Между таблицами Диагностика неисправностей и Устранение поломки установлена связь «один-ко-многим», поскольку одной поломке соответствует несколько способов ее устранения.

На практике нормализация таблиц базы данных заканчивается третьей нормальной формой.

Все таблицы базы данных «Ремонт компьютеров» находятся в третьей нормальной форме, и дальнейшая нормализация не требуется. Соответственно выполняются три основных правила нормализации:

§ Значения, находящиеся в полях, не повторяются;

§ Все неключевые поля функционально связаны с ключом;

§ Между не ключевыми полями нет скрытых зависимостей.

Описание сущностей и определение ключевых полей

Рис. 2. Результат нормализации

Что такое ключевые поля и индексы в БД Microsoft Access


Похожие статьи.

Понравилась статья? Поделиться с друзьями: