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

1. Основы построения баз данных

1.1. Архитектура системы баз данных

Под базой данных (БД) понимается "организованная в соответствии с определенными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей" [15].

Для описания базы данных инициативной группой ANSI/SPARC (Американский национальный институт стандартов / Комитет по требованиям и планированию стандартов) в 70-x гг. была предложена трехуровневая архитектура. Архитектура ANSI/SPARC включает следующие уровни: внутренний, концептуальный и внешний (рис. 1). Каждый уровень описывается соответствующей схемой (средствами языка описания данных соответствующего уровня), определяющей свойства базы данных в терминах типов содержащихся в БД данных. Уровни связаны механизмами междууровневого отображения данных.

Внешнийуровень определяет точку зрения пользователей на базу данных. Отдельного пользователя интересует не вся БД, а только некоторая часть ее. Пользовательское представление базы данных (внешнее представление) будет абстрактным по сравнению с физическим способом хранения данных. Оно отражает представление содержимого базы данных отдельным пользователем. Например, пользователь из отдела кадров может рассматривать базу данных как набор сведений об отделах, о служащих и ничего не знать о клиентах компании или о выпускаемой продукции. Каждый пользователь создает свое внешнее представление. Пользовательские представления отображаются в данные концептуального уровня. Это отображение демонстрирует, как различные приложения будут использовать данные. Внешний уровень определяется средствамивнешней схемы. Приложения внешнего уровня создаются средствами либо одного из распространенных языков программирования (например, С++), либо специального языка запросов (SQL).

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

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

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

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

Рассмотрим подробнее такие компоненты системы баз данных как пользователи и программное обеспечение.

С базами данных работают различные категории пользователей: прикладные программисты, конечные пользователи, администраторы базы данных.

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

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

Администратор базы данных (АБД) – под этим понятием подразумевается лицо (или группа лиц, возможно, целое штатное подразделение), на которое возложено управление средствами базы данных организации. В его функции входит:

  • координировать все действия по проектированию, реализации и ведению базы данных; учитывать перспективные и текущие требования пользователей; следить, чтобы база данных удовлетворяла актуальным информационным потребностям;

  • анализировать существующие программные средства и возможность их использования в базе данных, разрабатывать программно-технические мероприятия по развитию базы данных;

  • разрабатывать и реализовывать меры по обеспечению защиты данных от некомпетентного их использования, от сбоев технических средств, по обеспечению секретности определенной части данных и разграничению доступа к данным;

  • выполнять работы по ведению словаря данных; контролировать избыточность и противоречивость данных, их достоверность;

  • следить за тем, чтобы БД отвечала заданным требованиям по производительности, т. е. чтобы обработка запросов выполнялась за приемлемое время; выполнять при необходимости изменения методов хранения данных, путей доступа к ним, связей между данными, форматов данных; определять степень влияния изменений в данных на всю БД; координировать вопросы технического обеспечения системы аппаратными средствами исходя из требований, предъявляемых БД к оборудованию;

  • координировать работы системных программистов, разрабатывающих дополнительное программное обеспечение для улучшения эксплуатационных характеристик системы;

  • координировать работы прикладных программистов, разрабатывающих новые приложения и выполнять проверку и включение прикладных программ в состав программного обеспечения системы;

  • работать с конечными пользователями, в том числе и по вопросам обучения и консультирования и т.п.

Программное обеспечение включает, прежде всего, систему управления базами данных (СУБД) – комплекс программных средств, "предназначенный для создания и хранения базы данных на основе некоторой модели данных, обеспечения логической и физической целостности содержащихся в ней данных, надежного и эффективного использования ресурсов (данных, пространства памяти, вычислительных ресурсов), предоставления к ней санкционированного доступа для приложений и конечных пользователей, а также для поддержки функций администратора баз данных" [15].

Рассмотрим функции СУБД подробнее:

  • СУБД должна предоставлять пользователям и программам два типа языков: язык описания данных (для описания логической структуры данных) и язык манипулирования данными (для выполнения запросов пользователя на выборку, изменение, удаление данных).

  • СУБД должна контролировать пользовательские запросы и следить за выполнением правил безопасности и целостности, определенные АБД.

  • В СУБД должен быть предусмотрен механизм восстановления данных.

  • СУБД должна обеспечить функцию словаря данных. Словарь данных содержит "данные о данных", так называемые метаданные. Метаданные словаря предоставляются в виде, удобном для восприятия человеком и характеризуют состав и структуру пользовательских данных в базе данных. Словарь данных предназначен для документирования разработки системы базы данных, справочного обслуживания ее пользователей, а также для персонала АБД.

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

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

С учетом вышеизложенного, детализированная архитектура баз данных представлена на рис. 3.

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