Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
гос.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
675 Кб
Скачать
☆

44. Распределенные бд. Понятие о трехуровневой архитектуре бд.

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

Трёхуровневая архитектура БД

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

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

Внутренний уровень – физическое преставление базы данных в компьютере. Этот уровень описывает, как информация хранится в базе данных.

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

  1. Каждый пользователь должен иметь возможность обращаться к одним и тем же данным, реализуя свое собственное представление о них. Каждый пользователь должен иметь возможность изменять свое представление о данных, причем это изменение не должно оказывать влияния на других пользователей.

  2. Пользователи не должны непосредственно иметь дело с такими подробностями физического хранения данных в базе, как индексирование и хеширование. Иначе говоря, взаимодействие пользователя с базой не должно зависеть от особенностей хранения в ней данных.

  3. Администратор базы данных (АБД) должен иметь возможность изменять структуру хранения данных в базе, не оказывая влияния на пользовательские представления. Внутренняя структура базы данных не должна зависеть от таких изменений физических аспектов хранения информации, как переключение на новое устройство хранения.

  4. АБД должен иметь возможность изменять концептуальную структуру базы данных без какого-либо влияния на всех пользователей.

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

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

Пример нарушения целостности может выглядеть следующим образом. База данных оптового магазина содержит таблицу customer со списком клиентов и таблицу ordsale, в которой размещены данные о клиентах и сделанных ими заказах. Если окажется, что в таблице ordsale содержатся коды клиентов, которые отсутствуют в таблице Customer, то невозможно определить, кому был отпущен товар по этому заказу.

Ограничения целостности можно классифицировать несколькими способами:

Классификация ограничений целостности по способам реализации

  1. Декларативная поддержка ограничений целостности заключается в определении ограничений средствами языка определения данных. Обычно средства декларативной поддержки целостности (если они имеются в СУБД) определяют ограничения на значения доменов и атрибутов, целостность сущностей (потенциальные ключи отношений) и ссылочную целостность (целостность внешних ключей). Примеры: объявления NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, REFERENCES (Указывает на столбец в родительской таблице, ограничивающий значения в текущей (дочерней) таблице).

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

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

Классификация ограничений целостности по времени проверки

  1. Немедленно проверяемые ограничения.

  2. Ограничения с отложенной проверкой - проверяется в момент фиксации транзакции оператором COMMIT WORK. Внутри транзакции ограничение может не выполняться.

Классификация ограничений целостности по области действия

  1. Ограничения домена - представляют собой ограничения, накладываемые только на допустимые значения домена. Фактически, ограничения домена обязаны являться частью определения домена;

  2. Ограничения атрибута - ограничения, накладываемые на допустимые значения атрибута вследствие того, что атрибут основан на каком-либо домене;

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

  4. Ограничения отношения - ограничения, накладываемые только на допустимые значения отдельного отношения, и не являющиеся ограничением целостности кортежа.

  5. Ограничения базы данных - ограничения, накладываемые на значения двух или более связанных между собой отношений.