Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л 12 5-1.doc
Скачиваний:
2
Добавлен:
09.08.2019
Размер:
114.18 Кб
Скачать

Лекция 12

Базы данных и базы знаний

  1. Архитектура системы БД.

  2. Программное обеспечение

  3. Пользователи

  4. Модели данных

  5. Системы баз знаний

  1. Архитектура системы бд.

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

Архитектура системы БД состоит из следующих четырех компо­нентов: аппаратное обеспечение (по сути является компьютером или компьютерной сетью, в которой создается система БД); программное обеспечение; пользователи; данные.

2. Программное обеспечение

Программное обеспечение занимает промежуточное положение меж­ду "физической" базой данных, хранящей физические записи, и поль­зователями БД. Это программное обеспечение называется системой управления базой данных — СУБД (Data Base Management Systems — DBMS) и представляет собой набор программных средств, посредст­вом которого осуществляется управление базой данных и доступ к данным.

К числу основных функций СУБД принято относить следующие.

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

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

Управление транзакциями. Транзакция — это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется и СУБД фиксирует (COMMIT) из­менения БД, произведенные ею во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД. Роль тран­закций гораздо существеннее в многопользовательских СУБД. Каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения. Это делает очень удоб­ным использование понятия транзакции как единицы активности поль­зователя по отношению к БД;

Журнализация. СУБД должна обеспечивать надежное хранение данных во внешней памяти, т.е. СУБД должна иметь возможность восстановить последнее согласованное состояние БД после любого аппаратного или про­граммного сбоя.

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

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

Поддержка языков БД. Для работы с базами данных используются специальные языки баз данных. Чаще всего выделяются два языка — язык определения данных (DDL — Data Definition Language или SDL — Schema Defenition Language) и язык манипулирования данными (DML — Data Manipulation Language). SDL/DDL служит, главным образом, для определения логической структуры БД, a DML содержит набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.

Во многих СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком реляционных СУБД является язык SQL (Structured Query Language). Язык SQL сочетает средства SDL/DDL и DML, т.е. позволяет определять схему реляционной БД и манипулировать данными. Язык SQL содержит специальные средства определения ограни­чений целостности БД. В реляционной СУБД можно выделить наиболее внутреннюю часть — ядро СУБД (Data Base Engine), компилятор языка запросов БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит.

Условно программные средства СУБД можно разделить на следующие основные части.

Процессор запросов, включающий компилятор ЯМД, интерпретатор ЯОД и подсистему обработки запросов. Процессор осуществляет всю работу по обработке запросов к БД и определению структуры БД. Запрос представляет собой программу, которая записывается на ЯМД — языке высокого уровня — и обеспечивает поиск данных в базе данных. Структура запроса в системах БД относительно проста, что позволяет легко ею понимать, автоматически генерировать и оптимизировать. Современные языки запросов (например, SQL) являются, по большей части, декларативными, поскольку они выражают, что должно быть возвращено из базы данных, без ссылок на структуры хранения или алгоритмы доступа к этим структурам.

Менеджер памяти, состоящий из менеджера транзакций, менеджера буфера и файлового менеджера.

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

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

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