Министерство образования Республики Беларусь
Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники»
Факультет инженерно-экономический
Кафедра менеджмента
Дисциплина:
ПООЭБ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОМУ ПРОЕКТУ
НА
ТЕМУ: СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПО РАБОТЕ С БАЗАМИ ДАННЫХ
Минск 2015
Введение
На сегодняшний день использование баз данных (БД) и информационных систем становится неотъемлемой частью функционирования любых организаций и предприятий. В связи с этим большую актуальность приобретает освоение принципов построения и эффективного применения соответствующих технологий и программных продуктов: систем управления базами данных (СУБД), CASE-систем автоматизации проектирования, средств администрирования и защиты баз данных и других.
В качестве объектов исследования были выбраны такие СУБД как Oracle (разработчик компания Oracle), MS SQL Server (разработчик компания Microsoft), Informix DynamicServer (компания IBM).Эти СУБД производятся компаниями, которые являются основными производителями таких систем обработки и хранения данных. А сами эти СУБД являются наиболее распространёнными. Вследствие чего, изучение этих систем представляет большой интерес.
Предметом исследования является рассмотрение наиболее популярных СУБД и выбор наиболее прибыльной для предприятий.
Целью исследования является нахождение наиболее прибыльной и оптимальной СУБД, анализируя наиболее распространённые СУБД и показывая их преимущества.
Задачи исследования: сравнение доступности администрирования рассматриваемых СУБД, функционала, стоимости обслуживания, производительности, наличия собственных уникальных технологий.
Методы исследования: сравнение определённых
показателей рассматриваемых СУБД.
Раздел 1. Теоретические основы
.1 Понятие “база данных” и общая
классификация
База данных - это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств.
Сами же базы данных по своей классификации делятся на несколько типов:
по характеру хранимой информации на фактографические (картотеки) и документальные (архивы);
по способу хранения данных на централизованные (хранятся на одном компьютере) и распределённые (используются в локальных и глобальных компьютерных сетях);
по структуре организации данных на табличные (реляционные), объектно-ориентированные, гибридные и иерархические.
Информация в базах данных структурирована на
отдельные записи, которыми называют группу связанных между собой элементов
данных. Характер связи между записями определяет два основных типа организации
баз данных: иерархический и реляционный.
1.2 Классификация БД по структуре организации данных
В иерархической базе данных записи
упорядочиваются в определенную последовательность, как ступеньки лестницы, и
поиск данных может осуществляться последовательным «спуском» со ступени на
ступень. Иерархическая база данных по своей структуре соответствует структуре
иерархической файловой системы.
Рисунок 1 - Пример иерархической
базы данных
Реляционная база данных, по сути,
представляет собой двумерную таблицу. Столбцы таблицы называются полями: каждое
поле характеризуется своим именем и топом данных. Поле БД - это столбец
таблицы, содержащий значения определенного свойства. Строки таблицы являются
записями об объекте. Запись БД - это строка таблицы, содержащая набор значения
определенного свойства, размещенный в полях базы данных.
Рисунок 2 - Пример реляционной базы
данных
В реляционной БД используются четыре основных типа полей: числовой, символьный (слова, тексты, коды и т.д.), дата (календарные даты в форме «день/месяц/год»), логический (принимает два значения: «да» - «нет» или «истина» - «ложь»).
Также можно выделить объектно-ориентированные
(ООСУБД) и гибридные базы данных. В объектно-ориентированных базах данных
данные хранятся в виде объектов, что очень удобно. Но на сегодняшний день такие
БД ещё не распространены, т.к. уступают в производительности реляционным.
Рисунок 3 - Пример
объектно-ориентированных баз данных
Цель проектировщиков и разработчиков ООСУБД состояла в том, чтобы предоставить разработчикам информационных приложений механизм управления данными во внешней памяти, который полностью стыковался бы со средствами объектно-ориентированного программирования.
Технология ООСУБД предполагает существование интегрированной языковой среды, которая одновременно позволяет конструировать объектную базу данных, содержащую не только данные, но и программный код (методы объектов), обеспечивающий доступ к этим данным, и код приложения.
Взаимосвязь. Тем самым исчезает разрыв между пассивными данными и активными программами, проект прикладной системы ведётся в рамках единой технологии, что убыстряет его разработку и облегчает последующее сопровождение. Естественно, что при этом должны преследоваться цели сохранения всех преимуществ объектно-ориентированного программирования (уникальная идентификация объектов, инкапсуляция, наследование, полиморфизм и т.д.) и систем баз данных (многопользовательский режим доступа, восстановление после сбоев, управление транзакциями и т.д.).
Гибридные БД совмещают в себе возможности реляционных и объектно-ориентированных, поэтому их часто называют объектно-реляционными. Примером такой СУБД является Oracle, начиная с восьмой версии.
Несомненно, такие БД будут
развиваться в будущем, но пока первенство остается за реляционными структурами.
1.3 Классификация БД по характеру
хранимой информации
Говоря подробнее о классификации баз данных по характеру хранимой информации, мы вы упомянем фактографические и документальные.
В системах фактографического типа в БД хранится информация об интересующих пользователя объектах предметной области в виде «фактов» (например, биографические данные о сотрудниках, данные о выпуске продукции производителями и т.п.). В ответ на запрос пользователя выдается требуемая информация об интересующем его объекте (объектах) или сообщение о том, что искомая информация отсутствует в БД.
В документальных БД единицей хранения является какой-либо документ (например, текст закона или статьи), и пользователю в ответ на его запрос выдается либо ссылка на документ, либо сам документ, в котором он может найти интересующую его информацию.
БД документального типа могут быть организованы по разному: без хранения и с хранением самого исходного документа на машинных носителях. К системам первого типа можно отнести библиографические и реферативные БД, а также БД-указатели, отсылающие к источнику информации. Системы, в которых предусмотрено хранение полного текста документа, называются полнотекстовыми.
В системах документального типа
целью поиска может быть не только какая-то информация, хранящаяся в документах,
но и сами документы. Так, возможны запросы типа «сколько документов было
создано за определенный период времени» и т. п. Часто в критерий поиска в
качестве признаков включаются «дата принятия документа», «кем принят» и другие
«выходные данные» документов.
1.4 Классификация БД по способу
хранения данных
Подробнее говоря о базах данных,
классифицируемых по характеру хранения информации, мы выделим, что
централизованные и распределенные БД предполагают возможность одновременного
обращения нескольких пользователей к одной и той же информации (многопользовательский,
параллельный режим доступа). Это привносит специфические проблемы при их
проектировании и в процессе эксплуатации БД.
Рисунок 4 - Пример централизованной
базы данных
Распределенные БД, кроме того, имеют
характерные особенности, связанные с тем, что физически разные части БД могут
быть расположены на разных ЭВМ, а логически, с точки зрения пользователя, они
должны представлять собой единое целое.
Рисунок 5 - Пример распределённых
баз данных
Программное обеспечение,
предназначенное для работы с базами данных, называется система управления
базами данных (СУБД).
1.5 Понятие “СУБД”
Система управления базами данных - это совокупность языковых и программных средств, которая осуществляет доступ к данным, позволяет их создавать, менять и удалять, обеспечивает безопасность данных и т.д. В общем СУБД - это система, позволяющая создавать базы данных и манипулировать сведениями из них. А осуществляет этот доступ к данным СУБД посредством специального языка - SQL.- язык структурированных запросов, основной задачей которого является предоставление простого способа считывания и записи информации в базу данных.
Итак, простейшая схема работы с
базой данных выглядит примерно так:
Рисунок 6 - Схема работы с базой
данных
1.6 Основные функции СУБД
К основным функция СУБД относятся:1)управление данными во внешней памяти (на дисках), 2) управление данными в оперативной памяти с использованием дискового кэша, 3)журнализация изменений, резервное копирование и восстановление базы данных после сбоев, 4)поддержка языков БД (язык определения данных, язык манипулирования данными).
Управление данными во внешней памяти (на дисках) включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти.
Управление данными в оперативной памяти с использованием дискового кэша, включает в себя поддержку в СУБД собственного набора буферов оперативной памяти с собственной дисциплиной замены буферов. Это обусловлено тем, что практически единственным способом реального увеличения скорости работы СУБД(которая изначально равна скорости устройства внешней памяти) является буферизация данных во внешней памяти.
Журнализация изменений включает в себя, резервное копирование и восстановление базы данных после сбоев включает в себя надежность хранения данных во внешней памяти.Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть: аварийное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя) или аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной.
Поддержка языков СУБД заключается в
поддерживании нескольких специализированных по своим функциям языков. Для
работы с базами данных используются специальные языки, в целом называемые
языками баз данных. В ранних СУБД поддерживалось несколько специализированных
по своим функциям языков. Чаще всего выделялись два языка - язык определения
схемы БД (SDL - SchemaDefinitionLanguage) и язык манипулирования данными (DML -
DataManipulationLanguage).В современных СУБД обычно поддерживается единый
интегрированный язык, содержащий все необходимые средства для работы с БД,
начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с
базами данных. Стандартным языком наиболее распространенных в настоящее время
реляционных СУБД является язык SQL (StructuredQueryLanguage).
1.7 Классификация СУБД по способу
доступа к БД
Также СУБД можно разделить по способу доступа к базам данных на файл-серверные, клиент-серверные и встраиваемые.
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах - недостатком. Примеры: MicrosoftAccess, Paradox, dBase, FoxPro, VisualFoxPro.
Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно.
Принципы. Основной принцип технологии “клиент-сервер” заключается в разделении функций стандартного интерактивного приложения на четыре группы:
функции ввода и отображения данных;
прикладные функции, характерные для предметной области ;
фундаментальные функции хранения и управления ресурсами(базами данных);
служебные функции.
Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Примеры: Oracle, Firebird, Interbase, IBMDB2, Informix, MSSQLServer, SybaseAdaptiveServerEnterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
Встраиваемая СУБД - СУБД, которая
может поставляться как составная часть некоторого программного продукта, не
требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для
локального хранения данных своего приложения и не рассчитана на коллективное
использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде
подключаемой библиотеки. Доступ к данным со стороны приложения может
происходить через SQL либо через специальные программные интерфейсы. Примеры:
OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
1.8 Классификация СУБД по стратегии
работы с внешней памятью
Ещё одним критерием выделения СУБД является стратегия работы с внешней памятью.
СУБД с непосредственной записью - это СУБД, в которых все измененные блоки данных незамедлительно записываются во внешнюю память при поступлении сигнала подтверждения любой транзакции. Такая стратегия используется только при высокой эффективности внешней памяти.