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

1.3.3.Целостность данных и метаданные

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

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

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

Более точно, система должна руководствоваться следующими правилами, определяющими связь между двумя файлами.

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

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

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

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

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

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

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

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