Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по ИТ_3базы_данных.doc
Скачиваний:
1
Добавлен:
14.09.2019
Размер:
261.63 Кб
Скачать

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

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

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

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

Формулировка второго требования тесно связана с понятием внешнего ключа. Напомним, что внешние ключи служат для связи отношений (таблиц БД) между собой. При этом атрибут одной таблицы, назовем ее родительской, служащий для связи ее с другой таблицей — дочерней, в которой он является первичным ключом — называется внешним ключом данного отношения (таблицы). Говорят, что отношение, в котором определен внешний ключ, ссылается на отношение, в котором этот же атрибут является первичным ключом.

Требование целостности по ссылкам состоит в том, что для каждого значения внешнего ключа родительской таблицы должна найтись строка в дочерней таблице с таким же значением первичного ключа. Например, если в отношении R1 (рис. 24) содержатся

R1 Родительская таблица R1

ФИО

Должн

Каф

Стаж

Иванов И.М.

преп

25

5

Петров М.И.

ст.преп

25

7

Сидоров Н.Г.

преп

25

10

Егоров В.В.

преп

24

5

К люч Внешний ключ

R2 Дочерняя таблица

Должн

Оклад

преп

500

ст.преп

800

К люч

Рис. 24. Связь отношений с помощью внешнего ключа

сведения о сотрудниках кафедры, а атрибут этого отношения Должн является первичным ключом отношения R2, то в этом отношении для каждой должности из R1 должна быть строка с соответствующим ей окладом.

2.6. Языки запросов qbe и sql

Хранимые в базе данные можно обрабатывать (просматривать и редактировать) «вручную» — с помощью имеющихся в каждой СУБД средств просмотра и редактирования данных в таблицах. Для повышения эффективности множественной обработки данных (редактирования и выбора данных из таблиц) создаются и выполняются запросы.

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

Для подготовки запросов с помощью различных СУБД, как правило, используются два основных языка описания запросов:

• язык QBE (Query By Example) — язык запросов по образцу;

SQL (Structured Query Language) — структурированный язык запросов.

По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны. Главное отличие между ними, по-видимому, заключается в спо­собе формирования запросов: язык QBE предполагает ручное или визуальное формирова­ние запроса, в то время как использование SQL означает программирование запроса.