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

Автор работы: Пользователь скрыл имя, 16 Декабря 2013 в 15:21, реферат

Описание работы

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

Файлы: 1 файл

Системы управления БД.doc

— 254.50 Кб (Скачать файл)

 

 

 

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

 

Введение

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

Можно выделить следующие основные функции СУБД:

  • управление данными во внешней памяти;
  • управление буферами оперативной памяти;
  • управление транзакциями;
  • журнализация и восстановление БД после сбоев;
  • поддержание языков БД.

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

Логически в современной  реляционной СУБД можно выделить наиболее внутреннюю часть – ядро СУБД (часто его называют Data Base Engine), компилятор языка БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделяются явно, в других – нет, но логически такое разделение можно провести во всех СУБД.

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

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

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

 

Постановка задачи

Организационно-экономическая  сущность задачи

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

Расчет стоимости пользования  электроэнергией частных энергопотребителей.

Предоставить возможность  работы с информацией по заданному месяцу.

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

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

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

Для каждого потребителя  обеспечить задание произвольного  набора электроприборов, а также  времени их работы.

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

Обеспечить формирование отчетов по заданным параметрам.

Обеспечить автоматическое обновление и сохранение измененных данных.

Обеспечить просмотр информации о структуре БД (содержимого  ее таблиц и связей между ними).

Программа должна иметь  интуитивно понятный графический интерфейс.

Входная информация

Входной информацией  программы является база данных в  формате Sybase SQL Anywhere 5.5 (п. 0). Ее структура которой была создана в Power Designer 6.1, а триггеры и используемые хранимые процедуры – при помощи утилиты Sybase SQL Anywhere под названием Sybase Central.

Сами данные хранятся в шести таблицах (соотношения между ними приводятся в 0).

Постоянная информация задачи

Постоянной информацией  являются:

  • стандартные диалоговые окна, пиктограммы и сообщения средства разработки приложений Power Builder 7.0, хранящиеся в распостраняемых вместе с программой библиотеках Power Builder;
  • стандартные диалоговые окна и сообщения подсистемы ODBC и драйвера СУБД Sybase SQL Anywhere.
  • Вышеуказанные окна и сообщения возникают в ответ на следующие события:
  • передача некорректной информации базе данных (нарушения ссылочной целостности, типов и допустимыз значений данных);
  • ввод некорректных данных в поля редактирования;
  • исключительные системные ситуации.
  • Выходная информация
  • Выходной информацией задачи являются:
  • диаловые окна и формы для редактирования содержимого базы данных;
  • сообщения о возникновении нестандартных ситуаций, а также запросы пользователю на подтверждение выполнения тех или иных действий.

Подробно выходная информация рассмотрена в пунктах 0 и 0.

Вычислительная система

Sybase SQL Anywhere – это новое  название СУБД Watcom SQL фирмы Watcom. Такое  название данная СУБД получила, начиная с версии 5.0. Переименование произошло после объединения компаний Sybase и Powersoft в 1995 году, в результате чего фирма Watcom, как составная часть компании Powersoft, вошла в состав корпорации Sybase Inc

Sybase SQL Anywhere представляет  собой полнофункциональную СУБД на Intel-платформе для мобильных и небольших групп пользователей Данная СУБД позволяет разрабатывать приложения на основе технологии "клиент-сервер" на платформах Windows NT, Windows 95/98, Windows 3.x, OS/2, NetWare, Solaris/Sparc, HP-UX, AIX, DOS и QNX. Рассматриваемая СУБД предназначена для разработки приложений по технологии “клиент-сервер”.

СУБД SYBASE SQL Anywhere является составным элементом системы SYBASE System 11 и ее последующей версии SYBASE System 11.5 Adaptive. Основным элементом этих систем является мощная СУБД SYBASE SQL. Server. Она позволяет хранить огромные объемы информации и обрабатывать запросы к базам данных с применением технологии клиент-сервер. СУБД SYBASE SQL. Server и SYBASE SQL Anywhere взаимно дополняют друг друга. Разработчики SYBASE SQL Anywhere старались достичь максимальной совместимости баз данных, создаваемых этой СУБД, с базами данных SYBASE SQL Server. Именно этим объясняется включение в SQL Anywhere некоторых элементов SYBASE SQL Server.

SYBASE SQL Anywhere может поставляться как в сетевом варианте СУБД, так и автономном варианте. В последнем случае все компоненты СУБД функционируют на том же компьютере, что и приложение. Для приложений не имеет значения, какой вариант СУБД они используют. В рамках локальных сетей взаимодействие с приложениями-клиентами осуществляется посредством таких сетевых протоколов как NetBIOS, TCP/IP и IPX. Базы данных, созданные средствами SQL Anywhere, совместимы с последующими версиями и переносимы между платформами, на которых может функционировать данная СУБД.

SYBASE SQL Anywhere имеет встроенный  интерфейс с рядом программных  систем, например таких как Powersoft PowerBuilder, Optima С++ и Power Designer. Взаимодействие  с другими системами и приложениями  осуществляется при помощи следующих программных интерфейсов:

Спецификация ODBC. Данная спецификация предоставляет пользователям унифицированный интерфейс между приложениями и реляционными базами данных, в том числе и базами данных SQL. Этот интерфейс представляет собой совокупность функций. Эти функции организуют взаимодействие приложений с базами данных в операционных системах Windows 3.x, Windows 95/98, OS/2 и Windows NT. Спецификация ODBC представляет собой интерфейс нижнего уровня.

Встроенный SQL (Embedded SQL interface) позволяет "встраивать" SQL-операторы прямо в тексты программ-приложений на языках C или C++. Впоследствии такие приложения подвергаются обработке специальным препроцессором, который заменяет SQL-операторы на вызовы соответствующих функций и процедур. После этого преобразованные тексты приложений представляют собой тексты программ на языке программирования C или C++.

DDE-интерфейс. Это технология динамического связывания объектов используемая в операционной системе Windows 3.x.. С ее помощью осуществляется взаимодействие приложений-клиентов, которым требуются данные, с приложениями-серверами эти данные предоставляющие. Для применения этой технологии требуется использование соответствующих программных средств, поддерживающих функционирование DDE-клиента. С другой стороны в качестве серверов необходимо использовать приложения, обеспечивающие режим DDE-сервера. К числу последних относятся такие программные приложения, как Microsoft Access, Microsoft Excel и ряд других. В СУБД SYBASE SQL Anywhere роль DDE-сервера выполняет WSQL (Watcom SQL) DDE Server.

Высокоуровневый собственный  интерфейс WSQL HLI (Watcom SQL High-level interface) обеспечивает на "высоком" уровне взаимодействие между SQL Anywhere и приложениями в средах операционных систем Windows 3.x, Windows 95/98, OS/2 и Windows NT. Данный интерфейс реализован для систем программирования аналогичных Visual Basic (для Windows 95/98 и Windows NT) и REXX (для OS/2).

СУБД SYBASE SQL Anywhere имеет  в своем составе сетевой и  автономный варианты СУБД.. Эти варианты реализованы в виде компонентам SQL Anywhere server/client и SQL Anywhere engine. SQL Anywhere server/client представляет сетевой вариант СУБД. Он организует взаимодействием приложений с базами данных в рамках локальной вычислительной сети по технологии "клиент-сервер".

ПРИМЕЧАНИЕ

Кроме локальной сети, СУБД SYBASE SQL Anywhere предоставляет вам  возможность использовать технологию "клиент-сервер" и в рамках сети Internet. Для этого необходимо, чтобы  на компьютере с сервером базы данных был организован Web-сервер и в  состав его программного обеспечения входило приложение SYBASE Netlmpact Dynamo.

Сетевой вариант включает в себя удаленный сервер и клиентскую компоненту; SQL Anywhere server и SQL Anywhere client, соответственно. Функционирование СУБД в рамках сети заключается в следующем. На одной ЭВМ, играющей роль сервера базы данных, запускается удаленный сервер – SQL Anywhere server. Его задача состоит в ожидании запросов от клиентских ЭВМ, их обработке и отправлении результатов клиентов. Во время работы сервера на клиентских ЭВМ функционирует компонента SQL Anywhere client. Она принимает от клиентских приложений запросы.. Эти запросы представляют собой операторы языка SQL, например, SELECT (выбрать данные), UPDATE (модифицировать данные), CALL (вызвать хранимую процедуру) и другие. Полученные запросы компонента SQL Anywhere client отправляет по сети серверу базы данных и ожидает возвращение от него результатов этих запросов.

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

Клиентские приложения не различают с каким вариантом  СУБД они работают. Одни и те же запросы  выполняются для пользователя совершенно одинаково по одним и тем же правилам.

ПРИМЕЧАНИЕ 

С точки зрения пользователя функции удаленного (SQL Anywhere engine) и  локального (SQL Anywhere server) серверов идентичны. В связи с этим в дальнейшем в рамках данного разделом под  термином "сервер" будем понимать компоненту SQL Anywhere server или SQL Anywhere engine, если не требуется подчеркнуть их различие.

Схема взаимодействия приложений с базой данных в СУБД SYBASE SQL Anywhere приведена на рис. 1.

 

Рис. 1. Взаимодействие приложений-клиентов с базой данных в различных вариантах СУБД SYBASE SQL Anywhere:

а) Автономный вариант;

б) Сетевой  вариант.

 

Компоненты SQL Anywhere server/client и SQL Anywhere engine составляют основу СУБД. Однако наряду с ними в состав СУБД входит и ряд других компонентов. Все вместе эти компоненты составляют комплект поставки SQL Anywhere, в который входят:

SQL Anywhere server/client – сетевой вариант СУБД..

SQL Anywhere engine – автономный вариант СУБД;

SQL Remote – компонента поддержания режима репликаций;

Sybase SQL Central – утилита администрирования баз данных;

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