Выбор СУБД для построения информационных систем

Автор: Пользователь скрыл имя, 04 Января 2013 в 13:10, дипломная работа

Краткое описание

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

Файлы: 1 файл

Дипломная работа_выпускная квалификационная работа.doc

— 380.00 Кб (Скачать)

МОСКОВСКИЙ  ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ

(ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ)

 

Кафедра/специализация

«Вычислительные модели технологических  процессов»

 

 

 

 

 

 

 

АНОСОВ  Андрей Александрович

 

 

ВЫБОР СУБД ДЛЯ ПОСТРОЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ

 

 

 

 

Дипломная работа/выпускная квалификационная работа

студента 4 курса

 

 

Направление:     511600 - «Прикладные  математика и физика»

 

Специальность:  511656 - «Математические  и информационные технологии»

 

 

 

 

 

 

 

Научный руководитель:   к.ф.-м.н., с.н.с. Обухов И.А.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Москва - 2001

Аннотация.

 

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

Вводится понятие Информационной Системы, рассматриваются вопросы  специфики и организации таких систем, а также классификация архитектур информационных приложений. Дается обзор файл-серверных, клиент-серверных, Intranet-приложений и складов данных.

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

 

 

 

 

 

Ключевые слова: СУБД, ИС, SQL, OLAP, сервер, клиент, триггер, процедура, запрос, модель данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оглавление:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Введение

 

   Построение информационной  системы - это действительно проблема, которую приходится решать на  большинстве современных предприятий, независимо от того, какого рода бизнесом они занимаются. Термин "информационная система" относится к классу программных продуктов, облегчающих, или "автоматизирующих" ведение бизнеса. Система называется "информационной", если она обеспечивает информационную поддержку бизнеса. Соответствующая программа называется "системой", если она выполняет более одной функции (одним из распространенных примеров являются информационные системы, поддерживающие ведение складского хозяйства: они отслеживают поступление товаров на склад, отпуск товаров покупателю, а также контролируют наличие на складе необходимого количества каждого продукта) [3].

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

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

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

2. Информационные системы

2.1. Общие сведения об информационных  системах

2.1.1. Специфика информационных программных  систем

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

Во-вторых, информационные системы  ориентируются на конечного пользователя, например, банковского клерка. Такие  пользователи могут быть очень далеки от мира компьютеров. Для них терминал, персональный компьютер или рабочая  станция представляют собой всего лишь орудие их собственной профессиональной деятельности. Поэтому информационная система обязана обладать простым, удобным, легко осваиваемым интерфейсом, который должен предоставить конечному пользователю все необходимые для его работы функции, но в то же время не дать ему возможность выполнять какие-либо лишние действия [5].

2.1.2. Организация информационных  систем

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

Традиционным методом организации  информационных систем является двухзвенная  архитектура "клиент-сервер" (рисунок 2.1 [5]).

 

Рис. 2.1. Традиционная двухзвенная архитектура "клиент-сервер"

 

В этом случае вся прикладная часть  информационной системы выполняется  на рабочих станциях системы, а на стороне сервера(ов) осуществляется только доступ к базе данных. Каждая рабочая станция должна обладать достаточным набором ресурсов, чтобы быть в состоянии произвести прикладную обработку данных, поступающих от пользователя и/или из базы данных. Для того, чтобы уменьшить требования к ресурсам клиента, а зачастую и для повышения общей эффективности системы, все чаще применяются трехзвенные архитектуры "клиент-сервер" (рисунок 2.2 [5]). В этой архитектуре, кроме клиентской части системы и сервера(ов) базы данных, вводится промежуточный сервер приложений. На стороне клиента выполняются только интерфейсные действия, а вся логика обработки информации поддерживается в сервере приложений.

 

Рис. 2.2. Трехзвенная архитектура "клиент-сервер" с выделенным сервером приложений

 

Как правило, в основу информационной системы  закладывается реляционная база данных. Несмотря на очевидную привлекательность  объектно-ориентированных (ObjectStore, Objectivity, O2, Jasmin и т.д.) и объектно-реляционных (Illustra, UniSQL) СУБД, в ближайшие годы придется работать с хорошо отлаженными, развитыми, сопровождаемыми системами, поддерживающими стандарт SQL-92 (например, Oracle, Informix, CA-OpenIngres, Sybase, DB2). Просто потому, что должно пройти время, чтобы эти системы устоялись, обрели необходимую надежность, начали опираться на какие-либо стандарты и т.д. [5].

2.2. Общая классификация архитектур  информационных приложений

 

Все подходы к организации информационных систем базируются на общей архитектуре "клиент-сервер". Различие состоит только в том, что делают клиенты и серверы. Тем не менее, широко применяется более узкое разделение на “файл-сервер”, непосредственно “клиент-сервер”, “Intranet”.

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

2.2.1. Файл-серверные приложения

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

 

Рис. 2.3. Классическое представление  информационной системы в архитектуре "файл-сервер"

 

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

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

В целом, в файл-серверной архитектуре  мы имеем "толстого" клиента и  очень "тонкий" сервер в том  смысле, что почти вся работа выполняется  на стороне клиента, а от сервера требуется только достаточная емкость дисковой памяти (рисунок 2.4 [5]).

 

Рис. 2.4. "Толстый" клиент и "тонкий" сервер в файл-серверной архитектуре

 

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

2.2.2. Клиент-серверные приложения

Под клиент-серверным приложением  мы будем понимать информационную систему, работающую по следующей схеме (Рис. 2.5) [5]:

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

 

Рис. 2.5. Общее представление информационной системы в архитектуре "клиент-сервер"

 

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

Поскольку вся работа с БД (выборка, добавление, выполнение триггеров и процедур)  происходит на стороне сервера, то в клиент-серверной организации клиенты могут являться достаточно "тонкими", а сервер должен быть "толстым" настолько, чтобы быть в состоянии удовлетворить потребности всех клиентов (рисунок 2.6 [5]).

Информация о работе Выбор СУБД для построения информационных систем