4.Реализация
языка запросов. Все современные системы
совместимы со стандартным языком доступа
к данным SQL-92, однако многие из них реализуют
те или иные расширения данного стандарта.
В
настоящее время язык SQL является общепринятым
стандартом при работе с реляционными
системами управления базами данных. Язык
SQL был официально утвержден в качестве
промышленного стандарта организациями
по стандартизации ANSI (American National Standard Institute)
и ISO/IEC (International Standards Organizations / International Electromechanical
Commissions). Последний стандарт, опубликованный
ANSI и ISO, часто называется SQL92, также называемый
SQL2. Официальное название стандарта такое:
1.ANSI
X3.135-1992 «Database Language SQL»;
2.ISO/IEC
9075: 1992, «Database Language SQL».
Стандартный
язык SQL был задуман как язык запросов
и команд, а не как язык программирования.
В 1996 году была принята дополнительная
часть стандарта, расширяющая возможности
стандартного языка SQL и предоставляющая
пользователям средства создания сложных
программных конструкций. Это дополнение
известно как ISO/IEC 9075-5:1996.
В
стандарте ANSI команды SQL объединены по
группам, которые называются подразделами:
1.
Язык определения данных (DDL —
Data Definition Language). В эту группу входят команды,
предназначенные для создания, модификации
и удаления объектов баз данных, таких
как таблицы и представления (представления
– это виртуальные таблицы, содержимое
которых формируется запросом). К командам
этой группы также относятся и команды
управления доступом пользователей к
объектам базы данных;
2.
Язык манипулирования данными
(DML — Data Manipulation Language). Эта группа
содержит команды, используемые
для манипулирования данными
в таблицах и представлениях.
То есть с помощью команд этой группы выполняется
выборка данных, вставка новых, изменение
и удаление существующих;
3.
Команды управления транзакциями
(Transaction Control Statement). Транзакция –
неделимая с точки зрения воздействия
на базу данных группа операторов,
выполняющихся как единое целое, переводящая
базу данных из одного целостного состояния
в другое. Команды, входящие в эту группу,
рассматриваются совместно с командами
манипулирования данными и позволяют
контролировать изменение данных;
4.
Команды управления соединением
(Session Control Statement). С помощью команд
этой группы можно управлять
свойствами соединения;
- Команды управления
системой (System Control Statement). Команды этой
группы позволяют управлять свойствами
самой СУБД. Однако не в каждой СУБД для
этого используются собственно команды.
Например, в Microsoft SQL Server эта задача решается
с помощью хранимых процедур, изменяющих
значения в системных таблицах.
Любая
СУБД поддерживает язык определения
данных и язык манипулирования данными.
Одной
из целей, стоявших при разработке стандартов
языка SQL, было преодоление несовместимости
диалектов SQL, используемых различными
производителями СУБД. Но, пожалуй,
сейчас не найдется ни одной коммерческой
СУБД, которая бы не отходила от стандарта
языка SQL, хотя реализованные в этих СУБД
варианты языка SQL часто полностью соответствуют
стандарту ANSI SQL92. Уход от стандарта объясняется
тем, что производители СУБД снабжают
свои модификации языка SQL множеством
различных дополнений, расширяющих возможности
пользователя как при работе с данными,
так и с объектами баз данных и самой СУБД.
1.2.2. Особенности
архитектуры и функциональные возможности
- Мобильность.
Мобильность – это независимость
системы от среды, в которой она
работает. Средой в данном случае является
как аппаратура, так и программное обеспечение
(операционная система).
- Масштабируемость.
При выборе СУБД необходимо учитывать,
сможет ли данная система соответствовать
росту информационной системы, причем
рост может проявляться в увеличении числа
пользователей, объема хранимых данных
и объеме обрабатываемой информации.
- Распределенность.
Основной причиной применения информационных
систем на основе баз данных является
стремление объединить взгляды на всю
информацию организации. Самый простой
и надежный подход - централизация хранения
и обработки данных на одном сервере. К
сожалению, это не всегда возможно и приходится
применять распределенные базы данных.
Различные системы имеют разные возможности
управления распределенными базами данных.
- Сетевые возможности.
Многие системы позволяют использовать
широкий диапазон сетевых протоколов
и служб для работы и администрирования.
1.2.3.
Контроль работы системы
- Контроль
использования памяти компьютера. Система
может иметь возможность управления
использованием, как оперативной
памяти, так и дискового пространства.
Во втором случае это может выражаться,
например, в сжатии баз данных, или удалении
избыточных файлов.
- Автонастройка.
Многие современные системы включают
в себя возможности самоконфигурирования,
которые, как правило, опираются на результаты
работы сервисов самодиагностики производительности.
Данная возможность позволяет выявить
слабые места конфигурации системы и автоматически
настроить ее на максимальную производительность.
1.2.4. Особенности
разработки приложений
Многие
производители СУБД выпускают также
средства разработки приложений для своих
систем. Как правило, эти средства позволяют
наилучшим образом реализовать все возможности
сервера, поэтому при анализе СУБД стоит
рассмотреть также и возможности средств
разработки приложений.
Средства
проектирования. Некоторые системы
имеют средства автоматического проектирования,
как баз данных, так и прикладных программ.
Средства проектирования различных производителей
могут существенно различаться.
Многоязыковая
поддержка. Поддержка большого количества
национальных языков расширяет область
применения системы и приложений, построенных
на ее основе.
Возможности
разработки Web-приложений. При разработке
различных приложений зачастую возникает
необходимость использовать возможности
среды Internet. Средства разработки некоторых
производителей имеют большой набор инструментов
для построения приложений под Web.
Поддерживаемые
языки программирования. Широкий
спектр используемых языков программирования
повышает доступность системы для
разработчиков, а также может
существенно повлиять на быстродействие
и функциональность создаваемых приложений.
1.2.5.
Производительность
- Рейтинг TPC
(Transactions per Cent). Для тестирования производительности
применяются различные средства, и существует
множество тестовых рейтингов. Одним из
самых популярных и объективных является
TPC-анализ производительности систем.
Фактически TPC анализ рассматривает композицию
СУБД и аппаратуры, на которой эта СУБД
работает. Показатель TPC – это отношение
количества запросов обрабатываемых за
некий промежуток времени к стоимости
всей системы.
- Возможности
параллельной архитектуры. Для обеспечения
параллельной обработки данных существует,
как минимум, два подхода: распараллеливание
обработки последовательности запросов
на несколько процессоров, либо использование
нескольких компьютеров-клиентов, работающих
с одной БД, которые объединяют в так называемый
параллельный сервер.
- Возможности
оптимизирования запросов. При использовании
непроцедурных языков запросов их выполнение
может быть неоптимальным. Поэтому необходимо
произвести процесс оптимизации запросов,
т.е. выбрать такой способ выполнения,
когда по начальному представлению запроса
путем его синтаксических и семантических
преобразований вырабатывается процедурный
план выполнения запроса, наиболее оптимальный
при существующих в базе данных управляющих
структурах.
1.2.6.
Надежность
Понятие
надежности системы имеет много
смыслов – это и сохранность
информации независящая от любых
сбоев, и безотказность работы системы
в любых условиях, и обеспечение
защиты данных от несанкционированного
доступа.
- Восстановление
после сбоев. При возникновении программных
или аппаратных сбоев целостность, да
и работоспособность всей системы может
быть нарушена. От того, как эффективно
спланирован механизм восстановления
после сбоев, зависит жизнеспособность
системы.
- Резервное
копирование. В результате аппаратного
сбоя может быть частично поврежден или
выведен из строя носитель информации
и тогда восстановление данных невозможно,
если не было предусмотрено резервное
копирование базы данных, или ее части.
Резервное копирование спасает и в ситуациях,
когда происходит логический сбой системы,
например при ошибочном удалении таблиц.
Существует множество механизмов резервирования
данных (хранение одной или более копий
всей базы данных, хранение копии ее части,
копирование логической структуры и т.д.).
Зачастую в систему закладывается возможность
использования нескольких таких механизмов.
- Откат изменений.
При выполнении транзакции применяется
простое правило – либо транзакция выполняется
полностью, либо не выполняется вообще.
Это означает, что в случае сбоев, все результаты
недоведеных до конца транзакций должны
быть аннулированы. Механизм отката может
иметь различное быстродействие и эффективность.
- Многоуровневая
система защиты. Информационная система
организации почти всегда включает в себя
секретную информацию, поэтому для предотвращения
несанкционированного доступа используется
служба идентификации пользователей.
Уровень защиты может быть различным.
Кроме непосредственной идентификации
пользователей при входе в систему может
использоваться также механизм шифрования
данных при передаче по линиям связи.
1.2.7.
Требования к рабочей среде
Среди
требований к рабочей среде выделяют следующие
аспекты работы СУБД:
- Поддерживаемые
аппаратные платформы.
- Минимальные
требования к оборудованию.
- Максимальный
размер адресуемой памяти. Поскольку почти
все современные системы используют свою
файловую систему, немаловажным фактором
является то, какой максимальный объем
физической памяти они могут использовать.
- Операционные
системы, под управлением которых способна
работать СУБД.
1.2.8.
Смешанные критерии, стоимость СУБД
- Качество
и полнота документации. К сожалению,
не все системы имеют полную и подробную
документацию.
- Локализованность.
Возможность использования национальных
языков не во всех системах реализована
полностью.
- Модель формирования
стоимости. Как правило, производители
СУБД используют определенные модели
формирования стоимости. Например, стоимость
одного и того же продукта может существенно
изменяться в зависимости от того, сколько
пользователей будет с ним работать.
- Стабильность
производителя.
- Распространенность
СУБД.
2. Сравнение
характеристик и возможностей
различных СУБД.
2.1 СУБД
Oracle
Пакет
Oracle наделен самым развитым набором
функций для работы с языком Java
и доступа к данным через Интернет,
системой оптимизации одновременного
доступа. Среди основных свойств
СУБД Oracle следует отметить такие, как:
- высочайшая
надежность;
- возможность
разбиения крупных баз данных на разделы
(large-database partition), что дает возможность эффективно
управлять гигантскими гигабайтными базами;
- наличие универсальных
средств защиты информации;
- эффективные
методы максимального повышения скорости
обработки запросов;
- индексация
по битовому отображению;
- свободные
таблицы (в других СУБД все таблицы заполняются
сразу при создании);
- распараллеливание
операций в запросе;
- наличие широкого
спектра средств разработки, мониторинга
и администрирования;
- ориентация
на интернет технологии.
Ориентация
на интернет технологии — основной
девиз современных продуктов Oracle.
В этой связи можно отметить пакеты
InterMedia, обеспечивающие обработку данных
в мультимедийных форматах, и Jserver, встроенное
средство для работы с языком Java, которое
объединяет возможности языка Java с возможностями
реляционных баз данных (возможность составлять
на языке Java не только внутренние программы
для баз данных (хранимые процедуры и триггеры),
но и разрабатывать компоненты Enterprise JavaBeans
и даже запустить их на сервере).