Цель трехуровневой архитектуры заключается в отделении пользовательского представления базы данных от ее физического представления. Такое разделение базы данных на уровни объясняется следующими причинами:
– каждый пользователь должен иметь возможность обращаться к одним и тем же данным, реализуя свое собственное представление о них;
– каждый пользователь должен иметь возможность изменять свое представление о данных, причем это изменение не должно оказывать влияния на других пользователей;
– пользователи не должны непосредственно иметь дело с какими-либо подробностями физического хранения данных в базе, т. е. взаимодействие пользователя с базой не должно зависеть от особенностей хранения в ней данных;
– администратор базы данных должен иметь возможность изменять структуру хранения данных в базе, не оказывая влияния на пользовательские представления;
– внутренняя структура базы данных не должна зависеть от таких изменений физических аспектов хранения информации, как переключение на новое устройство хранения;
– администратор базы данных должен иметь возможность изменять концептуальную структуру базы данных без какого-либо влияния на всех пользователей.
Внешний уровень – это представление базы данных с точки зрения пользователей. Он описывает ту часть базы данных, которая относится к каждому пользователю. Внешний уровень состоит из нескольких различных внешних представлений базы данных. Каждый пользователь имеет дело с представлением «реального мира», выраженным в наиболее удобной для него форме. Внешнее представление содержит только те сущности, атрибуты и связи «реального мира», которые интересны пользователю. Другие сущности, атрибуты или связи, которые ему неинтересны, также могут быть представлены в базе данных, но пользователь может даже не подозревать об их существовании.
Рис. 1.2. Трехуровневая архитектура ANSI-SPARC.
Помимо этого, различные представления могут по-разному отображать одни и те же данные. Например, один пользователь может просматривать даты в формате (день, месяц, год), а другой – в