IBM DB2, ORACLE, MS SQL Server, Informix. Сравнение.
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Oracle8i, IBM DB2, Microsoft SQL Server и Informix сравним их в работе на каждом из основных этапов функционирования: конфигурирование системы, мониторинг, настройка, обработка запросов, разработка серверных и клиентских модулей. Oracle8i. Пакет Oracle8i, наделенный самым развитым набором функций для работы с языком Java и доступа к данным через Интернет, системой оптимизации одновременного доступа. Единственным недостатком данной СУБД является сложность администрирования, однако все затраты на ее внедрение и освоение в последствии окупятся эффективной и надежной работой. Среди основных свойств СУБД Oracle следует отметить такие, как: Высочайшая надежность. Возможность разбиения крупных баз данных на разделы (large-database partition), что дает возможность эффективно управлять гигантскими гигабайтными базами; Наличие универсальных средств защиты информации; Эффективные методы максимального повышения скорости обработки запросов; Индексация по битовому отображению; Свободные таблицы (в других СУБД все таблицы заполняются сразу при создании); Распараллеливание операций в запросе. Наличие широкого спектра средств разработки, мониторинга и администрирования. Ориентация на интернет технологии. Решения, не уступающие разработкам Oracle можно найти только в DB2 фирмы IBM. Ориентация на интернет технологии - основной девиз современных продуктов Oracle. Фирма Oracle придерживается принципа, что всеми важными функциями необходимо управлять из единого центра, поэтому предлагаемый модуль interMedia предоставляет в распоряжение пользователей самые передовые возможности для работы с мультимедийными объектами: Очень развитые средства для обработки аудио клипов; Неподвижных изображений; Видеофрагментов; Географических данных (с целым набором функций связанных с определением местонахождения входящих в состав модуля Locator ). В Oracle8i реализуются лучшие на сегодняшний день средства для объектно-ориентированного конструирования баз данных, в том числе табличные структуры, допускающие наследование свойств и методов других табличных объектов БД, что позволят избежать ошибок при построении БД и облегчает их обслуживание. Также необходимо отметить, что разработанная фирмой Oracle система оптимизации одновременного доступа (multiversioning concurrency) является одной из важнейших характеристик архитектуры Oracle (подобная функция есть лишь в СУБД InterBase компании InterBase компании Inprise). Данная функция позволяет исключить ситуацию, когда одному пользователю приходится ждать, пока другой завершит изменения в содержимое баз данных (т.е. в Oracle отсутствуют блокировки на чтение). Эта функция позволяет СУБД Oracle8i выполнять за секунду больше транзакций в расчете на одного пользователя, чем любая другая база данных. По уровню производительности при работе в WEB среде под LINUX Oracle занимает почетное второе место после СУБД MySQL, при этом значительно превосходя все другие СУБД по надежности и безопасности.
СУБД Microsoft SQL Server: простота администрирования, возможность подключения к Web, быстродействие и функциональные возможности механизма сервера СУБД, наличие средств удаленного доступа, В комплект средств административного управления данной СУБД входит целый набор специальных мастеров и средств автоматической настройки параметров конфигурации. Также данная БД оснащена замечательными средствами тиражирования, позволяющими синхронизировать данные ПК с информацией БД и наоборот. Входящий в комплект поставки сервер OLAP дает возможность сохранять и анализировать все имеющиеся у пользователя данные. В принципе данная СУБД представляет собой современную полнофункциональную база данных, которая идеально подходит для малых и средних организаций. Необходимо заметить, что SQL Server уступает другим рассматриваемым СУБД по двум важным показателям: программируемость и средства работы. При разработке клиентских БД приложений на основе языков Java, HTML часто возникает проблема недостаточности программных средств SQL Server и пользоваться этой СУБД будет труднее, чем системами DB2, Informix, Oracle или Sybase. Общемировой тенденцией в XXI веке стал практически повсеместный переход на платформу LINUX, а SQL Server функционирует только в среде Windows.
IBM DB2 СУБД IBM DB2 - результат почти 30-х опытно-конструкторских и исследовательских работ фирмы IBM. Последнюю на сегодня версию данной СУБД (6.х) отличает один из наиболее продуманных наборов средств управления и оптимизации и механизм БД, допускающий наращивание от портативного ПК с Windows 95 до целого кластера больших ЭВМ S/390, работающих под управлением OS/390. Пакет DB2 выпускается в двух редакциях: DB2 Workgroup и DB2 Enterprise Edition. В данной СУБД реализованы все известные по предшествующим версиям DB2 новаторские технологии механизма БД, такие, как распараллеливание обработки запроса, полный набор средств тиражирования, сводные таблицы запросов для повышения производительности БД, возможности объектно-ориентированного конструирования баз данных и средства языка Java. К этому надо добавить, что система DB2 оснащена полым набором мультимедиа-расширений, позволяющих сохранять текст, звук и видео- фрагменты, изображения и географические данные и манипулировать ими. Можно говорить, что по возможностям масштабирования разработанная специалистами IBM технология кластеризации баз данных не имеет аналогов. Эти расширения существенно облегчают процесс разработки приложений для Web, а так же программ, содержащих фотоизображения и объемные текстовые отчеты. Система DB2 вполне конкурентоспособна и в качестве платформы для разработки приложжений т.к существует средство Stored Procedure Builder - автоматически преобразовывающее оператор SQL в соответствующий класс Java и включающее его в структуру базы данных. В версии DB2 6.1 значительно улучшена функциональная совместимость с другими СУБД: пакет позволяет использовать разработанную Microsoft спецификацию OLE DB, новый стандарт доступа к базам данных. Средства административного управления СУБД DB2, которые в новой версии переписаны на Java и могут быть получены из Web, заслуживают самой высокой оценки. Основными недостатками данной СУБД является относительная сложность администрирования и отсутствие (пока) реализаций под популярные серверные ОС, например LINUX. В данной СУБД благодаря Index Smart-Guide возможно осуществлять настройку, формируя оптимальные индексы для заданного числа обращений, характеризующего типичную нагрузку на БД. DB2- единственный пакет позволяющий генерировать сводные таблицы, что значительно эффективность работы СУБД в качестве хранилищ данных. Сводная таблица - это временная рабочая область, используемая базой данных для хранения ответов на часто поступающие запросы. Ну что ж, можно сказать, что оснащенная новыми функциональными возможностями, а также средствами распараллеливания и возможностями выбора практически любого типа соединения и индексов (кроме разве что растровых индексов), модель DB2 6.1 превращается в самую недорогую из высокопроизводительных систем. Средства административного управления этой СУБД вполне соответствуют уровню решаемых задач, кроме того, она предоставляет исключительно широкие возможности для работы с мультимедиа-данными и для программирования (чего явно недостает системе Microsoft SQL Server).
СУБД от Informix. В последнее время наметился переход от реляционных СУБД к объектно-ориентированным (что явно прослеживается на примере Oracle). Informix также следуя данной концепции анонсировала новое решение СУБД Centaur базирующуюся на реляционной БД Informix Dynamic Server 7.3 и объектно-реляционной БД Informix Universal Data Option и сочетающую в себе высокое быстродействие Dynamic Server при работе с данными с универсальностью и мультимедиа функциями Universal Data Option. Данная реализация предназначена для разработки интернет систем. Предположительно данная СУБД будет обладать гибкой средой разработки, обладающей наращиваемостью, соответствующей характерным для Интернета интенсивным нагрузкам, и средствами работы с новыми типами данных, которые с развитием Web стали использоваться повсеместно. Реализованные в новой системе средства Java позволят разработчикам создавать на этом языке хранимые процедуры, пользовательские программы и компоненты DataBlades, которые в Informix называют заказными расширениями базы данных. С точки зрения клиентов Inforix, это станет большим шагом вперед, поскольку до настоящего времени при работе с DataBlades они могли пользоваться только языком Си и SPL, внутренним языком фирмы Informix для написания хранимых процедур. Кроме того, пакет Centaur будет оснащен встроенными средствами обработки объектов ActiveX. Это даст возможность, к примеру, создавать хранимые процедуры БД на языке Visual Basic; правда, для этого нужно, чтобы пакет Centaur выполнялся в среде Windows NT. Centaur будет представлять собой надстройку Informix Dynamic Server и работать с традиционным для этого пакета форматом БД, так что в распоряжении пользователей останутся все прежние функции, а модернизация системы до
уровня новой версии не будет сопряжена с большими сложностями. Кроме того, в пакете Centaur будут сохранены все возможности конструирования и программирования, благодаря которым система Informix Universal Server признана выдающимся техническим достижением. Новая система будет оснащена средствами объектно-ориентированного конструирования баз данных, создания специализированных таблиц и программ индексирования; в ее состав войдет позволит пользователям встраивать в запросы собственные функции и не полагаться исключительно на стандартные средства SQL. Выводы. Рассмотрев основные характеристики архитектур построения АИС, серверных операционных систем и СУБД в дальнейшем в качестве архитектуры АИС мы выберем архитектуру интернет/интранет, в качестве серверной ОС Linux, в качестве СУБД Oracle 8i. В сводной таблице представлены сравнительные характеристики двух наиболее распространенных на сегодня решений на базе Microsoft SQL Server 7.0 (на NT) и Oracle8i (на Unix, Linux).
2)CASE – средства проектирования данных и баз данных. Продукты IBM Rational (Rational Rose). Использование универсального языка моделирования UML при проектировании баз данных.
CASE-средства позволяют автоматизировать создание информационных систем на протяжение всего жизненного цикла. Имеются CASE-средства для моделирования, проектирования, разработки, тестирования, постороения отчетов, управления версиями программного продукта и другие.Например ERwin - средство концептуального моделирования БД, использующее методологию IDEF1X. ERwin реализует проектирование схемы БД, генерацию ее описания на языке целевой СУБД (ORACLE, Informix, Ingres, Sybase, DB/2, Microsoft SQL Server, Progress и др.) и реинжиниринг существующей БД. ERwin выпускается в нескольких различных конфигурациях, ориентированных на наиболее распространенные средства разработки приложений 4GL.
BPwin - средство функционального моделирования, реализующее методологию IDEF0. BPwin может генерировать отчеты непосредственно в формате MS Excel и Word для последующей обработки и использования в других приложениях.
IBM Rational Rose — популярное средство визуального моделирования, которое считается стандартом де-факто среди средств визуального проектирования приложений. Этот продукт входит в состав пакета IBM Rational Suite и предназначен для моделирования программных систем с использованием широкого круга инструментальных средств и платформ.
Являясь простым и мощным решением для визуальной разработки информационных систем любого класса, Rational Rose позволяет создавать, изменять и проверять корректность модели.
Rational Rose объединяет команду разработчиков на базе универсального языка моделирования UML, который определяет стандартную графическую символику для описания архитектуры ПО. Любые участники проекта — аналитики, специалисты по моделированию, разработчики и другие — могут использовать модели, построенные в Rational Rose, для большей эффективности создания конечного продукта.
Для бизнес-аналитиков средство Rational Rose дает возможность детально описать и проанализировать бизнес-процессы данной предметной области. Системные аналитики, используя указанные описания, смогут разработать необходимый функционал ИС, который максимально удовлетворит запросы заказчика. Для архитекторов средство Rational Rose будет полезно при создании мощной и гибкой архитектуры системы. Для аналитиков, специализирующихся в области разработки баз данных, Rational Rose даст возможность визуально проектировать и генерировать базы данных любого размера. Таким образом, можно создавать базы данных Microsoft SQL Server, Oracle, Sybase SQL Anywhere, IBM DB2 и любые другие, которые поддерживают возможность запуска скриптов стандарта ANSI SQL. Rational Rose предоставляет огромные возможности для проектирования ИС с использованием лучших архитектурных принципов. С помощью инструмента можно визуализировать, анализировать и уточнять требования к создаваемому продукту. Способности описывать графический интерфейс отдельно от бизнес-логики приводят в конечном итоге к лучшим результатам на уровне всего проекта. Rational Rose является ведущим инструментом визуального моделирования в программной индустрии, благодаря полноценной поддержке UML и многоязыковой поддержке командной разработки. Инструмент полностью поддерживает компонентно-ориентированный процесс создания ИС. проектирование реляционных баз данных в среде UML дает одно существенное преимущество: можно выполнить весь проект создания информационной системы на основе одного общего инструмента. в контексте проектирования реляционных БД структурные методы проектирования, основанные на использовании ER-диаграмм, и объектно-ориентированные методы, основанные на использовании языка UML, различаются, главным образом, лишь терминологией. ER-модель концептуально проще UML, в ней меньше понятий, терминов, вариантов использования. Язык UML принадлежит объектному миру. Этот мир гораздо сложнее реляционного мира. Поскольку UML может использоваться для унифицированного объектно-ориентированного моделирования всего, что угодно, в нем содержится масса различных понятий, терминов и вариантов использования, совершенно избыточных с точки зрения проектирования реляционных БД.
3)Моделирование списков средствами реляционной СУБД. «Опасности» при манипулировании отношениями.
Список-Структура данных, представляющая собой логически связанную последовательности записей (элементов списка);Связанные со “
структурой ” и “списком” понятия: Цепной список, связанный список - Список данных, в котором порядок элементов списка задан посредством указателей, включенных в их запись; Подсписок [sublist ] - Ветвь списковой структуры, представляющая собой отдельный цепной список, на который имеется указатель от одного из элементов цепного списка вышестоящего уровня иерархии в данной структуре; Цепная структура - Структура цепного списка; Ассоциативная (ассоциативно-адресная) структура - Совокупность цепного списка и всех связанных с ним подсписков. Различают объектные и признаковые списковые структуры; Однородная структура - Структура, состоящая из однотипных элементов; Комбинированная структура - Структура данных, полученная путем объединения (композиции) нескольких исходных структур, Очевидно, что, несмотря на разнообразие допустимых значений атрибута, не все из них являются допустимыми. Например, год издания должен быть целым числом, номер книги – неотрицательным целым. Таким образом, каждый атрибут имеет свой тип, который ограничивает множество принимаемых атрибутом значений. Помимо ограничений типа, на значения атрибутов могут накладываться дополнительные ограничения. Подмножество значений данного типа, допустимых для данного атрибута, называется доменом. В некоторых случаях определить домен довольно легко; например, для атрибута «пол» человека достаточно перечислить два допустимых значения. В случае с годом издания задача немного сложнее, но тоже решаема. Не труднее определить домен для атрибута «номер в каталоге» книги: очевидно, что это должно быть положительное целое число, и при нумерации по порядку маловероятно, что для личной библиотеки оно превысит 10.000. Таким образом, если тип – это физическая характеристика множества значений атрибута, допускающая четкое формальное определение, то домен – скорее логическое понятие, иногда допускающее интуитивное описание. Отношение - это множество кортежей, соответствующих одной схеме отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Отношение определяется заголовком, который представляет собой множество атрибутов. Например, для нашего простейшего примера схема выглядит следующим образом: Книга(Номер_книги, Авторы, Название, Издательство, Год_издания) Примечание. Строго говоря, для каждого из атрибутов следовало бы указывать его домен, т.е. представлять атрибут в виде пары <Имя_атрибута: Имя_домена>; однако на практике зачастую имя атрибута однозначно определяет одноименный домен, и запись можно упростить.
Тело отношения R является множеством упорядоченных наборов вида (a1, a2, … an), где каждое ai принадлежит множеству Ai. Подобные наборы принято называть кортежами. Следует заметить, что, хотя кортежи весьма напоминают строки таблицы, а тело отношения – саму таблицу, полной аналогии здесь нет. По своей природе кортежи не являются упорядоченными. Операции, допустимые над отношениями. Мы ввели математический аппарат для того, чтобы иметь возможность не только определить данные, но и манипулировать ими. Чтобы иметь возможность обрабатывать данные, нужно вооружиться набором операций над отношениями. Эти операции используют отношения в качестве операндов, и результатом их также является отношение. Логично будет разделить их на две группы операций: теоретико-множественные и собственно реляционные.