Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
План:
1. Системы управления базами данных.
2. Классификация СУБД.
3. Средства разработки программ работы с БД.
4.Локальные информационные системы
Лекция № 2
Тема: Системы управления базами
данных. Локальные информационные
системы
Системы управления базами данных
В этой лекции приводится классификация СУБД и
рассматриваются основные их функции. В качестве
основных классификационных признаков можно
использовать следующие: вид программы, характер
использования, мо­дель данных. Названные признаки
существенно влияют на целевой выбор СУБД и
эффективность использования разрабатываемой
информационной системы.
Классификация СУБД
 В общем случае под СУБД можно понимать лю­бой программный
продукт, поддерживающий процессы создания, ведения и
использования БД. Рассмотрим, какие из имеющихся на рынке
программ имеют отношение к БД и в какой мере они связаны с
базами данных.
 К СУБД относятся следующие основные виды программ:
 полнофункциональные СУБД;
 серверы БД;
 клиенты БД;
 средства разработки программ работы с БД.
Полнофункциональные СУБД
 представляют собой тради­ционные СУБД, которые сначала появились для больших машин,
затем для мини­машин и для ПЭВМ. Из числа всех СУБД современные ПФСУБД являются
наиболее многочисленными и мощными по своим возможностям. К ПФСУБД относятся,
например, такие пакеты, как Clarion Database Developer, dBase IV, Microsoft Access, Microsoft
FoxPro и Paradox R:BASE.
 Обычно ПФСУБД имеют развитый интерфейс, позволяющий с помощью команд меню
выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить
данные, формировать запросы, разрабатывать отче­ты, выводить их на печать и т. п. Для
создания запросов и отчетов не обязательно программирование, а удобно пользоваться языком
QBE (Query By Example — формулировки запросов по образцу). Многие ПФСУБД вклю­чают
средства программирования для профессиональных разработчиков.
 Некоторые системы имеют в качестве вспомогательных и дополнительные средства
проектирования схем БД или CASE­подсистемы. Для обеспечения доступа к другим БД или к
данным SQL­серверов полнофункциональные СУБД имеют факультативные модули.
Серверы БД
 предназначены для организации центров обработки данных в
сетях ЭВМ. Эта группа БД в настоящее время менее
многочисленна, но их количество постепенно растет. Серверы
БД реализуют функции управления базами данных,
запрашиваемые другими (клиентскими) программами обыч­но
с помощью операторов SQL.
 Примерами серверов БД являются следующие программы:
NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase
(Borland) и т.д.
Клиенты БД
 В роли клиентских программ для серверов БД в общем случае могут ис­
пользоваться различные программы: ПФСУБД, электронные таблицы, тек­
стовые процессоры, программы электронной почты и т. д. При этом элементы
пары «клиент — сервер» могут принадлежать одному или разным производи­
телям программного обеспечения.
 В случае, когда клиентская и серверная части выполнены одной фирмой,
естественно ожидать, что распределение функций между ними выполнено ра­
ционально. В остальных случаях обычно преследуется цель обеспечения дос­
тупа к данным «любой ценой». Примером такого соединения является слу­чай,
когда одна из полнофункциональных СУБД играет роль сервера, а вторая СУБД
(другого производителя) — роль клиента. Так, для сервера БД SQL Server
(Microsoft) в роли клиентских (фронтальных) программ могут высту­пать
многие СУБД, такие как dBASE IV, Paradox, Focus, 1­2­3, MDBS III, Revelation
и другие.
Средства разработки программ
работы с БД
 Средства разработки программ работы с БД могут использоваться для создания разновидностей следующих
программ:
 клиентских программ;
 серверов БД и их отдельных компонентов;
 пользовательских приложений.
 Программы первого и второго вида довольно малочисленны, так как предназначены, главным образом, для системных
программистов. Пакетов третьего вида гораздо больше, но меньше, чем полнофункциональных СУБД.
 К средствам разработки пользовательских приложений относятся систе­мы программирования, например Clipper,
разнообразные библиотеки про­грамм для различных языков программирования, а также пакеты автомати­зации
разработок (в том числе систем типа клиент­сервер). В числе наиболее распространенных можно назвать следующие
инструментальные системы: Delphi и Power Builder (Borland), Visual Studio (Microsoft) и т.д.
 Если говорить о конкретных системах программирования (для языков C++, С#, Visual Basic, Java и др.), то все они
содержат некоторые средства доступа к наиболее широко используемым БД.
 Кроме перечисленных средств, для управления данными и организации обслуживания БД используются различные
дополнительные средства, к примеру, мониторы транзакций.
По характеру использования СУБД
 делят на персональные и многопользовательские.
 Персональные СУБД обычно обеспечивают возможность создания персо­
нальных БД и недорогих приложений, работающих с ними. Персональные
СУБД или разработанные с их помощью приложения зачастую могут
высту­пать в роли клиентской части многопользовательской СУБД. К
персональным СУБД, например, относятся Visual FoxPro, Paradox, Clipper,
dBase, Access и др.
 Многопользовательские СУБД включают в себя сервер БД и клиентскую
часть и, как правило, могут работать в неоднородной вычислительной
среде (с разными типами ЭВМ и операционными системами). К
многопользова­тельским СУБД относятся, например, СУБД Oracle и
Informix.
В зависимости от способа хранения
и обработки БД
 (централизованного или децентрализованного) СУБД можно разделить на два класса:
централи­зованные (или обычные) СУБД и децентрализованные (или распределенные)
СУБД. В обычных СУБД данные хранятся в том же месте, где и программы их
управления. В распределенных СУБД как программное обеспечение, так и данные
распределены по узлам сети. Распределенные СУБД могут быть однородными или
неоднородными. Неоднородность СУБД может провялятся в отличии поддерживаемых
модели данных, типов данных, языков запросов, фирм­разработчиков и т. д.
 Одной из разновидностей распределенных СУБД являются мультибазовые системы, в
которых управление каждым из узлов осуществляется автономно. В мультибазовых
СУБД производится такая интеграция локальных систем, при которой не требуется
изменение существующих СУБД и в то же время конечным пользователям
предоставляется доступ к совместно используемым данным. Пользователи локальных
СУБД получают возможность управлять данными собственных узлов без
централизованного контроля, который при­сутствует в обычных распределенных
СУБД. Примером мультибазовой СУБД является система UniSQL.
В зависимости от возможности распараллеливания
процесса обработки данных
выделяют СУБД с последовательной и параллельной
обработкой (па­раллельные СУБД). Параллельные
СУБД функционируют в многопроцессор­ной
вычислительной системе (как правило, со
множеством устройств хране­ния данных) или в
сети компьютеров.
По используемой модели данных СУБД (как и БД),
разделяют на иерархи­ческие, сетевые,
реляционные, объектно­ориентированные и другие
типы. Не­которые СУБД могут одновременно
поддерживать несколько моделей данных.
 С точки зрения пользователя, СУБД реализует функции хранения, изме­нения
(пополнения, редактирования и удаления) и обработки информации, а также
разработки и получения различных выходных документов.
 Для работы с хранящейся в базе данных информацией СУБД предостав­ляет
программам и пользователям следующие два типа языков:
 язык описания данных — высокоуровневый непроцедурный язык декла­
ративного типа, предназначенный для описания логической структуры данных;
 язык манипулирования данными — совокупность конструкций, обеспе­
чивающих выполнение основных операций по работе с данными: ввод,
модификацию и выборку данных по запросам.
 Названные языки в различных СУБД могут иметь отличия. Наибольшее
распространение получили два стандартизованных языка: QBE (Query By
Example) — язык запросов по образцу и SQL (Structured Query Language) —
структурированный язык запросов. QBE в основном обладает свойствами язы­
ка манипулирования данными, SQL сочетает в себе свойства языков обоих
типов — описания и манипулирования данными.
Перечисленные выше функции СУБД, в свою очередь, используют следу­
ющие основные функции более низкого уровня, которые назовем
низкоуровневыми:
управление данными во внешней памяти;
управление буферами оперативной памяти;
управление транзакциями;
ведение журнала изменений в БД;
обеспечение целостности и безопасности БД.
 Дадим краткую характеристику необходимости и особенностям
реализа­ции перечисленных функций в современных СУБД.
 Реализация функции управления данными во внешней памяти в
разных системах может различаться и на уровне управления
ресурсами (используя файловые системы ОС или непосредственное
управление устройствами ПЭВМ), и по логике самих алгоритмов
управления данными. В основном методы и алгоритмы управления
данными являются «внутренним делом» СУБД и прямого отношения
к пользователю не имеют. Качество реализации этой функции
наиболее сильно влияет на эффективность работы специфи­ческих
ИС, например, с огромными БД, со сложными запросами, большим
объемом обработки данных.
 Необходимость буферизации данных и как следствие реализации
функ­ции управления буферами оперативной памяти обусловлено
тем, что объем оперативной памяти меньше объема внешней памяти.
Буферы
представляют собой области оперативной памяти, предназначен­ные для ускорения обмена между внешней и оперативной памятью. В буферах
временно хранятся фрагменты БД, данные из которых предпола­гается использовать при обращении к СУБД или планируется записать в базу после
обработки. Механизм транзакций используется в СУБД для поддержания целостно­сти данных в базе.
Транзакцией
• называется некоторая неделимая последова­тельность
операций над данными БД, которая отслеживается СУБД
от нача­ла и до завершения. Если по каким­либо
причинам (сбои и отказы оборудования, ошибки в
программном обеспечении, включая приложение)
транзакция остается незавершенной, то она отменяется.
В зависимости от времени, требуемого для выполнения, выделяют обыч­ные и продолжительные транзакции.
Продолжительные транзакции могут охватывать часы, дни и даже месяцы. Такие транзакции могут возникать в
процессе проектирования и разработки сложных систем крупным коллекти­вом людей. Кроме того, помимо
обычных плоских транзакций, используется модель вложенных транзакций. В последнем случае транзакция
рассматри­вается как набор взаимосвязанных подзадач (субтранзакций), каждая из ко­торых также может
состоять из произвольного количества субтранзакций.
Говорят, что транзакции присущи три основных свойства:
атомарность (выполняются все входящие в транзакцию операции или ни одна);
серализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);
долговечность (даже крах системы не приводит к утрате результатов за­фиксированной транзакции).
Примером транзакции является операция перевода денег с одною счета на другой в банковской системе. Здесь
необходим, по крайней мере, двухшаговый процесс. Сначала снимают деньги с одного счета, затем добавляют
их к друго­му счету. Если хотя бы одно из действий не выполнится успешно, результат операции окажется
неверным и будет нарушен баланс между счетами.
Контроль транзакций важен в однопользовательских и в многопользова­тельских СУБД, где транзакции могут
быть запущены параллельно.
В последнем случае говорят о сериализуемости транзакций. Под сериализаци­ей параллельно выполняемых
транзакций понимается составление такого пла­на их выполнения (сериального плана), при котором
суммарный эффект реа­лизации транзакций эквивалентен эффекту их последовательного выполнения.
При параллельном выполнении смеси транзакций возможно возникнове­ние конфликтов (блокировок), разрешение которых является функцией СУБД.
При обнаружении таких случаев обычно производится «откат» путем отмены изменений, произведенных одной или несколькими транзакциями.
Ведение журнала изменений в БД (журнализация изменений) выполняется СУБД для обеспечения надежности хранения данных в базе при наличии
ап­паратных сбоев и отказов, а также ошибок в программном обеспечении.
Журнал СУБД — это особая БД или часть основной БД,
непосредственно недоступная пользователю и используемая
для записи информации обо всех изменениях базы данных. В
различных СУБД в журнал могут заноситься за­писи,
соответствующие изменениям в СУБД на разных уровнях: от
минималь­ной внутренней операции модификации страницы
внешней памяти до логи­ческой операции модификации БД
(например, вставки записи, удаления столбца, изменения
значения в поле) и даже транзакции.
Для эффективной реализации функции ведения журнала
изменений в БД необходимо обеспечить повышенную
надежность хранения и поддержания в рабочем состоянии
самого журнала. Иногда для этого в системе хранят не­
сколько копий журнала.
Це­лостность БД
Обеспечение целостности БД составляет необходимое условие успешного функционирования БД, особенно для случая
использования БД в сетях. Це­лостность БД есть свойство базы данных, означающее, что в ней содержится полная,
непротиворечивая и адекватно отражающая предметную область ин­формация. Поддержание целостности БД включает проверку
целостности и ее восстановление в случае обнаружения противоречий в базе данных. Целост­ное состояние БД описывается с
помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные. Примером таких
условий может служить ограничение диапазонов возможных значений атрибутов объектов, сведения о которых хранятся в БД,
или отсутствие повто­ряющихся записей в таблицах реляционных БД.
Обеспечение безопасности достигается в СУБД шифрованием прикладных программ, данных, защиты паролем, поддержкой
уровней доступа к базе данных и к отдельным ее элементам (таблицам, формам, отчетам и т. д.).
Локальные информационные системы
Функциональные части информационной системы могут размещаться на
одном или на нескольких компьютерах. Рассмотрим варианты организации
ИС на одном ПК. Соответствующую ИС обычно называют локальной или
од­нопользовательской (хотя последнее не совсем строго, поскольку на
одном ком­пьютере поочередно могут работать несколько пользователей).
Организация функционирования локальной ИС на одном компьютере в
среде некоторой операционной системы (ОС) возможна с помощью следу­
ющих вариантов использования программных средств:
«полной» СУБД;
приложения и «усеченной» (ядра) СУБД;
независимого приложения.
 Первый способ обычно применяется в случаях, когда в
дисковой памяти компьютера помещается вся СУБД и она
часто используется для доработки приложения (рис. 2.1).
Рис. 2.1. Использование приложения и СУБД
Взаимодействие пользователя с СУБД происходит напрямую через пользовательский
(терминальный) интерфейс СУБД, либо с помощью при­ложения. Приложение
выполняется в режиме интерпретации.
Основное достоинство схемы — простота разработки и сопровождения БД и
приложений при наличии развитых соответствующих средств разработки и сер­
висных средств. Недостатком этой схемы являются затраты дисковой памяти на
хранение программы СУБД и оперативной памяти для исполняемого кода.
Приложение с ядром СУБД (рис. 2.2) используют для достижения следу­
ющих целей:
уменьшения объема занимаемого СУБД пространства жесткого диска и
оперативной памяти;
повышения скорости работы приложения;
защиты приложения от модификации со стороны пользователя (обычно
ядро не содержит средств разработки приложений).
Рис. 2.2. Использование приложения и ядра СУБД
Приложение с ядром СУБД
Примером такого подхода является использование модуля FoxRun си­стемы FoxBase+. Из современных СУБД
отметим Microsoft Access, вклю­чающую дополнительный пакет Microsoft Access Developer’s Toolkit. С его
помощью можно создавать переносимую на дискетах «укорочен­ную» (run­time) версию Microsoft Access, не
содержащую инструментов разработки.
Достоинствами использования ядра СУБД по сравнению с использо­ванием полной версии СУБД являются:
меньшее потребление ресурсов памяти компьютера, ускорение работы приложения и возможность защи­ты
приложения от модификации. К основным недостаткам можно отнес­ти все еще значительный объем дисковой
памяти, необходимой для хране­ния ядра СУБД, и недостаточно высокое быстродействие работы приложений
(выполнение приложения по­прежнему происходит путем ин­терпретации).

More Related Content

Lekcia2

  • 1. План: 1. Системы управления базами данных. 2. Классификация СУБД. 3. Средства разработки программ работы с БД. 4.Локальные информационные системы Лекция № 2 Тема: Системы управления базами данных. Локальные информационные системы
  • 2. Системы управления базами данных В этой лекции приводится классификация СУБД и рассматриваются основные их функции. В качестве основных классификационных признаков можно использовать следующие: вид программы, характер использования, мо­дель данных. Названные признаки существенно влияют на целевой выбор СУБД и эффективность использования разрабатываемой информационной системы.
  • 3. Классификация СУБД  В общем случае под СУБД можно понимать лю­бой программный продукт, поддерживающий процессы создания, ведения и использования БД. Рассмотрим, какие из имеющихся на рынке программ имеют отношение к БД и в какой мере они связаны с базами данных.  К СУБД относятся следующие основные виды программ:  полнофункциональные СУБД;  серверы БД;  клиенты БД;  средства разработки программ работы с БД.
  • 4. Полнофункциональные СУБД  представляют собой тради­ционные СУБД, которые сначала появились для больших машин, затем для мини­машин и для ПЭВМ. Из числа всех СУБД современные ПФСУБД являются наиболее многочисленными и мощными по своим возможностям. К ПФСУБД относятся, например, такие пакеты, как Clarion Database Developer, dBase IV, Microsoft Access, Microsoft FoxPro и Paradox R:BASE.  Обычно ПФСУБД имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить данные, формировать запросы, разрабатывать отче­ты, выводить их на печать и т. п. Для создания запросов и отчетов не обязательно программирование, а удобно пользоваться языком QBE (Query By Example — формулировки запросов по образцу). Многие ПФСУБД вклю­чают средства программирования для профессиональных разработчиков.  Некоторые системы имеют в качестве вспомогательных и дополнительные средства проектирования схем БД или CASE­подсистемы. Для обеспечения доступа к другим БД или к данным SQL­серверов полнофункциональные СУБД имеют факультативные модули.
  • 5. Серверы БД  предназначены для организации центров обработки данных в сетях ЭВМ. Эта группа БД в настоящее время менее многочисленна, но их количество постепенно растет. Серверы БД реализуют функции управления базами данных, запрашиваемые другими (клиентскими) программами обыч­но с помощью операторов SQL.  Примерами серверов БД являются следующие программы: NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland) и т.д.
  • 6. Клиенты БД  В роли клиентских программ для серверов БД в общем случае могут ис­ пользоваться различные программы: ПФСУБД, электронные таблицы, тек­ стовые процессоры, программы электронной почты и т. д. При этом элементы пары «клиент — сервер» могут принадлежать одному или разным производи­ телям программного обеспечения.  В случае, когда клиентская и серверная части выполнены одной фирмой, естественно ожидать, что распределение функций между ними выполнено ра­ ционально. В остальных случаях обычно преследуется цель обеспечения дос­ тупа к данным «любой ценой». Примером такого соединения является слу­чай, когда одна из полнофункциональных СУБД играет роль сервера, а вторая СУБД (другого производителя) — роль клиента. Так, для сервера БД SQL Server (Microsoft) в роли клиентских (фронтальных) программ могут высту­пать многие СУБД, такие как dBASE IV, Paradox, Focus, 1­2­3, MDBS III, Revelation и другие.
  • 7. Средства разработки программ работы с БД  Средства разработки программ работы с БД могут использоваться для создания разновидностей следующих программ:  клиентских программ;  серверов БД и их отдельных компонентов;  пользовательских приложений.  Программы первого и второго вида довольно малочисленны, так как предназначены, главным образом, для системных программистов. Пакетов третьего вида гораздо больше, но меньше, чем полнофункциональных СУБД.  К средствам разработки пользовательских приложений относятся систе­мы программирования, например Clipper, разнообразные библиотеки про­грамм для различных языков программирования, а также пакеты автомати­зации разработок (в том числе систем типа клиент­сервер). В числе наиболее распространенных можно назвать следующие инструментальные системы: Delphi и Power Builder (Borland), Visual Studio (Microsoft) и т.д.  Если говорить о конкретных системах программирования (для языков C++, С#, Visual Basic, Java и др.), то все они содержат некоторые средства доступа к наиболее широко используемым БД.  Кроме перечисленных средств, для управления данными и организации обслуживания БД используются различные дополнительные средства, к примеру, мониторы транзакций.
  • 8. По характеру использования СУБД  делят на персональные и многопользовательские.  Персональные СУБД обычно обеспечивают возможность создания персо­ нальных БД и недорогих приложений, работающих с ними. Персональные СУБД или разработанные с их помощью приложения зачастую могут высту­пать в роли клиентской части многопользовательской СУБД. К персональным СУБД, например, относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др.  Многопользовательские СУБД включают в себя сервер БД и клиентскую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользова­тельским СУБД относятся, например, СУБД Oracle и Informix.
  • 9. В зависимости от способа хранения и обработки БД  (централизованного или децентрализованного) СУБД можно разделить на два класса: централи­зованные (или обычные) СУБД и децентрализованные (или распределенные) СУБД. В обычных СУБД данные хранятся в том же месте, где и программы их управления. В распределенных СУБД как программное обеспечение, так и данные распределены по узлам сети. Распределенные СУБД могут быть однородными или неоднородными. Неоднородность СУБД может провялятся в отличии поддерживаемых модели данных, типов данных, языков запросов, фирм­разработчиков и т. д.  Одной из разновидностей распределенных СУБД являются мультибазовые системы, в которых управление каждым из узлов осуществляется автономно. В мультибазовых СУБД производится такая интеграция локальных систем, при которой не требуется изменение существующих СУБД и в то же время конечным пользователям предоставляется доступ к совместно используемым данным. Пользователи локальных СУБД получают возможность управлять данными собственных узлов без централизованного контроля, который при­сутствует в обычных распределенных СУБД. Примером мультибазовой СУБД является система UniSQL.
  • 10. В зависимости от возможности распараллеливания процесса обработки данных выделяют СУБД с последовательной и параллельной обработкой (па­раллельные СУБД). Параллельные СУБД функционируют в многопроцессор­ной вычислительной системе (как правило, со множеством устройств хране­ния данных) или в сети компьютеров. По используемой модели данных СУБД (как и БД), разделяют на иерархи­ческие, сетевые, реляционные, объектно­ориентированные и другие типы. Не­которые СУБД могут одновременно поддерживать несколько моделей данных.
  • 11.  С точки зрения пользователя, СУБД реализует функции хранения, изме­нения (пополнения, редактирования и удаления) и обработки информации, а также разработки и получения различных выходных документов.  Для работы с хранящейся в базе данных информацией СУБД предостав­ляет программам и пользователям следующие два типа языков:  язык описания данных — высокоуровневый непроцедурный язык декла­ ративного типа, предназначенный для описания логической структуры данных;  язык манипулирования данными — совокупность конструкций, обеспе­ чивающих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам.  Названные языки в различных СУБД могут иметь отличия. Наибольшее распространение получили два стандартизованных языка: QBE (Query By Example) — язык запросов по образцу и SQL (Structured Query Language) — структурированный язык запросов. QBE в основном обладает свойствами язы­ ка манипулирования данными, SQL сочетает в себе свойства языков обоих типов — описания и манипулирования данными.
  • 12. Перечисленные выше функции СУБД, в свою очередь, используют следу­ ющие основные функции более низкого уровня, которые назовем низкоуровневыми: управление данными во внешней памяти; управление буферами оперативной памяти; управление транзакциями; ведение журнала изменений в БД; обеспечение целостности и безопасности БД.
  • 13.  Дадим краткую характеристику необходимости и особенностям реализа­ции перечисленных функций в современных СУБД.  Реализация функции управления данными во внешней памяти в разных системах может различаться и на уровне управления ресурсами (используя файловые системы ОС или непосредственное управление устройствами ПЭВМ), и по логике самих алгоритмов управления данными. В основном методы и алгоритмы управления данными являются «внутренним делом» СУБД и прямого отношения к пользователю не имеют. Качество реализации этой функции наиболее сильно влияет на эффективность работы специфи­ческих ИС, например, с огромными БД, со сложными запросами, большим объемом обработки данных.  Необходимость буферизации данных и как следствие реализации функ­ции управления буферами оперативной памяти обусловлено тем, что объем оперативной памяти меньше объема внешней памяти.
  • 14. Буферы представляют собой области оперативной памяти, предназначен­ные для ускорения обмена между внешней и оперативной памятью. В буферах временно хранятся фрагменты БД, данные из которых предпола­гается использовать при обращении к СУБД или планируется записать в базу после обработки. Механизм транзакций используется в СУБД для поддержания целостно­сти данных в базе. Транзакцией • называется некоторая неделимая последова­тельность операций над данными БД, которая отслеживается СУБД от нача­ла и до завершения. Если по каким­либо причинам (сбои и отказы оборудования, ошибки в программном обеспечении, включая приложение) транзакция остается незавершенной, то она отменяется.
  • 15. В зависимости от времени, требуемого для выполнения, выделяют обыч­ные и продолжительные транзакции. Продолжительные транзакции могут охватывать часы, дни и даже месяцы. Такие транзакции могут возникать в процессе проектирования и разработки сложных систем крупным коллекти­вом людей. Кроме того, помимо обычных плоских транзакций, используется модель вложенных транзакций. В последнем случае транзакция рассматри­вается как набор взаимосвязанных подзадач (субтранзакций), каждая из ко­торых также может состоять из произвольного количества субтранзакций. Говорят, что транзакции присущи три основных свойства: атомарность (выполняются все входящие в транзакцию операции или ни одна); серализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций); долговечность (даже крах системы не приводит к утрате результатов за­фиксированной транзакции). Примером транзакции является операция перевода денег с одною счета на другой в банковской системе. Здесь необходим, по крайней мере, двухшаговый процесс. Сначала снимают деньги с одного счета, затем добавляют их к друго­му счету. Если хотя бы одно из действий не выполнится успешно, результат операции окажется неверным и будет нарушен баланс между счетами. Контроль транзакций важен в однопользовательских и в многопользова­тельских СУБД, где транзакции могут быть запущены параллельно. В последнем случае говорят о сериализуемости транзакций. Под сериализаци­ей параллельно выполняемых транзакций понимается составление такого пла­на их выполнения (сериального плана), при котором суммарный эффект реа­лизации транзакций эквивалентен эффекту их последовательного выполнения.
  • 16. При параллельном выполнении смеси транзакций возможно возникнове­ние конфликтов (блокировок), разрешение которых является функцией СУБД. При обнаружении таких случаев обычно производится «откат» путем отмены изменений, произведенных одной или несколькими транзакциями. Ведение журнала изменений в БД (журнализация изменений) выполняется СУБД для обеспечения надежности хранения данных в базе при наличии ап­паратных сбоев и отказов, а также ошибок в программном обеспечении.
  • 17. Журнал СУБД — это особая БД или часть основной БД, непосредственно недоступная пользователю и используемая для записи информации обо всех изменениях базы данных. В различных СУБД в журнал могут заноситься за­писи, соответствующие изменениям в СУБД на разных уровнях: от минималь­ной внутренней операции модификации страницы внешней памяти до логи­ческой операции модификации БД (например, вставки записи, удаления столбца, изменения значения в поле) и даже транзакции. Для эффективной реализации функции ведения журнала изменений в БД необходимо обеспечить повышенную надежность хранения и поддержания в рабочем состоянии самого журнала. Иногда для этого в системе хранят не­ сколько копий журнала.
  • 18. Це­лостность БД Обеспечение целостности БД составляет необходимое условие успешного функционирования БД, особенно для случая использования БД в сетях. Це­лостность БД есть свойство базы данных, означающее, что в ней содержится полная, непротиворечивая и адекватно отражающая предметную область ин­формация. Поддержание целостности БД включает проверку целостности и ее восстановление в случае обнаружения противоречий в базе данных. Целост­ное состояние БД описывается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные. Примером таких условий может служить ограничение диапазонов возможных значений атрибутов объектов, сведения о которых хранятся в БД, или отсутствие повто­ряющихся записей в таблицах реляционных БД. Обеспечение безопасности достигается в СУБД шифрованием прикладных программ, данных, защиты паролем, поддержкой уровней доступа к базе данных и к отдельным ее элементам (таблицам, формам, отчетам и т. д.).
  • 19. Локальные информационные системы Функциональные части информационной системы могут размещаться на одном или на нескольких компьютерах. Рассмотрим варианты организации ИС на одном ПК. Соответствующую ИС обычно называют локальной или од­нопользовательской (хотя последнее не совсем строго, поскольку на одном ком­пьютере поочередно могут работать несколько пользователей). Организация функционирования локальной ИС на одном компьютере в среде некоторой операционной системы (ОС) возможна с помощью следу­ ющих вариантов использования программных средств: «полной» СУБД; приложения и «усеченной» (ядра) СУБД; независимого приложения.
  • 20.  Первый способ обычно применяется в случаях, когда в дисковой памяти компьютера помещается вся СУБД и она часто используется для доработки приложения (рис. 2.1). Рис. 2.1. Использование приложения и СУБД Взаимодействие пользователя с СУБД происходит напрямую через пользовательский (терминальный) интерфейс СУБД, либо с помощью при­ложения. Приложение выполняется в режиме интерпретации. Основное достоинство схемы — простота разработки и сопровождения БД и приложений при наличии развитых соответствующих средств разработки и сер­ висных средств. Недостатком этой схемы являются затраты дисковой памяти на хранение программы СУБД и оперативной памяти для исполняемого кода.
  • 21. Приложение с ядром СУБД (рис. 2.2) используют для достижения следу­ ющих целей: уменьшения объема занимаемого СУБД пространства жесткого диска и оперативной памяти; повышения скорости работы приложения; защиты приложения от модификации со стороны пользователя (обычно ядро не содержит средств разработки приложений). Рис. 2.2. Использование приложения и ядра СУБД
  • 22. Приложение с ядром СУБД Примером такого подхода является использование модуля FoxRun си­стемы FoxBase+. Из современных СУБД отметим Microsoft Access, вклю­чающую дополнительный пакет Microsoft Access Developer’s Toolkit. С его помощью можно создавать переносимую на дискетах «укорочен­ную» (run­time) версию Microsoft Access, не содержащую инструментов разработки. Достоинствами использования ядра СУБД по сравнению с использо­ванием полной версии СУБД являются: меньшее потребление ресурсов памяти компьютера, ускорение работы приложения и возможность защи­ты приложения от модификации. К основным недостаткам можно отнес­ти все еще значительный объем дисковой памяти, необходимой для хране­ния ядра СУБД, и недостаточно высокое быстродействие работы приложений (выполнение приложения по­прежнему происходит путем ин­терпретации).

Editor's Notes

  1. <number>