Обеспечение целостности данных в базе

Целостность данных подразумевает, что данные, введенные в общее поле двух связанных таблиц, должны совпадать.

Обязательными условиями поддержки целостности данных в приложении Access являются следующие:

· обе таблицы должны принадлежать одной базе данных

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

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

Рассмотрим правила, которые будут поддерживаться программой Access, если используются условия целостности данных:

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

· однако в поле внешнего ключа можно ввести значение Null, чтобы показать, что данная запись не является связанной ни с какой другой записью главной таблицы;

· в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;

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

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

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

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

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

 

Редактирование и удаление связей между таблицами

Любая связь, установленная между таблицами, может быть отредактирована. Чтобы изменить существующую связь, необходимо выполнить следующее:

1. Если таблицы, между которыми необходимо изменить связь, открыты, то их нужно закрыть, так как изменять параметры связи между открытыми таблицами нельзя.

2. Выбрать на вкладке Работа с базами данных команду Схема данных (группа Показать или скрыть).

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

4. Внести необходимые изменения и щелкнуть на кнопке ОК.

Для того, чтобы удалить межтабличную связь необходимо выполнить следующее:

1. Щелкнуть на требуемой линии объединения в окне Схема данных (линия при этом станет более жирной) и нажмите клавишу <Delete>.

2. На экране появится диалоговое окно Access, в котором нужно будет подтвердить удаление связи.

 

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

 

По заданию требуется:

1. Создать таблицы в режиме конструктора на основании созданной ER-диаграммы.

2. Определить тип данных для каждого поля.

3. Установить для каждой таблицы первичный ключ.

4. Создать схему данных для базы данных.

5. Написать отчет по лабораторной работе.

 

задание

Задание №1. Создайте пять таблиц в режиме конструктора: Товары, Поставщики, Клиенты, Поступление товара, Выдача товара.

Товары

Имя поля Тип данных Описание
КодТ Счетчик Код товара
Наименование Текстовый Наименование товара
Ед_измерения Текстовый Единица измерения товара
ЦенаТовара Денежный Цена продажи
Наличие Логический Наличие товара на складе

Требования к полям таблицы:

· В поле Ед_измерения необходимо создать список подстановок: кг, шт.Для этого необходимо воспользоваться Мастером подстановок.

- В столбце Тип данных поля Ед_измерения нужно выбрать строку Мастер подстановок.

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

- Во втором окне Мастера подстановок ввести число столбцов: 1; ввести значения, которые будет содержать столбец подстановки: кг, шт. Нажать кнопку Далее.

- В следующем окне нажать кнопку Готово.

· Поле КодТ сделать ключевым.

Поставщики

Имя поля Тип данных Описание
КодП Счетчик Код поставщика
Фирма Текстовый Наименование фирмы-поставщика
Адрес Текстовый Адрес фирмы-поставщика
Телефон Текстовый Телефон (факс) фирмы
Счет Текстовый Банковские реквизиты

Требования к полям таблицы:

- Поле КодП сделать ключевым.

Клиенты

Имя поля Тип данных Описание
КодК Счетчик Код клиента
Фирма Текстовый Наименование фирмы-клиента
Адрес Текстовый Адрес фирмы-клиента
Телефон Текстовый Телефон (факс) фирмы
Счет Текстовый Банковские реквизиты

Требования к полям таблицы:

- Поле КодК сделать ключевым.

Поступление товара

Имя поля Тип данных Описание
КодТ Числовой Код товара
КодП Числовой Код поставщика
Дата Дата/время Дата поступления товара
Количество_товара Числовой Количество поставленного товара
ЦенаПоставки Денежный Цена поставки

Требования к полям таблицы:

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

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

- Во втором окне Мастера подстановок нужно выбрать таблицу Товары и нажать кнопку Далее.

- В следующем окне необходимо выбрать из Доступных полей поля КодТ и Наименование, предварительно выделив их и нажав на кнопку по очереди. Нажать кнопку Далее.

- Во всех остальных окнах нажать кнопку Далее, а в последнем окне Готово.

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

· Поля КодТ и КодП сделать ключевыми.

Выдача товара

Имя поля Тип данных Описание
КодТ Числовой Код товара
КодК Числовой Код клиента
ДатаОформления Дата/время Дата оформления заказа
ДатаВыдачи Дата/время Дата выдачи товара
Количество_товара Числовой Количество товара
СостояниеЗаказа Числовой Состояние заказа

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

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

· В поле СостояниеЗаказа необходимо создать список подстановок: 1; "Оформляется"; 2; "Обрабатывается";3;"Выполнен".

· Поля КодТ и КодК сделать ключевыми.

Задание №2.Создайте связи между таблицами как показано на рис.4.

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

Задание №3. Повторить задания 1, 2 для индивидуальной БД.

 

СОДЕРЖАНИЕ И ОФОРМЛЕИНЕ ОТЧЕТА

ПО ЛАБОРАТОРНОЙ РАБОТЕ

 

Отчет оформляется в текстовом редакторе MS Word в формате А4 и должен содержать:

1. Титульный лист.

2. Цель работы.

3. ER-диаграмму.

4. Таблицы БД в режиме конструктора.

5. Схему данных.

 

 

ВОПРОСЫ для самоконтроля

 

1. Охарактеризуйте объекты базы данных.

2. Перечислите все способы создания таблиц в Access 2007.

3. Перечислите и охарактеризуйте типы данных, различаемые Access.

4. Для чего используется Мастер подстановок. Покажите как им пользоваться.

5. Расскажите о свойствах полей.

6. Дайте определение пустой строки и значения Null.

7. Дайте определение для первичного ключа.

8. Виды первичных ключей.

9. Что такое внешний ключ?

10. Перечислите и охарактеризуйте типы отношений между таблицами.

11. Перечислите условия, которым должны соответствовать типы данных связываемых полей.

12. Что такое Схема данных?

13. Назовите обязательные условия поддержки целостности данных в приложении Access.

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

15. Для чего устанавливается флажок каскадное обновление связанных полей?

16. Для чего устанавливается флажок каскадное удаление связанных записей?

17. Как изменить существующую связь между таблицами?

18. Как удалить связи между таблицами?

 

ВРЕМЯ, ОТВЕДЕННОЕ НА выполнение

ЛАБОРАТОРНОЙ РАБОТЫ

 

Подготовка к работе – 1,0 акад. часа

Выполнение работы – 1,0 акад. часа

Оформление работы – 0,5 акад. часа

 

ЛИТЕРАТУРА

1. Вейскас Дж. Эффективная работа с Microsoft Access 97. – СПб.: Питер, 1999.

2. Золотова С.И. Практикум по Access. – М.: Финансы и статистика, 2003.

3. Кузнецов А. Microsoft Access 2003. Русская версия. Учебный курс. – СПб.: Питер; Киев; Издательский дом BHV, 2006.

4. Тимошок Т.В. Microsoft Office Access 2007. Самоучитель. – М.: ООО «И.Д. Вильямс», 2008.

5. Microsoft Access 2000. Шаг за шагом: Практ. Пособ./Пер. с англ. – М.: ЭКОМ, 2000.