Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_po_BD.doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
1.37 Mб
Скачать

14. Обеспечение целостности бд.

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

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

Выделяют три класса ограничений целостности:

- целостность поля (домена);

- целостность таблицы;

- ссылочная целостность (ведущая - подчиненные таблицы) ;

Целостность поля (домена)Для полей чаще всего используют следующие виды ограничений:

1. Тип и формат поля в таблице.

2. Задание диапазона значений - обычно используется для числовых полей. Различают открытые и закрытые диапазоны. В открытых фиксируют значение только одной из границ, во вторых - обе границы (кино можно смотреть детям только после 16 лет; на работу в милицию от 18 до 35 лет).

3. Признак непустого поля - указывает на недопустимость пустого значения поля, например, поля "фамилия", "должность" должны быть заполнены обязательно..

4. Задание домена - поле может принимать значение из заданного множества значений (ассистент, старший преподаватель, доцент, профессор).

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

Целостность таблицы

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

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

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

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

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

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

Кроме ограничения целостности базы данных существует понятие информационной целостности ИС. Оно состоит в обеспечении правильности взаимосвязи всех его информационных компонентов (файлов баз данных, программных файлов, экранов ввод/вывода, отчетов). Например, удалили поле из базы данных или изменили тип данных, но не внести изменения в отчет или программу ввода, то это приведет к ошибке.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]