Целостность данных и методы доступа 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Целостность данных и методы доступа



 

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

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

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

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

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

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

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

* при удалении записи в родительской таблице следует удалить соответствующие записи в дочерней таблицы.

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

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

Существует и другой вид целостности - смысловая (семантическая) целостность БД. Требование смысловой целостности определяет, что данные в БД должны изменяться таким образом, чтобы не нарушалась сложившаяся между ними

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

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

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

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

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

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

При последовательном методе доступа для выполнения запроса к таблице БД просматриваются все записи таблицы от первой до последней. Неэффективность этого метода выражается прежде всего в потере быстродействия и трате

вычислительных ресурсов. Время выполнения запроса прямо пропорционально числу записей в таблице.

При индексно-последовательном методе доступа для выполнения запроса к таблице БД указатель в индексе устанавливается на первую строку, удовлетворяющую условиям запроса (или его части), и считывается запись из таблицы,

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

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

Метод назван индексно-последовательным, потому что:

* поиск ведется по индексу, а не по самой таблице;

* поиск в индексе начинается только с первой строки, удовлетворяющей условиям запроса или его части (так называемый прямой доступ);

* строки в индексе, начиная с такой записи, просматриваются все-таки последовательно.

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

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

построенные по определенным первичным и внешним ключам недостаточны для:

* обеспечения нужного порядка сортировки данных;

* оптимизации доступа к базе данных.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 355; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.224.90.25 (0.025 с.)