Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1 Введение в базы данных.docx
Скачиваний:
276
Добавлен:
14.02.2016
Размер:
40.53 Кб
Скачать

2. Назначение и основные функции субд

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

Архитектура субд

Рис. 5.  Компоненты СУБД

На рис. 5. представлены главные компоненты архитектуры типичной СУБД. Рассмотрим назначение каждого компонента. Компонент «Данные, метаданные» включает не только данные, но и информацию о структуре данных (метаданные). Компонент «Блок памяти» получает требуемую информацию из места хранения данных и изменяет в нем соответствующую информацию по требованию расположенных выше уровней системы. В простых системах баз данных блоком памяти может служить система файлов операционной системы. Однако для повышения эффективности СУБД обычно осуществляет прямой контроль памяти. Блок памяти состоит из двух компонентов:

  1. Блок файлов контролирует расположение файлов на диске и получает блок или блоки, содержащие файлы, по запросу блока буфера.

  2. Блок буфера управляет основной памятью. Он получает блоки данных с диска через блок файлов и выбирает страницу основной памяти для хранения отдельного блока.

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

  1. Запросы

  2. Модификации (модифицирующие запросы) – операции по изменению данных (удаление, добавление, изменение).

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

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

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

Как правило, СУБД поддерживают одновременно множество транзакций. Именно правильное выполнение всех таких транзакций и обеспечивает блок транзакций. Правильное их выполнение, обеспечивается ACID-свойствами (Atomicity, Consistency, Isolation, Durability):

Требования ACID

1. Атомарность. Операторы, выполняемые в рамках транзакции, представляют собой единое неделимое действие. Изменения, проводимые в рамках транзакции, или полностью принимаются или полностью откатываются.

2. Согласованность. Транзакция в непротиворечивом состоянии БД. После её завершения БД должна находится либо в новом, либо в старом непротиворечивом состоянии. Т.о. транзакция – корректная операция перевода БД из одного непротиворечивого состояния в другое.

Непротиворечивое состояние – состояние, когда выполняются понятия целостности БД.

Внутри транзакции (при выполнении) в ряде случаев допускается нахождение БД не в непротиворечивом состоянии.

3. Изолированность. Транзакции, выполняемые параллельно не должны влиять друг на друга, несмотря на то, что транзакции могут разделять одни и те же данные – изменения, проводимые одной транзакцией не должны влиять на другую транзакцию.

4. Долговечность. Если транзакция зафиксирована, все изменения, проводимые ей, должны быть сохранены в БД. При откате все изменения из базы должны быть изъяты – устойчивость к сбоям.

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

  1. По способу применения

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

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

Персональные СУБД:

  • Системы управления базами данных в буквальном смысле этого термина, для которых работа с базами возможна только после запуска в работу этой системы без возможности создания автономных программ, работающих с базами. К этим системам относятся: Access, Paradoх, dBase.

  • Системы, имеющие как средства для работы с базами данных, так и возможности разработки исполняемых в операционной системе пользовательских программ (приложений), т. е. средства разработчика программ - FoхPro.

  • Системы для разработки пользовательских программ для работы с базами данных - Clipper, Clarion.

Корпоративные СУБД: ORACLE, MySQL Server, DB2, Informix, Ingres.

Требования к корпоративным СУБД:

  • Интероперабельность – возможность использования базы данных этой системы в других программных системах.

  • Мобильность (переносимость) – возможность переноса СУБД на другие аппаратно-программные платформы.

  • Параллельная обработка

  • Распределенная разработка

  • Активный сервер

  1. По количеству пользователей

  • Однопользовательские.

  • Многопользовательские.

  1. По степени распределенности:

  • Локальные СУБД

  • Распределенные СУБД

  1. По способу доступа к базам данных

  • Файл-серверные. В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком. Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

  • Клиент-серверные. Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

  • Встраиваемые - СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

  1. По модели представления данных:

  • Иерархические

  • Сетевые

  • Реляционные

  • Объектно-ориентированные

6