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

Уральский Государственный Технический Университет – УПИ имени Б.Н. Ельцина

Металлургический факультет

Кафедра теплофизики и информатики в металлургии

















Реферат

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







Исполнитель:

студент группы Мт-190503 Свиткин В.Г.



Преподаватель:

Перминов А.И.















Екатеринбург, 2009


Оглавление



		Введение

		Глава 1. Система управления базами данных как составная часть автоматизированного банка данных.

		Глава 2. Структура и функции системы управления базами данных

		Глава 3. Классификация СУБД по способу доступа к базе данных

		Глава 4. Язык SQL в системах управления базами данных

		Глава 5. СУБД Microsoft SQL server

		Глава 6. СУБД Oracle

		Заключение

		Список литературы

	


Введение



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

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

Мы рассмотрим структуру СУБД, основные их функции и их классификацию. Также мы сопоставим возможности двух конкретных СУБД: Microsoft SQL Server и Oracle. При этом большое внимание будем уделять использованию этих программ в информационных системах крупных предприятий и организаций.


Глава 1. Система управления базами данных как составная часть автоматизированного банка данных



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

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

		одну или несколько баз данных;

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

		персонал, обеспечивающий работу банка данных.

База данных – это совокупность определенным образом организованных данных, хранящихся в запоминающих устройствах ЭВМ. Обычно данные хранятся на жестком диске сервера организации.

В общем случае данные в базе данных (по крайней мере, в больших системах) являются интегрированными и разделяемыми. Эти два аспекта, интеграция и разделение данных, представляют собой наиболее важные преимущества использования банков данных на "большом" оборудовании и, по меньшей мере, один из них— интеграция — является преимуществом их применения и на "малом" оборудовании.

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

Под понятием разделяемости данных подразумевается возможность использования несколькими различными пользователями отдельных элементов, хранимых в базе данных. Имеется в виду, что каждый из пользователей сможет получить доступ к одним и тем же данным, возможно, даже одновременно (параллельный доступ). Такое разделение данных, с параллельным или последовательным доступом, частично является следствием того факта, что база данных имеет интегрированную структуру.

Одним из следствий упомянутых выше характеристик базы данных (интеграции и разделяемости) является то, что каждый конкретный пользователь обычно имеет дело лишь с небольшой частью всей базы данных, причем обрабатываемые различными пользователями части могут произвольным образом перекрываться. Иначе говоря, каждая база данных воспринимается ее различными пользователями по-разному. Фактически, даже те два пользователя базы данных, которые работают с одними и теми же частями базы данных, могут иметь значительно отличающиеся представления о них.

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

каждый элемент таблицы — один элемент данных

все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.)

каждый столбец имеет уникальное имя

одинаковые строки в таблице отсутствуют

порядок следования строк и столбцов может быть произвольным

Такая модель хранения данных обеспечивает удобство использования базы данных на ЭВМ. Учитывая, что таблицы базы данных могут быть связаны определенными отношениями, такая модель обеспечивает целостность данных и отсутствие избыточности хранения. Поэтому она и используется в большинстве современных баз данных.

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

		иерархической

		сетевой

		реляционной

		объектно-реляционной

		объектно-ориентированной

Мы будем рассматривать реляционные системы управления базами данных.

Персонал, обеспечивающий работу банка данных, это администратор банка данных, а также инженеры и техники, обеспечивающие работу аппаратного обеспечения банка данных.

Таким образом, система управления базами данных является необходимой составной частью банка данных.



Глава 2. Структура и функции системы управления базами данных



СУБД обычно содержит следующие компоненты:

ядро, которое отвечает за управление данными во внешней и оперативной памяти,

процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,

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

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

В связи с этим можно сформулировать основные функции СУБД:

1. Определение данных.

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

2. Манипулирование данными.

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

3. Управление хранением данных и доступом к ним.

СУБД осуществляет программную поддержку хранения данных в запоминающем устройстве ЭВМ и управляет всеми действиями, производимыми с данными.

4. Защита и поддержка целостности данных

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

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

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

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

По степени универсальности различают два класса СУБД:

• системы общего назначения;

• специализированные системы.

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



Глава 3. Классификация СУБД по способу доступа к базе данных



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

Файл-серверные

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

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

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

Клиент-серверные

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

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

Примеры: Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL, ЛИНТЕР.

Встраиваемые

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

Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.

Таким образом, для использования в крупных организациях, в том числе на промышленных предприятиях, больше подходят клиент-серверные СУБД. Мы рассмотрим особенности таких распространенных СУБД, как Oracle и MS SQL Server.



Глава 4. Язык SQL в системах управления базами данных



SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL в его чистом (базовом) виде является информационно-логическим языком, а не языком программирования. Вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений, с учётом которых язык уже вполне может рассматриваться в качестве языка программирования.

SQL основывается на реляционной алгебре.

Язык SQL делится на четыре части:

операторы определения данных (англ. Data Definition Language, DDL)

операторы манипуляции данными (англ. Data Manipulation Language, DML)

операторы определения доступа к данным (англ. Data Control Language, DCL)

операторы управления транзакциями (англ. Transaction Control Language, TCL)

Data Definition Language (DDL) (язык описания данных) - это язык, используемый в компьютерных программах для описания структуры баз данных.

Функции языков DDL определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы - "create" ("создать"), "alter" ("изменить"), "drop" ("удалить"). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.

Языки DDL могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные "расширения" языка.

Data Manipulation Language (DML) (язык управления [манипулирования] данными) - это язык, используемый в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.

Языки DML изначально использовались только компьютерными программами, но с появлением SQL стали также использоваться и людьми.

Функции языков DML определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы - "insert" ("вставить"), "update" ("обновить"), и "delete" ("удалить"). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.

Языки DML могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные "расширения" языка.

Языки DML разделяются в основном на два типа:

Procedural DMLs - описывают действия над данными.

Declarative DMLs - описывают сами данные.

Операторы управления транзакциями (англ. Transaction Control Language, TCL) компьютерный язык и часть SQL, используемый для обработки транзакций.

Транза́кция (англ. transaction) — в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.

Различают обычные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют на много более сложной логики (например, two-phase commit — двухфазный протокол подтверждения успеха). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.

Примеры TCL команд:

COMMIT применяет транзакцию.

ROLLBACK "откатывает" все изменения сделанные транзакцией.

SAVEPOINT делит транзакцию на более мелкие участки.

Язык SQL имеет слудующие особенности:

Преимущества:

Независимость от конкретной СУБД. Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально закладывались на применение по меньшей мере нескольких СУБД (например: система электронного документооборота Documentum может работать как с Oracle, так и с Microsoft SQL Server и IBM DB2). Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.

Наличие стандартов.Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах, например, Core-часть стандарта SQL:2003 представляет собой более 1300 страниц текста.

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

Недостатки:

Несоответствие реляционной модели данных. Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности они указывают на следующие проблемы SQL:

Повторяющиеся строки

Неопределённые значения (nulls)

Явное указание порядка колонок слева направо

Колонки без имени и дублирующиеся имена колонок

Отсутствие поддержки свойства «=»

Использование указателей

Высокая избыточность

В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем Манифесте они излагают принципы СУБД следующего поколения и предлагают язык Tutorial D, который является подлинно реляционным.

Сложность. Хотя SQL и задумывался, как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.

Отступления от стандартов Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.

Сложность работы с иерархическими структурами. Ранее диалекты SQL большинства СУБД не предлагали способа манипуляции древовидными структурами.

Некоторые поставщики СУБД предлагали свои решения. Например, Oracle использует выражение CONNECT BY. В настоящее время в ANSI стандартизована рекурсивная конструкция WITH из диалекта SQL DB2.

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

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

Также доступ к данным, хранящимся в БД, может быть организован с помощью страниц доступа к данным. Эти страницы могут хранится на сервере корпоратианой сети (Intranet), если сервер имеет поддержку страниц доступа к данным. Доступ к этой странице в данном случае осуществляется с помощью протокола http.



Глава 5. СУБД Microsoft SQL server



Одной из самых распространенных СУБД, используемых в крупных организациях, является Microsoft SQL server, СУБД от компании Microsoft. Она использует реляционную модель данных. Microsoft SQL server является клиент-серверной СУБД, что делает ее хорошей для использования в крупных организациях, имеющих мощный сервер. Платформа данных MS SQL Server 2005 включает следующие инструменты для работы с базой данных:

Поддержка структурированных и неструктурированных (XML) данных.

Replication Services : репликация данных для распределённых и мобильных приложений обработки данных, высокая доступность систем, масштабируемый параллелизм со вторичными хранилищами данных для отчётных решений предприятия и интеграция с разнородными системами, включая существующие базы данных Oracle.

Notification Services : развитые возможности уведомлений для разработки и внедрения масштабируемых приложений, способных доставлять персонализированные, своевременные обновления информации множеству соединённых и мобильных устройств.

Integration Services : возможности извлечения, преобразования и загрузки для хранилищ данных и интеграции данных в масштабе предприятия.

Analysis Services : аналитическая обработка в реальном времени (OLAP) для быстрого, сложного анализа больших и смешанных наборов данных, использующая многомерное хранение.

Reporting Services : исчерпывающее решение для создания, управления и доставки как традиционных бумажных отчётов, так и интерактивных, основанных на технологии WWW отчётов.

Инструменты управления : SQL Server включает средства управления для развитого управления и настройки баз данных, также как и тесную интеграцию с такими инструментами, как Microsoft Operations Manager (MOM) и Microsoft Systems Management Server (SMS). Стандартные протоколы доступа к данным существенно уменьшают время, необходимое для интеграции данных SQL Server с существующими системами. В дополнение, поддержка Web служб встроена для обеспечения взаимодействия с другими приложениями и платформами.

Инструменты разработки : SQL Server предлагает интегрированные инструменты разработки для ядра базы данных, извлечения, трансформации и загрузки данных, извлечения информации, OLAP и отчётности, которые тесно интегрированы с Microsoft Visual Studio® для предоставления сквозных возможностей разработки приложений. Каждая главная подсистема SQL Server поставляется со своей собственной объектной моделью и набором API для расширения системы данных в любом направлении, которое уникально для вашего бизнеса.

Особенностью данной СУБД являются следующие средства:

SQL Server Management Studio. SQL Server упрощает управление путём предоставления единой интегрированной консоли управления для мониторинга и управления реляционной базой данных SQL Server, Integration Services, Analysis Services, Reporting Services, Notification Services и SQL Mobile на большом числе распределённых серверов и баз данных. Администраторы баз данных могут выполнять несколько задач одновременно, включая следующие: создание и выполнение запроса, просмотр серверных объектов, управление объектом, отслеживание активности системы и просмотр оперативной справки. SQL Server Management Studio содержит среду разработки для создания, редактирования и управления сценариев и хранимых процедур, используя Transact-SQL, многомерные выражения (MDX), XMLA и SQL Server Mobile Edition. Management Studio легко интегрируется с системой контроля версий. Management Studio также содержит инструменты для планирования задач Агента SQL Server и управления Планами Технического Обслуживания для автоматизации ежедневных задач обслуживания. Объединение задач управления и создания в одном инструменте в соединении со способностью управлять всеми типами серверов обеспечивает улучшенную производительность для администраторов баз данных.

Упреждающий мониторинг и настройка производительности SQL Server предоставляет более 70 новых мер внутренней производительности базы данных и использования ресурсов от памяти, блокировок и планирования до транзакций и операций сетевого и дискового ввода-вывода. Эти Динамические Представления Управления (Dynamic Management Views - DMV) обеспечивают большую прозрачность и видимость состояния базы данных и мощную инфраструктуру для упреждающего мониторинга жизнеспособности и производительности базы данных.

Объекты Управления SQL (SQL Management Objects ) Объекты Управления SQL (SMO) являются новым набором объектов для программирования, которые предоставляет полную функциональность для управления базой данных SQL Server. Фактически, Management Studio построена на Объектах Управления SQL. SMO реализована в виде сборки Microsoft .NET Framework. SMO можно использовать для автоматизации распространённых задач администрирования SQL Server, таких как программное получение конфигурационных настроек, создание баз данных, выполнение сценариев Transact-SQL, создание заданий Агента SQL Server и планирование резервного копирования. Объектная модель SMO является более безопасной, надёжной и масштабируемой заменой Распределённым Объектам Управления (DMO), которые входят в состав предыдущих версий SQL Server.

Выделенное административное соединение SQL Server привносит выделенное административное соединение для доступа к серверу даже если он не отвечает или недоступен по иной причине. Это позволяет вам выполнять диагностические функции или операторы Transact-SQL для разрешения проблем на сервере. Административное соединение активируется членами фиксированной серверной роли sysadmin и доступно только через утилиту командной строки SQLCMD либо локально, либо с удалённой машины.

Поддержка Web служб В SQL Server можно разрабатывать Web службы XML в уровне базы данных, используя SQL Server в качестве слушателя HTTP. Это даёт новый способ доступа к данным приложениям, которые сосредоточены вокруг Web служб. В SQL Server 2005 можно использовать HTTP для прямого доступа к SQL Server, без применения слушателя промежуточного уровня, такого как Microsoft Internet Information Services (IIS). SQL Server предоставляет интерфейс Web службы для выполнения SQL выражений и вызова функций и процедур. Результаты запросов возвращаются в XML формате и здесь можно воспользоваться преимуществами инфраструктуры Web служб Visual Studio.

Важно отметить, что MS SQL Server рассчитана на работу именно на платформе Windows. Это ограничивает ее использование в различных сферах деятельности. Кроме того, компания Microsoft ориентируется на снижение стоимости СУБД, что приводит к уменьшению эффективности средств обеспечения надежности и безопасности. Это является важным фактором при выборе СУБД для организации.



Глава 6. СУБД Oracle



Другой распространенной СУБД является система от компании Oracle. Данная СУБД также является клиент-серверной, следовательно она предназначена для компаний, имеющих информационную сеть с мощным сервером. Эта СУБД использует тоже реляционную модель данных, но содержит элементы объектно-ориентированной модели данных. На 2009 год самой новой является версия Oracle 11g Release 2. Рассмотрим особенности этой программы.

Масштабируемость приложений. Модуль Oracle Real Application Clusters, следующее поколение продукта Oracle Parallel Server, обеспечивает прозрачную масштабируемость приложений за счет быстрого и эффективного совместного использования кластерного кэша для согласованного доступа к данным. Oracle Real Application Clusters предоставляет следующие возможности:

Коробочные приложения, которые можно масштабировать практически линейно и совершенно прозрачно

Совместимость со всеми приложениями без необходимости их перестройки

Быстрое увеличение кластеров, возможность быстрого добавления узлов и дисков

Аварийное восстановление Oracle Data Guard обеспечивает клиентов системой быстрого восстановления из аварийных ситуаций. Операции восстановления в Data Guard предусматривают возможные случаи, просты в использовании и полностью автоматизированы.

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

	Логическая резервная база данных В Oracle Data Guard появился новый механизм резервирования базы данных – логическая резервная база данных (Logical Standby Database), отличающаяся от физической способом реализации. Материалом для обеих резервных баз данных служат журналы операций, но вместо прямого их применения логическая база данных экстраполирует из них операторы SQL и выполняет их на резервном сервере, как обычные SQL-команды. В итоге резервная база данных доступна для нормальных операций чтения и записи.

	Передача журналов без потери данных Oracle Data Guard обладает способностью синхронно или асинхронно переписывать обновления журналов операций напрямую из основной базы данных в резервную. Это позволяет предложить всеобъемлющее решение аварийного восстановления без опоры на сторонние продукты для хранения оперативных копий журналов восстановления. Таким образом, в любой ситуации клиенты могут быть уверены, что их резервная база данных сохранит все операции, сделанные вплоть до момента сбоя.

	Data Guard Broker Модуль Oracle выполняет функции контроля, управления и автоматизации, необходимые для поддержки логической и физической резервных баз данных. Например, он может восстановить основную базу данных в любую из резервных за одну операцию.

Восстановление после системных сбоев

Система Cache Fusion, обеспечивает быстрое восстановление после сбоя, что приводит к непрерывной доступности данных и приложений.

	Real Application Clusters Кластерная архитектура обеспечивает более высокий уровень доступности, чем одноузловая конфигурация, поскольку устраняется единый источник сбоев – сервер. В кластерной конфигурации с двумя узлами при аварии системы на одном узле приложение продолжит работу на оставшемся.

	Oracle Fail Safe – четырехузловая отказоустойчивая конфигурация для Windows Oracle Fail Safe обеспечивает необходимую для электронного бизнеса непрерывную доступность и защиту от системных сбоев в кластерной архитектуре на базе Windows NT и 2000. Oracle Fail Safe выполняет аварийное восстановление для базы данных и серверов приложений как в двухузловых, так и в четырехузловых кластерах Windows NT и 2000.

	Быстрое восстановление через заданный интервал времени В Oracle применяется технология быстрого восстановления Fast-Start Time-Based Recovery, позволяющая администраторам баз данных задавать требуемый верхний предел для времени восстановления (в секундах). При перезагрузке после сбоя или аварии системы пользователи будут вновь подключены к их приложению не позднее этого времени.

	Снимок состояния системы и возобновление работы  Часто у администраторов баз данных возникает проблема выбора: разобраться в причине сбоя или быстрее восстановить работу системы. С помощью Flash Freeze администратор может сделать «снимок» состояния системы в момент сбоя, быстро перезапустить базу данных, а затем в автономном режиме проанализировать полученные данные.

Восстановление после ошибок пользователей. В Oracle облегчены операции восстановления после ошибок, совершенных пользователями, в том числе последствия неправильных или введенных не в той последовательности команд.

	Oracle Flashback Query Oracle Flashback Query позволяет пользователям и приложениям обращаться к состоянию данных на некоторый момент времени в прошлом. С помощью этого параметра "обратного хода" можно задать дату и время, а затем формировать обычные запросы к данным, которые будут выглядеть так, как они выглядели в указанное время. После обнаружения ошибок можно произвести относительно простые отменяющие действия, которые могут быть выполнены без вмешательства администратора базы данных. Еще более важно, что восстановление не вызывает задержки в работе приложения.

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

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

Уменьшение запланированных задержек. Oracle позволяет все плановые операции по обслуживанию системы выполнять, не приостанавливая ее обычную работу.

	Изменение схемы без закрытия доступа
В Oracle можно переопределять структуры таблиц, даже если они открыты для доступа пользователями и приложениями.

	Реорганизация таблиц и индексов без закрытия доступа
Также Oracle обладает простым механизмом для реорганизации и переопределения самих таблиц, не прерывая доступа к ним. Это снижает запланированные задержки, увеличивает доступность приложений, уменьшает фрагментацию дисков и улучшает производительность.

	Выполнение всех операций с индексом без закрытия доступа 

	В Oracle, все индексы таблиц можно создавать и перестраивать оперативно, не прерывая доступа к ним. Без этого пользователи не могут выполнять свои приложения во время таких операций.

	Динамические параметры базы данных Параметры базы данных в Oracle, задающие объем используемой сервером базы данных памяти, можно менять оперативно, не прерывая доступ. Раньше для изменения таких параметров приходилось переводить базу данных в автономный режим и перезапускать ее, чтобы изменения вступили в силу

Снижение затрат на управление. Oracle упрощает управление обработкой данных с помощью следующих средств:

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

	Интеллектуальное управление ресурсами позволяет администраторам быстрее и точнее определять, сколько времени занимают центральный процессор определенные группы клиентов и легко планировать оптимальное использование ресурсов в периоды пиковой нагрузки. Плюс к этому улучшенное управление памятью позволяет следить за ее использованием и динамически изменять объем, выделяемый для системной области, чтобы оптимизировать производительность базы данных. В Oracle вводится новая концепция управления файлами Oracle Managed Files, использующая стандартные интерфейсы файловой системы для создания и удаления файлов по мере необходимости.

	Настраиваемый мониторинг позволяет администраторам задавать предельные значения или события для проверки показателей работы системы в реальном времени. При возникновении события автоматически выводится соответствующая диагностическая информация. Определяемые пользователем события являются механизмом реализации настраиваемых сценариев в рамках Oracle Enterprise Manager, позволяя контролировать показатели, специфичные для конкретной среды.

Сквозной контроль. Oracle управляет всеми компонентами инфраструктуры Интернета — соединением с клиентом, сервером приложений, базой данных и хостом, помогая эффективнее администрирвать базу данных.

	Модуль Oracle Data Guard обеспечивает защиту от порчи данных, сбоев и аварий, что гарантирует непрерывную доступность данных.

	Модуль Service Level Reports отображает процессы бизнеса в трехмерном виде, предоставляя информацию о состоянии приложений, об отношениях с клиентами, а также о производительности и использовании ресурсов.

Безопасность данных. В Oracle реализован многоуровневый механизм безопасности.

База данных Oracle обеспечивает защиту данных за счет усовершенствованного управления доступом, шифрования базы данных и применения новой технологии тонкого аудита.Виртуальная частная база данных Oracle (Virtual Private Database, VPD) обеспечивает управление доступом пользователей на уровне строк данных (записей БД). Механизм Oracle Label Security расширяет функциональность VPD, управляя доступом к данным на основе меток. Эта технология подходит для ASP, так как с ее помощью в одной и той же базе данных может храниться информация нескольких компаний.В базе данных Oracle предусмотрены средства шифрования данных на основе технологии Oracle Advanced Security при передаче данных из базы и обратно. Встроенные возможности шифрования защищают наиболее ценную информацию даже от привилегированных пользователей, которые могут превысить свои полномочия, а также от злонамеренных пользователей, пытающихся прочесть файлы данных из операционной системы. Тонкий аудит отслеживает действия базы данных, включая операторы, выполняемые пользователями, и возвращаемую информацию. Это предостерегает пользователей от превышения своих полномочий, так как они знают, что все их действия отслеживаются. Широкие возможности аудита также помогают выявить бреши в безопасности. Например, при обращении к секретным областям базы данных обработчик событий может отправить предупреждение администратору. Если действия пользователя будут признаны опасными, сеанс работы с базой данных будет немедленно прерван.

Механизмы безопасности должны учитывать размеры Интернета: поддерживать работу с большим количеством пользователей и быть простыми в управлении. Oracle предлагает несколько решений для построения Интернет-приложений, обеспечивающих безопасность доступа пользователей: улучшенную аутентификацию прокси базы данных, поддержку инфраструктуры открытых ключей (Public Key Infrastructure, PKI) и новые средства однократной сквозной регистрации для доступа к серверам приложений. Совокупность этих функций позволяет предприятиям точно идентифицировать пользователей на всех уровнях сети. Работа ПО промежуточного уровня больше не ограничивается простым подключением Web-пользователя к базе данных. Средства аутентификации на уровне прокси формируют множество масштабируемых малых сессий для работы с базой данных, беря на себя нагрузку по проверке подлинности, что обеспечивает тонкое управление доступом и подробный аудит.

Однократная аутентификация обеспечивается компонентом Login Server для служб порталов на сервере приложений. В итоге для доступа ко всем Web-приложениям предприятия пользователю потребуется лишь одна учетная запись. Для управления полномочиями пользователей системным администраторам достаточно поддерживать один центральный каталог LDAP (Интернет-каталог Oracle). Централизация сведений о полномочиях пользователей не только повышает безопасность, но и снижает затраты на администрирование.База данных Oracle предлагает механизмы совместного использования аппаратного и программного обеспечения несколькими группами пользователей. Раздельное хранение данных каждой группы обеспечивают Virtual Private Database и Oracle Label Security.

Кроме того, СУБД Oracle могут работать под управлением любой операционной системы: как Windows Server, так и Unix, и другие. Это делает ее более гибкой и адаптируемой к любой информационной системе. Столь развитые средства обеспечения надежности и безопасности также способствуют ее распространенности. По статистике, около 53% информационных систем предприятий базируются на Oracle.




Заключение



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




Список литературы



	Власов А.И., С.Л. Лыткин Краткое практическое руководство разработчика информационных систем на базе СУБД Oracle http://www.interface.ru/

	Даммлер М. Microsoft SQL Server 2005 Обзор продукта. http://www.CITForum.ru, 2005

	Дейт. К. Дж. Введение в системы баз данных - Introduction to Database Systems. — 8-е изд. — М.: «Вильямс», 2006.

	Елманова Н., Федоров А. Oracle и Microsoft SQL Server: прошлое, настоящее и будущее. http://www.interface.ru/, 2003

	Информатика: Базовый курс/Под ред. С.В.Симоновича. - СПБ.:Питер,2002. 400 с.

	Системы управления базами данных. http://www.ru.wikipedia.org/

	Фридланд А.Я. Информатика и компьютерные технологии. А.Я. Фридланд, Л.С. Ханамирова.- М.: Астрель. 2003.204 с.