Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций СБД.doc
Скачиваний:
23
Добавлен:
13.11.2019
Размер:
1.94 Mб
Скачать
      1. Поддержка языков баз данных

Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка – язык определения схемы базы данных (SDL – Schema Definition Language) и язык манипулирования данными (DML – Data Manipulation Language). SDL служил, главным образом, для определения логической структуры базы данных, т.е. той структуры базы данных, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в базу, удалять, модифицировать или выбирать существующие данные. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с базами данных, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).

Язык SQL сочетает средства SDL и DML, т.е. позволяет определять схему реляционной базы данных и манипулировать данными. Язык SQL содержит специальные средства определения ограничений целостности базы данных. Специальные операторы языка SQL позволяют определять так называемые представления баз данных, которые фактически являются хранимыми в базах данных запросами (результатом любого запроса к реляционной базе данных является таблица с именованными столбцами). Для пользователя представление является такой же таблицей, как любая базовая таблица, хранимая в базе данных, но с помощью представлений можно ограничить или, наоборот, расширить видимость базы данных для конкретного пользователя. Поддержание представлений производится также на языковом уровне. Наконец, авторизация доступа к объектам базы данных производится также на основе специального набора операторов SQL. Идея состоит в том, что для выполнения операторов SQL разного вида пользователь должен обладать различными полномочиями. Пользователь, создавший таблицу базы данных, обладает полным набором полномочий для работы с этой таблицей. В число этих полномочий входит полномочие на передачу всех или части полномочий другим пользователям, включая полномочие на передачу полномочий. Полномочия пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне.

    1. Трехуровневая модель архитектуры систем баз данных

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

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

П роектирование базы данных выполняет обычно один или несколько специалистов – администраторы базы данных. Ими могут быть как специально выделенные сотрудники организации, так и будущие пользователи базы данных, достаточно хорошо знакомые с компьютерной обработкой данных.

Объединяя частные внешние представления о содержимом базы данных, полученные в результате изучения потребностей пользователей, и свои представления о данных, которые могут потребоваться в будущих приложениях, администратор базы данных сначала конструирует обобщенное неформальное описание создаваемой базы данных. Это описание, выполненное с использованием естественного языка, математических формул, таблиц, графиков и других средств, понятных всем людям, работающим над проектированием базы данных, называют информационно-логической или инфологической (infological) моделью данных. Такая модель является основой концептуального уровня архитектуры базы данных. Концептуальный уровень – это полное инфологическое представление базы данных. Одна и та же концептуальная схема должна служить основой для множества внешних схем. Она полностью независима от физических параметров среды хранения данных. Этой средой может быть память человека, а не компьютера. Поэтому инфологическая модель не должна изменяться до тех пор, пока какие-то изменения в реальном мире, которые отражаются во внешнем уровне модели, не потребуют ее изменения для того, чтобы эта модель продолжала отражать предметную область.

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

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

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