Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




Бывают ли такие ситуации, когда не следует требовать целостности на уровне ссылок?

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

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

Рассмотрим очень успешную компанию, торгующую выпечкой на шести площадках. Когда клиент делает заказ на площадке в центре города, вы добавляете запись в таблицу Orders и заполняете поле CustomerlD (код клиента) (которое ссылается на полную запись в таблице Customers). Вот тут-то и возникает проблема. Полной записи о клиен­те может не быть в вашей копии БД — вместо этого она может храниться в одной из БД на другой площадке или в главном управлении компании. Несмотря на то, что связь в таблице Orders правильная, программа Access считает, что вы допустили ошибку, по­скольку она не может найти соответствующую запись о клиенте.

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

 

 

Каскадное удаление

 

Правила целостности решительно останавливают вас при попытке удалить родительскую запись (такую как сведения об изготовителе), на которую ссылаются дочерние записи. Но есть и другой вариант — гораздо более радикальный. Вы можете выбрать удаление всех свя­занных дочерних записей при удалении записи-родителя. Например, это позволит вам уда­лить изготовителя и ликвидировать всех кукол, произведенных им.

 

Предупреждение

Каскадные удаления рискованны. Слишком легко удалить больше записей, чем было намече­но, а если это сделать — пути назад нет. Еще хуже то, что команда Отменить (Undo) не смо­жет вам помочь отменить это изменение. Поэтому действуйте с осторожностью.

 

Для включения этого варианта при создании связи вы должны установить флажок каскадное удаление связанных записей (Cascade Delete Related Records) (см. рис. 5.4). Обно­вить связь можно и позже, установив данный флажок.


После установки этого флажка режим можно опробовать, удалив изготовителя, как по­казано на рис. 5.6.

 

 
 

Рис. 5.6. В данном примере отношение Dolls—Manufacturers использует установленный флажок каскадное удаление связанных записей. Когда удаляется изготовитель, программа Access предупреждает о том, что в действительности вы удалите девять записей

 

 

Для тех, кто понимает.





Поделиться с друзьями:


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 495 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

2493 - | 2164 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.