
- •Министерство образования и науки, молодежи и спорта украины
- •Cодержание
- •Введение
- •Лабораторная работа №1 «Проектирование многотабличных баз данных в среде субдAccess»
- •1. Цель работы
- •2. Основные положения
- •Структура таблицы Студенты
- •Специальности
- •Студенты
- •3. Интерфейс субд access
- •4.Создание базы данных и заполнение таблиц
- •5.Определение связей между таблицами
- •6. Обеспечение целостности данных
- •7.Использование каскадных операций
- •8. Ввод данных в таблицы
- •9. Импорт или связывание данных
- •10. Экспорт данных в другую базу данных или в файл другого формата
- •11.Варианты задания
- •12.Порядок выполнения лабораторной работы
- •13. Вопросы для самоподготовки
- •Лабораторная работа №2 «Использование форм для заполнения баз данных в субд ms access»
- •Цель работы
- •Общие сведения
- •Использование форм для ввода данных
- •Создание формы
- •Размещение элементов управления на форме
- •Редактирование формы
- •Порядок выполнения лабораторной работы
- •Вопросы для самоподготовки
- •Лабораторная работа №3 «использование запросов в субдmsaccess»
- •Цель работы
- •Общие сведения о запросах
- •Многотабличные запросы
- •Результат запроса «Специальности -Группы»
- •Результат запроса «Группы –Студенты»
- •Использование условия отбора в запросах для выбора определенных записей
- •Перекрестные запросы и их использование
- •Запросы с параметрами с приглашением на ввод условий отбора
- •Создание итоговых запросов
- •Изменение данных с помощью модифицирующих запросов
- •Порядок выполнения лабораторной работы
- •Вопросы для самоподготовки
- •Создание отчета с помощью автоотчета
- •Создание отчета с помощью мастера
- •Создание отчета по нескольким таблицам
- •Разделы отчета
- •Создание почтовых и других наклеек
- •Сортировка записей в отчете
- •Группировка записей в отчете
- •Создание вычисляемого элемента управления
- •Нумерация записей в области данных отчета
- •Подсчет количества записей во всем отчете
- •Порядок выполнения лабораторной работы
- •Вопросы для самоподготовки
- •Лабораторная работа №5. «Построение диаграмм в субд ms Access»
- •Цель работы
- •Основные теоретические положения
- •Создание диаграммы
- •Редактирование диаграммы
- •Порядок выполнения лабораторной работы
- •Вопросы для самоподготовки
- •Лабораторная работа № 6 «Процедуры в субдmsAccess»
- •Цель работы
- •Общие положения
- •Проверка условий на значения данных в программах
- •Создание процедуры обработки события
- •Задание к лабораторной работе
- •Литература
6. Обеспечение целостности данных
Целостность данных является одним из самых важных требований, предъявляемым к базе данных. Для задания условий целостности служат установленные между таблицами отношения. Что же представляет собой условие целостности данных?
Условиями целостности данных называют набор правил, используемых в MS Access для поддержания связей между записями в связанных таблицах. Эти правила делают невозможным случайное удаление или изменение связанных данных. Например, если связаны таблицы Специальности и Группы, то нельзя удалить запись специальности, для которой имеются записи в таблице Группа при условии задания обеспечения целостности данных. Обеспечение целостности данных выполняется при следующих условиях:
Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс. Например, КодСп в таблице Специальности.
Связанные поля имеют одинаковый тип данных. Исключением является связь полей типа Счетчик и Числовой, например, поле КодСп в таблице Специальности и поле КодСп в таблице Группы.
Обе таблицы принадлежат одной базе данных.
При определении условий целостности данных действуют следующие ограничения:
Невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы. Например, в таблицу Группы нельзя ввести данные о группе для новой специальности, если предварительно не внесены данные об этой специальности в таблицу Специальности.
Не допускаются удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице. Например, как было отмечено выше, в таблице Специальности нельзя удалить запись специальности, для которой имеются записи в таблице Группы.
Не допускаются изменения значения ключевого поля в главной таблице, если существуют связанные с ней записи в подчиненной таблице. Например, невозможно удалить код в таблице Специальности, для которой имеются записи в таблице Группы.
Целостность данных в связанных таблицах обеспечивается при создании связей между таблицами (см. предыдущий раздел данных методических указаний).
В окне диалога Схема данных после выполнения указанных действий на линии связи будет задана ссылка на тип отношения Один ко многим (около главной таблицы стоит символ 1, а рядом с подчиненной таблицей символ - бесконечность).
Теперь любая попытка выполнить действие, нарушающее перечисленные выше ограничения, приведет к открытию окна диалога с предупреждением, а само действие выполнено не будет. Например, попытайтесь удалить запись из таблицы Специальности, для которой имеются записи в таблице Группы, и вы убедитесь, что это невозможно.
7.Использование каскадных операций
Для того, чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует включить режимы каскадного удаления и каскадного обновления.
Давайте еще раз обратимся к окну диалога Связи. При установке опции Обеспечение целостности данных вам стали доступны опции Каскадное обновление связанных полей и Каскадное удаление связанных полей. При выборе этих опций MS Access выполняет изменения в связанных таблицах таким образом, чтобы сохранить целостность данных, даже если вы изменяете значение ключевых полей или удаляете запись в главной таблице.
Каскадные удаления. При попытке удалить запись в главной таблице, связанной по типу «один-ко-многим» с подчиненной таблицей при не установленной опции Каскадное удаление связанных полей, будет выдано сообщение об ошибке (например, в случае удаления записи специальности, для которой в таблице Группы есть одна или более записей групп). Однако, если выбрана опция Каскадное удаление связанных полей, вы можете удалить запись из главной таблицы. Связанные с нею записи в подчиненных таблицах также будут автоматически удалены. Таким образом, будут соблюдены правила целостности данных. Другим словами, если выбрана опция Каскадное удаление связанных полей, то все связанные поля из подчиненной таблицы удаляются, как только удаляется запись из главной таблицы. Режим Каскадное удаление связанных полей удобно использовать для чистки базы данных. Например, если из базы данных Контингент необходимо удалить записи студентов, окончивших институт, то при включенной опции Каскадное удаление связанных полей достаточно удалить записи соответствующих групп из главной таблицы.
Каскадные изменения. Все, что было сказано выше по поводу режима Каскадное удаления связанных полей, относится в полной мере и к режиму Каскадное обновления связанных полей. Отличие заключается лишь в том, что в режиме Каскадного обновления связанных полей при внесении изменений в связанное поле главной таблицы автоматически вносятся изменения в соответствующие поля связанной таблицы.