Elettracompany.com

Компьютерный справочник
37 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Целостность данных в access

Разработка БД в приложении СУБД Access. Понятие целостности БД, целостность данных и ссылочная целостность;

Разработка БД в приложении СУБД Access. Понятие БД и СУБД. Ключи таблиц, ограничения целостности данных.

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

СУБД Access – это комплекс программ, для создания реляционных баз данных. В основе реляционных баз данных лежит понятие отношения (relation) — двумерной таблицы особого вида, предназначенной для любого представление данных. Набор таблиц (или отношений) может быть использован для моделирования взаимосвязей между объектами реального мира и для хранения данных об этих объектах.

Состояние свойства реального объекта реального мира в виде данного называется атрибутом объекта, то есть иначе атрибут — количественная или качественная характеристика объекта.

Существует 3 типа атрибутов: ключевые, описательные, производные.

Ключевые атрибуты предназначены для однозначной идентификации объекта.

Описательные атрибуты – описательные характеристики объекта. Например, ФИО, адрес и т.д.

Производный атрибут– атрибут, который определяется на основе других атрибутов.

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

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

Таблица, содержащая внешний ключ называется связанной или связываемой таблицей.

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

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

— типы данных полей внешнего и первичного ключей совпадают;

— размеры полей внешнего и первичного ключей совпадают.

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

Внешний ключ, также как и первичный ключ, определяется с помощью свойства ‘Индексированное поле’, только в этом случае его значение примет вид – “Да (совпадения допускаются)”.

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

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

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

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

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

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

· обе таблицы сохраняются в одной базе данных Access;

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

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

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

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

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

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

¡ при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения должны автоматически удаляться все ссылающиеся кортежи (это называетсякаскадным удалением).

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

¡ Каждой записи основной (главной, родительской) таблицы соответствует нуль или более записей дополнительной (подчинённой, дочерней) таблицы.

¡ В дополнительной таблице нет записей, которые не имеют родительских записей в основной таблице.

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

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

СУБД Access – это комплекс программ, для создания реляционных баз данных. В основе реляционных баз данных лежит понятие отношения (relation) — двумерной таблицы особого вида, предназначенной для любого представление данных. Набор таблиц (или отношений) может быть использован для моделирования взаимосвязей между объектами реального мира и для хранения данных об этих объектах.

Одна из непосредственных задач СУБД (здесь и далее речь идет о реляционных СУБД, поэтому слово «реляционный» опускается) — осуществлять контроль целостности данных. Под целостностью данных подразумевается логическая непротиворечивость данных. Различают три понятия целостности:

— Целостность в отношении конкретной базы.

Такие данные, как возраст, рост, вес не могут быть отрицательными. IP-адрес имеет строго заданный формат — это четыре числа в диапазоне от 0 до 255, разделенных точкой, плюс дополнительные ограничения на использование 0, 255 и спецадресов. Большинство СУБД не предоставляют механизмов, в полной мере позволяющих контролировать данный тип целостности.

— Целостность сущностей.

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

Читать еще:  Как распечатать презентацию powerpoint на а4

— Ссылочная целостность.

Одной записи в таблице гостевых книг может соответствовать несколько записей в таблице сообщений. Таблицы могут находиться во взаимосвязях один к одному, один ко многим и многие ко многим. Связи между таблицами осуществляются на основании внешних ключей. В таблице сообщений не может быть сообщения, принадлежащего к несуществующей гостевой книге, иначе говоря, любой записи в таблице сообщений должна найтись запись в таблице гостевых книг. СУБД должна предоставлять механизмы для контроля операций и соблюдения ссылочной целостности при выполнении операций INSERT, UPDATE и DELETE. К сожалению, не все СУБД имеют такие механизмы.

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

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

Целостность данных означает:

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

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

Работа с СУБД MS Access

Создание межтабличных связей

Целостность данных — это набор правил, гарантирующих, что Access будет работать только с непротиворечивыми данными и разрешёнными операциями.

Активизировать команду Сервис Схема данных в диалоговом окне Схема данных:

  1. Щёлкнуть по кнопке Добавить таблицу.
  2. В диалоговом окне из списков выбрать таблицы, между которыми создаются связи. Закрыть окно Добавление таблицы. Искомые таблицы появятся в окне Схема данных.
  3. Выделить в 1-й таблице ключевое поле и с помощью мыши перетащить его на одноименное поле 2-й таблицы. При отпускании кнопки мыши откроется диалоговое окно Связи.
  4. Установить флаг Обеспечение целостности данных.
  5. Щёлкнуть по кнопке Создать. Появится связь 1:1.

Предположим, что требуется установить связь между таблицами «Кафедра» и «Преподаватель» через поле ККАФ (код кафедры). В таблице «Кафедра» это поле является уникальным ключом , а в таблице «Преподаватель» — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку «Схема данных» поверх окна схемы данных появится окно «Добавление таблицы«. В этом окне следует выделить требуемые таблицы и нажать «Добавить«( рис. 6.5)

В результате в окно схемы данных будут добавлены графические образы двух таблиц:

Необходимо перетащить мышью поле ККАФ таблица «Кафедра» на поле ККАФ таблицы «Преподаватель«. В открывшемся окне «Изменение связей» следует установить флажок «Обеспечение целостности данных«. В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы «Преподаватель» будет введено значение, отсутствующее в поле ККАФ базовой таблицы «Кафедра» ( рис. 6.6).

Обратите внимание, что Access автоматически определил тип связи как «один-ко-многим» ( рис. 6.7).

Можно также установить флажки «каскадное обновление связей» и «каскадное удаление связей«. В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах , если будут изменены записи в базовой таблице.

После нажатия на кнопку «Создать«, образы таблиц будут соединены связями как показано на рисунке. Ключевые в базовых таблицах выделяются жирным шрифтом ( рис. 6.8).

Для установления связей по составному ключу необходимо в окне «Изменение связей» в полях «Таблица/Запрос» и «Связанная таблица/запрос» вручную выбрать из списков пары связываемых полей. На рис. 6.9 показан пример связи по составному ключу .

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

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

Связь между таблицами позволяет:

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

Установить флаг Обеспечение целостности данных.

Установить дополнительно флаги Каскадное обновление связанных полей и Каскадное удаление связанных записей.

Работа с запросами

Запрос — это отбор записей в разнообразных формах, в соответствии с выбранными условиями.

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

Виды запросов

  • На выборку;
  • Запрос с параметром (критерий задаёт сам пользователь)
  • Итоговые запросы (производят вычисления по заданному полю и выдают результат);
  • Запросы на изменение (позволяют автоматизировать — заполнение полей таблиц);
  • Перекрёстные запросы (позволяют создавать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц)
  • Специфические запросы — запросы к серверу БД, написанные на языке запросов SQL

Для подготовки используем закладку Создание и выбираем способ создания запроса.

Запросы и фильтры

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

Основные отличия запросов и фильтров заключаются в следующем.

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

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

  • для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;
  • для того чтобы объединить в виде одной таблицы на экране данные из нескольких таблиц;
  • для просмотра отдельных полей таблицы;
  • для выполнения вычислений над значениями полей.

Работа с формами

  • Вводить данные в таблицы БД без непосредственного доступа к самим таблицам;
  • Выводить результаты работы запросов в виде красиво оформленных форм.

Существует два вида формирования структуры форм:

  • На основе таблицы;
  • На основе запроса.
  • Возможен и комбинированный (творческий) подход.

Работа с отчётами

Отчёты служат для форматированного вывода данных на печатающее устройство .

Здесь существуют средства ручного, автоматического и автоматизированного проектирования.

Читать еще:  База данных договоров access скачать

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

Мастер отчётов работает в шесть этапов.

  1. выбор таблицы или запросов, на которых отчёт базируется; выбор полей, отражаемых в отчёте;
  2. выбор полей группировки (уровней и интервалов группировки);

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

Краткие итоги

Рассмотрены основные объекты базы данных Microsoft Access. Основными считаются таблицы, формы, запросы и отчеты. Таблицы предназначены для хранения и редактирования данных. Формы для ввода данных, отображения их на экране или управления работой приложения. Запрос позволяет пользователю получить нужные данные из одной или нескольких таблиц. Отчет предназначен для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.

В лекции рассмотрены основные этапы работы с этими объектами.

Работа с СУБД MS Access

Создание межтабличных связей

Целостность данных — это набор правил, гарантирующих, что Access будет работать только с непротиворечивыми данными и разрешёнными операциями.

Активизировать команду Сервис Схема данных в диалоговом окне Схема данных:

  1. Щёлкнуть по кнопке Добавить таблицу.
  2. В диалоговом окне из списков выбрать таблицы, между которыми создаются связи. Закрыть окно Добавление таблицы. Искомые таблицы появятся в окне Схема данных.
  3. Выделить в 1-й таблице ключевое поле и с помощью мыши перетащить его на одноименное поле 2-й таблицы. При отпускании кнопки мыши откроется диалоговое окно Связи.
  4. Установить флаг Обеспечение целостности данных.
  5. Щёлкнуть по кнопке Создать. Появится связь 1:1.

Предположим, что требуется установить связь между таблицами «Кафедра» и «Преподаватель» через поле ККАФ (код кафедры). В таблице «Кафедра» это поле является уникальным ключом , а в таблице «Преподаватель» — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку «Схема данных» поверх окна схемы данных появится окно «Добавление таблицы«. В этом окне следует выделить требуемые таблицы и нажать «Добавить«( рис. 6.5)

В результате в окно схемы данных будут добавлены графические образы двух таблиц:

Необходимо перетащить мышью поле ККАФ таблица «Кафедра» на поле ККАФ таблицы «Преподаватель«. В открывшемся окне «Изменение связей» следует установить флажок «Обеспечение целостности данных«. В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы «Преподаватель» будет введено значение, отсутствующее в поле ККАФ базовой таблицы «Кафедра» ( рис. 6.6).

Обратите внимание, что Access автоматически определил тип связи как «один-ко-многим» ( рис. 6.7).

Можно также установить флажки «каскадное обновление связей» и «каскадное удаление связей«. В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах , если будут изменены записи в базовой таблице.

После нажатия на кнопку «Создать«, образы таблиц будут соединены связями как показано на рисунке. Ключевые в базовых таблицах выделяются жирным шрифтом ( рис. 6.8).

Для установления связей по составному ключу необходимо в окне «Изменение связей» в полях «Таблица/Запрос» и «Связанная таблица/запрос» вручную выбрать из списков пары связываемых полей. На рис. 6.9 показан пример связи по составному ключу .

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

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

Связь между таблицами позволяет:

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

Установить флаг Обеспечение целостности данных.

Установить дополнительно флаги Каскадное обновление связанных полей и Каскадное удаление связанных записей.

Работа с запросами

Запрос — это отбор записей в разнообразных формах, в соответствии с выбранными условиями.

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

Виды запросов

  • На выборку;
  • Запрос с параметром (критерий задаёт сам пользователь)
  • Итоговые запросы (производят вычисления по заданному полю и выдают результат);
  • Запросы на изменение (позволяют автоматизировать — заполнение полей таблиц);
  • Перекрёстные запросы (позволяют создавать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц)
  • Специфические запросы — запросы к серверу БД, написанные на языке запросов SQL

Для подготовки используем закладку Создание и выбираем способ создания запроса.

Запросы и фильтры

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

Основные отличия запросов и фильтров заключаются в следующем.

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

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

  • для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;
  • для того чтобы объединить в виде одной таблицы на экране данные из нескольких таблиц;
  • для просмотра отдельных полей таблицы;
  • для выполнения вычислений над значениями полей.

Работа с формами

  • Вводить данные в таблицы БД без непосредственного доступа к самим таблицам;
  • Выводить результаты работы запросов в виде красиво оформленных форм.

Существует два вида формирования структуры форм:

  • На основе таблицы;
  • На основе запроса.
  • Возможен и комбинированный (творческий) подход.

Работа с отчётами

Отчёты служат для форматированного вывода данных на печатающее устройство .

Здесь существуют средства ручного, автоматического и автоматизированного проектирования.

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

Читать еще:  Powerpoint онлайн сделать презентацию

Мастер отчётов работает в шесть этапов.

  1. выбор таблицы или запросов, на которых отчёт базируется; выбор полей, отражаемых в отчёте;
  2. выбор полей группировки (уровней и интервалов группировки);

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

Краткие итоги

Рассмотрены основные объекты базы данных Microsoft Access. Основными считаются таблицы, формы, запросы и отчеты. Таблицы предназначены для хранения и редактирования данных. Формы для ввода данных, отображения их на экране или управления работой приложения. Запрос позволяет пользователю получить нужные данные из одной или нескольких таблиц. Отчет предназначен для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.

В лекции рассмотрены основные этапы работы с этими объектами.

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

Схема данных в Access

Лекция 12 (Базы данных)

Темы: схема данных в Access, модификация структуры базы данных.

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

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

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

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

• связываемые записи в обеих таблицах совпадают (связи устанавливаются по умолчанию);

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

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

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

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

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

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

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

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

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

• обе таблицы сохраняются в одной базе данных Access;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты 220 Вольт