ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.11.2023
Просмотров: 175
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Непосредственное управление данными во внешней памяти
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для ускорения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях
СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти.
Управление буферами оперативной памяти
СУБД обычно работают с БД значительного размера; по крайней мере, этот размер обычно существенно больше доступного объема оперативной па- мяти. Понятно, что если при обращении к любому элементу данных будет про- изводиться обмен с внешней памятью, то вся система будет работать со скоро- стью устройства внешней памяти. Практически единственным способом реаль- ного увеличения этой скорости является буферизация данных в оперативной памяти. Поэтому в развитых СУБД поддерживается собственный набор буфе- ров оперативной памяти с собственной дисциплиной замены буферов.
Управление транзакциями Транзакция – это последовательность
операций над БД, рассматриваемых СУБД как единое целое.
Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие тран- закции необходимо для поддержания логической целостности БД. Поддер- жание механизма транзакций является обязательным условием даже одно- пользовательских СУБД. Но понятие транзакции гораздо более важно в мно-
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для ускорения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях
СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти.
Управление буферами оперативной памяти
СУБД обычно работают с БД значительного размера; по крайней мере, этот размер обычно существенно больше доступного объема оперативной па- мяти. Понятно, что если при обращении к любому элементу данных будет про- изводиться обмен с внешней памятью, то вся система будет работать со скоро- стью устройства внешней памяти. Практически единственным способом реаль- ного увеличения этой скорости является буферизация данных в оперативной памяти. Поэтому в развитых СУБД поддерживается собственный набор буфе- ров оперативной памяти с собственной дисциплиной замены буферов.
Управление транзакциями Транзакция – это последовательность
операций над БД, рассматриваемых СУБД как единое целое.
Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие тран- закции необходимо для поддержания логической целостности БД. Поддер- жание механизма транзакций является обязательным условием даже одно- пользовательских СУБД. Но понятие транзакции гораздо более важно в мно-
111 гопользовательских СУБД.
С управлением транзакциями в многопользовательской СУБД связаны важные понятия сериализации транзакций и сериального плана выполнения
смеси транзакций. Под сериализаций параллельно выполняющихся транзак- ций понимается такой порядок планирования их работы, при котором сум- марный эффект смеси транзакций эквивалентен эффекту их некоторого по- следовательного выполнения. Сериальный план выполнения смеси транзак- ций – это такой план, который приводит к сериализации транзакций. Суще- ствует несколько базовых алгоритмов сериализации транзакций. В централи- зованных СУБД наиболее распространены алгоритмы, основанные на син- хронизационных захватах объектов БД (блокировках). При использовании любого алгоритма сериализации возможны ситуации конфликтов между двумя или более транзакциями по доступу к объектам БД. В этом случае для поддержания сериализации необходимо выполнять откат (ликвидировать все изменения, произведенные в БД) одной или более транзакций.
Журнализация
Одним из основных требований к СУБД является надежность хранения данных во внешней памяти.
Под надежностью хранения понимается то, что СУБД должна
быть в состоянии восстановить последнее согласованное состоя-
ние БД после любого аппаратного или программного сбоя.
Поддержание надежности хранения данных в БД требует избыточности хранения данных, причем та часть данных, которая используется для восста- новления, должна храниться особо надежно. Наиболее распространенным методом поддержания такой избыточной информации является ведение жур- нала изменений БД.
Журнал – это особая часть БД, не доступная пользователям СУБД
и поддерживаемая с особой тщательностью, в которую поступа-
ют записи обо всех изменениях основной части БД.
Существуют разные модели восстановления баз данных, но их реали- зация невозможна без журнала транзакций и архивных копий БД.
Поддержка языков БД
В современных СУБД обычно поддерживается единый интегрирован- ный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоя- щее время реляционных СУБД является язык SQL. Он содержит все необхо- димые механизмы для ведения реляционных баз данных.
Ниже приведены основные характеристики, которые составляют каче- ство СУБД.
112
Производительность СУБД. Оценивается: временем выполнения за- просов; скоростью поиска информации в неиндексированных полях; време- нем выполнения операций импортирования данных из других форматов; ско- ростью выполнения таких операций, как обновление , удаление и вставка; максимальным числом параллельных обращений к данным в многопользова- тельском режиме.
Обеспечение целостности данных. Эта характеристика подразумева- ет наличие средств, позволяющих соблюдать правила целостности, установ- ленные при создании БД и хранящиеся вместе с ней. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в интерактивном режиме, посредством импорта или с помощью приложения).
Обеспечение безопасности. Средства безопасности обеспечивают вы- полнение следующих функций: шифрование прикладных программ; шифро- вание данных; защиту паролем; ограничение уровня доступа (к БД, к табли- це, к словарю).
Работа в многопользовательских средах. При этом предполагается, что средства СУБД обеспечивают: блокировку БД, таблицы, записи, поля; идентификацию станции, установившей блокировку; обновление информа- ции после модификации; контроль времени и повторение обращения; обра- ботку транзакций; работу с сетевыми системами (LAN Manager, NetWare,
Unix).
Импорт – экспорт. Эта характеристика отражает: возможность обра- ботки информации, подготовленной другими программными средствами; возможность использования данных другими программами.
Доступ к данным посредством SQL.СУБД имеют доступ к данным посредством SQL в следующих случаях: БД совместима с ODBC (Open Data
Base Connectivity – соединение открытых баз данных); реализована естест- венная поддержка SQL; возможна реализация SQL-запросов локальных дан- ных.
Разработка прикладных программ. Характеристика отражает воз- можность создания автономного приложения средствами СУБД. Большинст- во современных СУБД поддерживают эту возможность.
9.2. Типовая организация систем управления базами данных
Логически в современной реляционной СУБД можно выделить:
1) наиболее внутреннюю часть – ядро СУБД (часто его называют Data Base
Engine);
2) компилятор языка БД (обычно SQL);
3) подсистему поддержки времени выполнения;
4) набор утилит.
113
Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и жур- нализацию. Соответственно, можно выделить такие компоненты ядра (по крайней мере, логически, хотя в некоторых системах эти компоненты выде- ляются явно), как менеджер данных, менеджер буферов, менеджер транзак- ций и менеджер журнала. Функции этих компонентов взаимосвязаны, и для обеспечения корректной работы СУБД все эти компоненты должны взаимо- действовать по тщательно продуманным и проверенным протоколам. Ядро
СУБД является основной резидентной частью СУБД. При использовании ар- хитектуры «клиент-сервер» ядро является основной составляющей серверной части системы.
Основной функцией компилятора языка БД является компиляция опе- раторов языка БД в некоторую выполняемую программу. Результатом ком- пиляции всегда является выполняемая программа, представляемая в некото- рых системах в машинных кодах, но более часто в выполняемом внутреннем машинно-независимом коде. В последнем случае реальное выполнение опе- ратора производится с привлечением подсистемы поддержки времени вы- полнения, представляющей собой, по сути дела, интерпретатор этого внут- реннего языка.
Наконец, в отдельные утилиты БД обычно выделяют такие процедуры, которые не выполняются с использованием языка БД, например, загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности БД и т. д.
9.3. Архитектуры приложений, использующих базы данных
Наиболее актуальными на сегодняшний день являются архитектуры
«клиент-сервер». В архитектуре «клиент-сервер» (рис. 59) информационная система делится на неоднородные части – сервер и клиент БД.
Рисунок 59 – Двухуровневая клиент-серверная архитектура информационной системы («толстый» клиент)
В связи с тем, что компьютер-сервер распложен отдельно от клиента, его также называют удаленным сервером. Существенно, что сервером назы-
114 вается как специальная программа, которая управляет БД, так и компьютер, на котором установлены эти БД и программа.
Поскольку в основе организации запросов к БД лежит язык SQL,
то программу, управляющей БД, называют SQL-сервером, а БД –
базой данных SQL.
Клиентом является приложение пользователя, которое также называют
приложением-клиентом. Для обращения к данным приложение-клиент фор- мулирует и отсылает запрос удаленному серверу, содержащему БД. После получения запроса удаленный сервер направляет его SQL-серверу (серверу баз данных). SQL-сервер обеспечивает выполнение за-проса и выдачу клиен- ту его результата – требуемых данных. Вся обработка запроса происходит на удаленном сервере.
В роли SQL-сервера выступают СУБД, такие как InterBase, Oracle, In-
formix, Sybase, DB2, MS SQL Server и др.
Данная архитектура позволяет получить следующие преимущества: снижение нагрузки на сеть; повышение уровня защищенности информации, обусловленное тем, что обработка запросов всех клиентов осуществляется единой программой, расположенной на сервере; снижение сложности кли- ентских приложений, в которых отсутствует код, связанный с контролем БД и разграничением доступа к ней.
Рассмотренная архитектура является двухуровневой, в которой уровни соотносятся с приложением-клиентом и сервером БД. В этой архитектуре клиентское приложение называют сильным или «толстым» клиентом. Разви- тие «клиент-серверных» технологий привело к появлению трехуровневой ар-
хитектуры (рис. 60),в которой помимо сервера БД и приложений-клиентов дополнительно присутствует сервер приложений.
Рисунок 60 – Трехуровневая клиент-серверная архитектура информационной системы («тонкий» клиент)
115
Сервер приложений является промежуточным уровнем, который
обеспечивает организацию взаимодействия клиентов («тонких»
клиентов) и сервера БД.
К функциям сервера приложений могут, например, относиться: выпол- нение соединения с сервером, разграничение доступа к данным, реализация бизнес-правил и т. д. Кроме того, сервер приложений может организовывать взаимодействие с клиентами, установленными на различных аппаратных платформах, функционирующих на компьютерах различного типа под управлением разных информационных систем. Сервер приложений называют также брокером данных.
Основные достоинства трехуровневой архитектуры «клиент-сервер» состоят в следующем: разгрузка сервера БД; уменьшение размера клиентских приложений за счет сокращения объема лишнего кода; единая линия поведе- ния всех клиентов ; упрощение настройки клиентов – при изменении общего кода сервера приложений автоматически меняется поведение приложений клиентов.
116
ЛИТЕРАТУРА
1.
Федеральный закон Российской Федерации от 27 июля 2006 г. № 149-ФЗ
«Об информации, информационных технологиях и о защите информа- ции»
2.
Агальцов, В. П. Базы данных. Книга 1. Локальные базы данных / В.П.
Агальцов. – М.: Форум, Инфра-М, 2011. – 352 с.
3.
Агальцов В.П. Базы данных. Книга 2. Распределенные и удаленные базы данных / В.П. Агальцов. – М.: Форум, Инфра-М, 2011. – 272 с.
4.
Бен-Ган, Ицик. Microsoft SQL Server 2008. T – SQL: учебный курс / Ицик
Бен-Ган. – СПб.: БХВ-Петербург, 2009. – 432 с.
5.
Бекаревич, Ю.Б. Самоучитель Access 2010 / Ю.Б. Бекаревич, Н.В. Пуш- кина. – СПб.: БХВ - Петербург, 2011. — 432 с.
6.
Гурвиц, Г.А. Microsoft Access 2010. Разработка приложений на реальном примере / Г.А. Гурвиц. – СПб.: БХВ-Петербург, 2010. — 496 с.
7.
Информационные системы в экономике / под ред. Г. А. Титоренко. – М.:
Инити-Дана, 2008. – 463 с.
8.
Кириллов, В. В.,. Введение в реляционные базы данных / В.В. Кириллов,
Г.Ю. Громов. – СПб.: БХВ-Петербург, 2009. – 464 с
9.
Кузин, А.В. Базы данных: учебное пособие. – 4-е изд. / А.В. Кузин,
С.В. Левонисова. – М.: Академия, 2010. – 320 с.
10. Мердина, О.Д. Информационное обеспечение, базы данных: учебное по- собие / О.Д. Мердина, Е.В. Стельмашонок, Н.Н. Быкова. – СПб. : Изд-во
СПбГЭУ, 2014. – 82 с.
11. Фуфаев, Э.В., Базы данных: учебное пособие / Э.В. Фуфаев, Д.Э. Фуфа- ев. – М.: Академия, 2011. – 320 с.
12. Петкович Д. Microsoft SQL Server 2008. Руководство для начинающих /
Д. Петкович. – СПб.: БХВ-Петербург, 2009, – 752 с.
13. Тарасов В.Л. Работа с базами данных в Access 2010. Часть 1: Учебно- методическое пособие / В.Л. Тарасов – Нижний Новгород: Нижегород- ский госуниверситет, 2014. – 126 с.
117
Кафедра системного анализа и информационных технологий
Учебное пособие
Базы данных
Халимон Виктория Ивановна
Мамаева Галина Александровна
Рогов Александр Юрьевич
Чепикова Вера Николаевна
___________________________________________________________
Отпечатано с оригинал-макета. Формат 60х90 1/16
Печ.л. 7,4. Тираж экз.
_____________________________________________________________
Санкт-Петербургский государственный технологический институт
(технический университет)
_____________________________________________________________
190013, Санкт-Петербург, Московский пр., 26
Типография издательства СПбГТИ(ТУ). Тел. 494-93-65