Обеспечение целостности данных в базе
Целостность данных подразумевает, что данные, введенные в общее поле двух связанных таблиц, должны совпадать.
Обязательными условиями поддержки целостности данных в приложении Access являются следующие:
обе таблицы должны принадлежать одной базе данных
связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;
связанное поле главной таблицы должно быть ключевым или иметь уникальный индекс.
Рассмотрим правила, которые будут поддерживаться программой Access, если используются условия целостности данных:
в подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи;
однако в поле внешнего ключа можно ввести значение Null, чтобы показать, что данная запись не является связанной ни с какой другой записью главной таблицы;
в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
нельзя изменить значения ключа связи в записи главной таблицы, если в подчиненной таблице имеются связанные с ней записи.
Кроме того, при выборе опции обеспечения целостности в окне Изменение связей доступными становятся еще две опции, которые позволяют активизировать автоматическое выполнение каскадного удаления и каскадного обновления данных.
Установленный флажок каскадное обновление связанных полей означает, что при изменении данных ключевого поля главной таблицы автоматически изменяются соответствующие значения поля в связанных записях.
Если установлен флажок каскадное удаление связанных записей, то при удалении записи в главной таблице будут удалены все связанные записи в подчиненной таблице.
Следует отметить, что если ключевое поле главной таблицы – это поле счетчика, то нет смысла устанавливать флажок каскадное обновление связанных полей, так как значение поля счетчика изменить невозможно.
Пример выполнения работы
Задание №1. Создайте пять таблиц в режиме конструктора: Товары, Поставщики, Клиенты, Поступление товара, Выдача товара.
1) Товары
Имя поля |
Тип данных |
Описание |
КодТ |
Счетчик |
Код товара |
Наименование |
Текстовый |
Наименование товара |
Ед_измерения |
Текстовый |
Единица измерения товара |
Наличие |
Логический |
Наличие товара на складе |
Требования к полям таблицы:
В поле Ед_измерения необходимо создать список подстановок: кг, шт. Для этого необходимо воспользоваться Мастером подстановок.
В столбце Тип данных поля Ед_измерения нужно выбрать строку Мастер подстановок.
В первом диалоговом окне Мастера подстановок выбрать переключатель, определяющий ввод фиксированных значений. Нажать кнопку Далее.
Во втором окне Мастера подстановок ввести число столбцов: 1; ввести значения, которые будет содержать столбец подстановки: кг, шт. Нажать кнопку Далее.
В следующем окне нажать кнопку Готово.
Поле КодТ сделать ключевым.
2) Поставщики
Имя поля |
Тип данных |
Описание |
КодП |
Счетчик |
Код поставщика |
Фирма |
Текстовый |
Наименование фирмы-поставщика |
Адрес |
Текстовый |
Адрес фирмы-поставщика |
Телефон |
Текстовый |
Телефон (факс) фирмы |
Счет |
Текстовый |
Банковские реквизиты |
Требования к полям таблицы:
Поле КодП сделать ключевым.
3) Клиенты
Имя поля |
Тип данных |
Описание |
КодК |
Счетчик |
Код клиента |
Фирма |
Текстовый |
Наименование фирмы-клиента |
Адрес |
Текстовый |
Адрес фирмы-клиента |
Телефон |
Текстовый |
Телефон (факс) фирмы |
Счет |
Текстовый |
Банковские реквизиты |
Требования к полям таблицы:
Поле КодК сделать ключевым.
4) Поступление товара
Имя поля |
Тип данных |
Описание |
КодТ |
Числовой |
Код товара |
КодП |
Числовой |
Код поставщика |
Дата |
Дата/время |
Дата поступления товара |
Количество_товара |
Числовой |
Количество поставленного товара |
Цена |
Денежный |
Цена поставки |
Требования к полям таблицы:
В поле КодТ необходимо создать список подстановок, в котором выводятся наименования товара из существующей таблицы Товары. При этом в таблице следует сохранять значение кода товара, а не наименования.
Для этого также необходимо воспользоваться Мастером подстановок, только вместо ввода фиксированных значений выбрать использование значений из таблицы или запроса. Нажать кнопку Далее.
Во втором окне Мастера подстановок нужно выбрать таблицу Товары и нажать кнопку Далее.
В следующем окне необходимо выбрать из Доступных полей поля КодТ и Наименование, предварительно выделив их и нажав на кнопку по очереди. Нажать кнопку Далее.
Во всех остальных окнах нажать кнопку Далее, а в последнем окне Готово.
В поле КодП необходимо создать список подстановок, в котором выводятся название фирмы поставщика из существующей таблицы Поставщики. При этом в таблице следует сохранять значение кода поставщика, а не название фирмы поставщика.
Поля КодТ и КодП сделать ключевыми.
5) Выдача товара
Имя поля |
Тип данных |
Описание |
|
КодТ |
Числовой |
Код товара |
|
КодК |
Числовой |
Код клиента |
|
Дата |
Дата/время |
Дата поступления товара |
|
Количество_товара |
Числовой |
Количество товара |
|
Цена |
Денежный |
Цена продажи |
В поле КодТ необходимо создать список подстановок, в котором выводятся наименования товара из существующей таблицы Товары. При этом в таблице следует сохранять значение кода товара, а не наименования.
В поле КодК необходимо создать список подстановок, в котором выводятся название фирмы клиента из существующей таблицы Клиенты. При этом в таблице следует сохранять значение кода клиента, а не название фирмы клиента.
Поля КодТ и КодК сделать ключевыми.
Задание №2. Создайте связи между таблицами как показано на рис.2.
Дата оформления
Дата выдачи
Рис.2. Схема данных
Общая цель, которая преследуется при выполнении форматирования данных и при контроле ввода информации, - обеспечить достоверность и корректность данных в таблицах, а также представить их в максимально удобном для эффективной работы виде. Ключевая роль в решении этой задачи принадлежит таким свойствам полей, как Формат поля, Маска ввода и Условие на значение.
Такой инструмент, как форматирование данных, позволяет определить способ отображения на экране вводимых данных. Изменив формат, можно представить данные в более привлекательном, информативном и доступном виде.
Несмотря на пугающее разнообразие форматов в Access, все они имеют свою «типовую» принадлежность (т.е. применяются строго для определенных типов данных). Форматы доступны для полей любого типа, за исключением типов Поле объекта OLE и Вложение. В Access используется две разновидности форматов: встроенные (как наиболее распространенные) и специальные. Последние создаются с помощью специальных символов. Для каждого типа полей существуют свои настройки форматирования и свои специальные символы.