Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену по БД (ВФ) / !Все ответы по БД v0.2.13.docx
Скачиваний:
189
Добавлен:
10.05.2014
Размер:
3.32 Mб
Скачать

7. Ограничение целостности модели данных. Трехуровневая архитектура ansi/sparc.

Целостность базы данных означает корректность и непротиворечивость хранимых в ней данных. Ограничения целостности - логические ограничения, накладываемые на данные. Если значения данных отвечают существующим знаниям об объекте, соответствующие ограничениям логические выражения принимают значение «истина». Ограничения бывают внутренние (неявные) и явные. Неявные – принадлежность атрибута домену. Явные – задаются разработчиком.

Пример неявного ограничения: тот факт, что запись типа СОТРУДНИК имеет поле Дата рождения, служит, по существу, ограничением целостности, означающим, что каждый сотрудник организации имеет дату рождения, причём только одну. Явные ограничения включаются в структуру базы данных с помощью средств языка контроля данных (DCL, Data Control Language). Например, номер паспорта является уникальным, заработная плата не может быть отрицательной, а дата приёма сотрудника на работу обязательно будет меньше, чем дата его перевода на другую работу.

Трёхуровневая архитектура ANSI/SPARC. Первая попытка создания стандартной терминологии и общей архитектуры СУБД была предпринята в 1971 году группой DBTG. Она была создана после конференции CODASYL (Conference on Data Systems and Languages — Конференция по языкам и системам данных), прошедшей в этом же году. Группа DBTG признала необходимость использования двухуровневого подхода, построенного на основе использования системного представления, т.е. схемы (schema), и пользовательских представлений, т.е. подсхем (subschema). Сходные терминология и архитектура были предложены в 1975 году Комитетом планирования стандартов и норм SPARC (Standards Planning and Requirements Committee) Национального института стандартизации США (American National Standard Institute — ANSI), ANSI/X3/SPARC. Комитет ANSI/SPARC признал необходимость использования трехуровневого подхода к созданию системного каталога.

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

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

Концептуальный уровень - обобщающее представление базы данных. Этот уровень описывает то, какие данные хранятся в базе данных, а также связи, существующие между ними. На концептуальном уровне представлены следующие компоненты:

• все сущности, их атрибуты и связи;

• накладываемые на данные ограничения;

• семантическая информация о данных;

• информация о мерах обеспечения безопасности и поддержки целостности данных.

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

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

• распределение дискового пространства для хранения данных и индексов;

• описание подробностей сохранения записей (с указанием реальных размеров сохраняемых элементов данных);

• сведения о размещении записей;

• сведения о сжатии данных и выбранных методах их шифрования.

Ниже внутреннего уровня находится физический уровень (physical level), который контролируется операционной системой, но под управлением СУБД. Однако функции СУБД и операционной системы на физическом уровне не вполне четко разделены и могут варьироваться от системы к системе.