Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Поддержка языков баз данных

Протоколирование

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

Аппаратные сбои подразделяются на два вида:

l мягкие сбои связаны с внезапной остановкой компьютера и обычно являются следствием внезапного выключения питания или зависания операционной системы;

l жесткие сбои характеризуются потерей информации на носителях внешней памяти.

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

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

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

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

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

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

§ язык определения схем данных (SDL) служит главным образом для определения логической структуры базы данных;

§ язык манипулирования данными (DML) содержит набор операторов манипулирования данными, то есть операторов, позволяющих заносить данные в базу, а также удалять, модифицировать и выбирать существующие данные.

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

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

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


По типу управляемой базы данных СУБД разделяются на:

§ сетевые;

§ иерархические;

§ реляционные;

§ объектно-реляционные;

§ объектно-ориентированные.

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

Одна из главных идей Кодда заключалась в том, что связь между данными должна устанавливаться в соответствии с их внутренними логическими взаимоотношениями. Реляционная база данных — хранилище данных, содержащее набор двумерных связанных таблиц. Набор средств управления подобным хранилищем называется реляционной системой управления базами данных.

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

Объектно-ориентированный подход имеет ряд преимуществ для разработчика, из которых можно отметить следующее:

· возможность разбить систему на совокупность независимых объектов;

· простоту эволюции системы за счет таких элементов объектного подхода, как наследование и полиморфизм;

· возможность объектного моделирования системы, позволяющая проследить поведение реальных объектов предметной области уже на ранних стадиях разработки.

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

По архитектуре организации хранения данных СУБД бывают:

· локальные СУБД (все части локальной СУБД размещаются на одном компьютере);

· распределенные СУБД (части СУБД могут размещаться на двух и более компьютерах).

 

Практически все СУБД поддерживают следующие типы данных:

· целочисленные;

· вещественные;

· строковые;

· специализированные типы данных для денежных величин;

· специализированные для времени величины (дата и/или время);

· типы двоичных объектов — данный тип не имеет аналогов в языках программирования (BLOB — Binary Large OBject — большой двоичный объект).

По способу доступа к базам данных СУБД различают:

· файл-серверные;

· клиент-серверные;

· встраиваемые.

 

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

На данный момент файл-серверные СУБД считаются устаревшими.

Примеры: Microsoft Access, Borland Paradox.

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

Примеры: Firebird, Interbase, Ms SQL Server, Sybase, Oracle, Postgre SQL, MySQL.

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


Контрольные вопросы и задания

 

1. Дайте определение понятию система управления базами данных (СУБД).

2. Какие функции выполняет СУБД?

3. Назовите основные свойства СУБД.

4. Что называется транзакцией? Для чего необходимо управление транзакциями?

5. Определите понятие сериализации и плана сериализации.

6. Что понимается под надежностью СУБД и хранением данных во внешней памяти.

7. На какие виды подразделяются аппаратные сбои в СУБД? Что необходимо предусмотреть для восстановления сбоев?

8. Что называется реляционной СУБД? Какой стандартный язык используется в СУБД?

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

10. Где нашли применение и востребованы встраиваемые СУБД?

 

Литература 1, 5, 7, 13.


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


Дата добавления: 2014-01-11; Просмотров: 496; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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