Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Системы управления базами данных

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

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

К СУБД относятся следующие основные виды программ:

• полнофункциональные СУБД;

• серверы БД;

• клиенты БД;

• средства разработки программ работы с БД.

Полнофункциональные СУБД (ПФСУБД) представляют собой традиционные СУБД, которые сначала появились для больших машин, затем для мини-машин и для-ПЭВМ. Из числа всех СУБД современные ПФСУБД являются наиболее много­численными и мощными по своим возможностям. К ПФСУБД относятся, например, такие пакеты как: Clarion Database Developer, DataBase, Dataplex, dBase IV, Microsoft Access, Microsoft FoxPro и Paradox R:BASE.

Обычно ПФСУБД имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить данные, формировать запросы, разрабатывать отчеты, выводить их на печать и т. п. Для создания запросов и отчетов не обязательно программирование, а удобно пользоваться языком QBE (Query By Example — формулировки запросов по образцу, см. подраздел 3.8). Многие ПФСУБД включают средства программирова­ния для профессиональных разработчиков.

Некоторые системы имеют в качестве вспомогательных и дополнительные средства проектирования схем БД или CASE-подсистемы. Для обеспечения доступа к другим БД или к данным SQL-серверов полнофункциональные СУБД имеют факультативные модули.

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

Примерами серверов БД являются следующие программы: NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland), SQLBase Server (Gupta), Intelligent Database (Ingress).

В роли клиентских программ для серверов БД в общем случае могут использо­ваться различные программы: ПФСУБД, электронные таблицы, текстовые процессо­ры, программы электронной почты и т. д. При этом элементы пары «клиент — сервер» могут принадлежать одному или разным производителям программного обеспечения.

В случае, когда клиентская и серверная части выполнены одной фирмой, естествен­но ожидать, что распределение функций между ними выполнено рационально. В ос­тальных случаях обычно преследуется цель обеспечения доступа к данным «любой ценой». Примером такого соединения является случай, когда одна из полнофункцио­нальных СУБД играет роль сервера, а вторая СУБД (другого производителя) — роль клиента. Так, для сервера БД SQL Server (Microsoft) в роли клиентских (фронталь­ных) программ могут выступать многие СУБД, такие как: dBASE IV, Biyth Software, Paradox, DataBase, Focus, 1-2-3, MDBS III, Revelation и другие.

Средства разработки программ работы с БД могут использоваться для созда­ния разновидностей следующих программ:

• клиентских программ;

• серверов БД и их отдельных компонентов;

• пользовательских приложений.

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

К средствам разработки пользовательских приложений относятся системы про­граммирования, например Clipper, разнообразные библиотеки программ для различных языков

программирования, а также пакеты автоматизации разработок (в том числе систем типа клиент-сервер). В числе наиболее распространенных можно назвать сле­дующие инструментальные системы: Delphi и Power Builder (Borland), Visual Basic (Microsoft), SILVERRUN (Computer Advisers Inc.), S-Designor (SDP и Powersoft) и ERwin (LogicWorks).

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

По характеру использования СУБД делят на персональные и многопользовательские.

Персональные СУБД обычно обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. Персональные СУБД или разра­ботанные с их помощью приложения зачастую могут выступать в роли клиентской части многопользовательской СУБД. К персональным СУБД, например, относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др.

Многопользовательские СУБД включают в себя сервер БД и клиентскую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользовательским СУБД отно­сятся, например, СУБД Oracle и Informix.

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

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

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

язык описания данных — высокоуровневый непроцедурный язык декларатив­ного типа, предназначенный для описания логической структуры данных;

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

Названные языки в различных СУБД могут иметь отличия. Наибольшее распрост­ранение получили два стандартизованных языка: QBE (Query By Example) — язык зап­росов по образцу и SQL (Structured Query Language) — структурированный язык зап­росов. QBE в основном обладает свойствами языка манипулирования данными, SQL сочетает в себе свойства языков обоих типов — описания и манипулирования данными.

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

• управление данными во внешней памяти;

• управление буферами оперативной памяти;

• управление транзакциями;

• ведение журнала изменений в БД;

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

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

Необходимость буферизации данных и как следствие реализации функции управ­ления буферами оперативной памяти обусловлено тем, что объем оперативной памя­ти меньше объема внешней памяти.

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

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

Говорят, что транзакции присущи три основных свойства:

• атомарность (выполняются все входящие в транзакцию операции или ни одна);

• сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);

• долговечность (даже крах системы не приводит к утрате результатов зафикси­рованной транзакции).

Примером транзакции является операция перевода денег с одного счета на другой в банковской системе. Здесь необходим, по крайней мере, двухшаговый процесс. Сна­чала снимают деньги с одного счета, затем добавляют их к другому счету. Если хотя бы одно из действий не выполнится успешно, результат операции окажется невер­ным и будет нарушен баланс между счетами.

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

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

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

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

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

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

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

<== предыдущая лекция | следующая лекция ==>
Методы и источники исследования в этнологии | Локальные информационные системы
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 893; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.