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

1.4.2. Целостность данных

Теперь система должна «знать», что она работает с двумя информационно связанными файлами (это шаг в сторону схемы базы данных), должна иметь информацию о структуре и смысле каждого поля. Например, системе должно быть известно, что у полей СЛУ_ОТД_НОМЕРв файлеСЛУЖАЩИЕиОТД_НОМЕРв файлеОТДЕЛЫодин и тот же смысл – номер отдела.

Кроме того, система должна учитывать, что в ряде случаев изменение данных в одном файле должно автоматически вызывать модификацию второго файла, чтобы общее содержимое файлов было согласованным. Например, если на работу принимается новый служащий, то нужно добавить запись в файл СЛУЖАЩИЕ, а также должным образом изменить поляОТД_СЛУ_ЗАРПиОТД_РАЗМЕРв записи файлаОТДЕЛЫ, соответствующей отделу этого служащего. Более точно, система должна руководствоваться следующими правилами:

  1. если в файле СЛУЖАЩИЕсодержится запись со значением поляСЛУ_ОТД_НОМЕР, равнымn, то и в файлеОТДЕЛЫдолжна содержаться запись со значением поляОТД_НОМЕР, также равнымn;

  2. если в файле ОТДЕЛЫсодержится запись со значением поляОТД_РУК, равнымm, то и в файлеСЛУЖАЩИЕдолжна содержаться запись со значением поляСЛУ_НОМЕР, также равнымm; в следующих лекциях мы увидим, что правила (1) и (2) являются частными случаями общего правила ссылочной целостности: полеСЛУ_ОТД_НОМЕРсодержит «ссылки» на записи таблицыОТДЕЛЫ, и полеОТД_РУКсодержит «ссылки» на записи таблицыСЛУЖАЩИЕ;

  3. при любом корректном состоянии информационной системы значение поля ОТД_СЛУ_ЗАРПлюбой записиотд_kфайлаОТДЕЛЫдолжно быть равно сумме значений поляСЛУ_ЗАРПвсех тех записей файлаСЛУЖАЩИЕ, в которых значение поляСЛУ_ОТД_НОМЕРсовпадает со значением поляОТД_НОМЕРзаписиотд_k;

  4. при любом корректном состоянии информационной системы значение поля ОТД_РАЗМЕРлюбой записиотд_kфайлаОТДЕЛЫдолжно быть равно числу всех тех записей файлаСЛУЖАЩИЕ, в которых значение поляСЛУ_ОТД_НОМЕРсовпадает со значением поляОТД_НОМЕРзаписиотд_k; в следующих лекциях мы увидим, что правила (3) и (4) представляют собой примеры общих ограничений целостности базы данных.

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

Уже только требование поддержания согласованности данных в нескольких файлах не позволяет при построении информационной системы обойтись библиотекой функций: такая система должна обладать некоторыми собственными данными (их принято называть метаданными), определяющими целостность данных. В нашем примере информационная система должна отдельно сохранять метаданные о структуре файлов СЛУЖАЩИЕиОТДЕЛЫ, а также правила, определяющие условия целостности данных в этих файлах (принято считать, что правила также составляют часть метаданных).