Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВОПРОСЫ_И_ОТВЕТЫ_БД.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

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

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

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

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

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

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

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

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

* - первичный ключ

 - описательный атрибут

() – производный атрибут

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Критерии целостности:

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

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

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