Разработка и создание удаленной базы данных для автоматизации учета и отчетности в гостиничном комплексе “Ирина” на основе клиент-серве

Автор работы: Пользователь скрыл имя, 21 Февраля 2013 в 19:57, курсовая работа

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

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

Содержание

Введение
Глава1 Основные подходы к проектированию удаленных баз данных
1.1 Основные понятия теории реляционных баз данных
1.2 Сервер базы данных
1.2.1 Технология и модели "клиент-сервер"
Глава 2 Технологии, исползуемые в работе
Глава 3 Реализация модели учета доходов Магазина и продаваемого товара»
3 Постановка задачи
3.1 Общие технические характеристики технологии InterBase
ЗАКЛЮЧЕНИЕ
Список используемой литературы
ПРИЛОЖЕНИЯ
Схема данных
Экранные формы
Листинги программы

Прикрепленные файлы: 1 файл

klient.doc

— 493.50 Кб (Скачать документ)

Проблемы, возникающие  в модели "один-к-одному", решаются в архитектуре систем с выделенным сервером, способным обрабатывать запросы от многих клиентов. Сервер единственный обладает монополией на управление данными и взаимодействует одновременно со многими клиентами. Логически каждый клиент связан с сервером отдельной нитью (thread) или потоком, по которому пересылаются запросы. Такая архитектура получила название многопотоковой (multi-threaded).

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

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

В некоторых системах эта проблема решается заменой выделенного  сервера на диспетчер или виртуальный  сервер (virtual server), который теряет право  монопольно распоряжаться данными, выполняя только функции диспетчеризации запросов к актуальным серверам. Таким образом, в архитектуру системы добавляется новый слой, который размещается между клиентом и сервером, что увеличивает трату ресурсов на поддержку баланса загрузки (load balancing) и ограничивает возможности управления взаимодействием "клиент-сервер". Во-первых, становится невозможным направить запрос от конкретного клиента конкретному серверу, во-вторых, серверы становятся равноправными - невозможно устанавливать приоритеты для обслуживания запросов.

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

 

Глава 2 Технологии, исползуемые в работе

Данная база данных гостиничного комплекса “Ирина” основана на клиент-серверной технологии InterBase v 6.5.

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

Borland InterBase Workgroup Server - сервер  реляционных баз данных, оптимизированный  для реализации технологии upsizing (укрупнения) многопользовательских приложений. Технология upsizing предполагает переход от многопользовательских приложений, построенных по традиционной файл-серверной модели (таких, как приложения на FoxPro, Clipper, dBASE, Paradox) к приложениям с архитектурой клиент - сервер.

InterBase - сервер, традиционно доступен на всех основных UNIX-платформах (IBM, Sun, HP), оптимизирован для использования на Novell NetWare и Windows NT и обладает рядом функций, обязательных для современного SQL-сервера баз данных.

К таким функциям относятся  наличие хранимых процедур, расширенная  поддержка триггеров, декларативная  ссылочная целостность и т.д. Эти  функции соответствуют стандарту ANSI/ISO SQL92 или, где возможно, проекту SQL3.

Важной особенностью новой версии является поддержка технологии C/S Express. Это особенно полезно при использовании InterBase 6.5 в качестве upsizing средства, т.к. позволяет сохранить привычную навигационную нотацию файл-серверной модели при переходе к архитектуре C/S.

Архитектура ядра InterBase

Borland InterBase Workgroup Server обладает  рядом свойств, позволяющих решать  задачи оперативной обработки  транзакций и обеспечивать режим  поддержки принятия решений. Среди  таких свойств важнейшие являются  технология многоверсионности (Versioning Engine), поддержка распределенных баз данных и наличие нестандартных типов данных.

Многоверсионное ядро

Технология многоверсионности  ядра обеспечивает бесконфликтный доступ к данным за счет ведения нескольких поколений записей. Когда транзакция модифицирует запись, InterBase создает новую запись. Во многих случаях новая запись представляет собой компактную запись изменений. InterBase связывает все такие записи и образует многоверсионную запись. Когда транзакция стартует, ей доступна наиболее поздняя версия записи, созданная завершенной транзакцией.

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

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

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

Распределенные базы данных

Технология построения InterBase позволяет  создавать распределенные базы данных и обеспечивает возможность для приложения-клиента открыть необходимое количество БД целью содействие распространению концепций и методологии открытых систем.Это означает, что если в процессе транзакции обновляются записи на различных узлах сети, то процесс фиксации происходит в две фазы. Вначале осуществляется предварительная фиксация транзакции в каждом узле, и если на одном узле фиксация оказывается невозможной, происходит откат и на остальных узлах. Если проблемы не было ни на одном узле, осуществляется окончательная фиксация

Сложные типы данных

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

Другим нетрадиционным типом данных, допустимым в InterBase, является многомерный  массив. В InterBase в качестве поля записи может быть сохранен массив произвольных данных (кроме BLOB) с размерностью от 1 до 16. Наличие такого типа данных позволяет эффективно строить приложения, работающие в финансовой, промышленной и научно-исследовательской области.

Таблица и перебор индекса

Для поддержки ориентированного на записи доступа обычно требуется  выполнение на промежуточном уровне трансляции, преобразующей запросы персонального приложения в команды SQL. Например, чтобы открыть индексный курсор, транслирующий уровень строит оператор SQL с предложением OrderBy, соответствующим столбцам индекса, а затем выполняет его на сервере. Фильтрующие выражения завершаются предложением Where сгенерированного оператора SQL. Сервер реляционной базы данных эмулирует через SQL семантику данных работающего с упорядоченной информацией персонального приложения, что ведет к заметному снижению производительности.

Позволяя открывать курсоры  для таблиц и индексов без использования  операторов SQL, InterBase с помощью многопользовательской среды "клиент-сервер" обеспечивает производительность, "близкую к производительности локального персонального приложения". Это означает, что когда курсор открывается для таблицы, то записи возвращаются в естественном порядке, а когда он открывается для индекса, то они возвращаются в отсортированном порядке.

Важным аспектом дизайна InterBase является прямая, осуществляемая на уровне механизма базы данных поддержка подобных операций перебора. Для более быстрой выборки записей из таблиц и индексов InterBase 4.0 использует специальные структуры данных, алгоритмы и протоколы. Для подготовки и выполнения таких операций операторы SQL не требуются, поэтому отпадает необходимость в промежуточных транслирующих модулях, а буферизация результирующего набора сводится с минимуму. Кроме того, к данным параллельно могут обращаться как пользователи Express Link, так и SQL.

 

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

На сегодняшний день существует небольшое количество систем автоматизации учёта в сфере торговли. В соответствии с этим при реализации учитывались особенности деятельности заказчика.

Общие требования к разрабатываемой  системе автоматизации:

  1. Удобство и просто выполнения основных функций учёта расходов и товара;
  2. Надежность выполнения основных функций учёта;
  3. Интуитивно понятный интерфейс пользователя.

Автоматизация учёта продаж и товара:

Учёт в рыночном комплексе заключается в учёте при продаже различного товара с составлением различных отчетных форм и запросов.

Общие требования к разработке подсистемы учета:

  1. Продажа товара клиенту;
  2. Расходы клиента по дате продажи;
  3. Формирование информации о товаре;
  4. Формирование информации о стоимости;
  5. Существующий товар;

Особенности ведения  учёта в организации-заказчике:

  1. В рыночном комплексе используется данные о продажах с индивидуальной ценой ;
  2. Возможность изменения данных;
  3. Быстрое получение информации (поиск);
  4. В любой момент времени необходимо иметь возможность добавить или удалить товар.

Автоматизация учёта  заполнения.

Учёт продаж заключается в записи точных данных товара, его вида, типа и цены .

Структура автоматизированной системы учета данной базы создана  в InterBase 6.5, а её обработчик Delphi 7 на языке программирования Object Pascal :

- база данных (kodak.gdb),

- обработчик базы данных (KODAK.exe).

Для удобства работы с базой данных ее формы раскрываются на весь экран и независимо от разрешения монитора пользователя подстраиваются под разрешения 800х600 для этого в программе использовался специально написанная функция. Со страницы Standart был помещён объект TmainMenu, который позволяет поместить главное меню в программу и этим помогает создать наглядность программы и понятный интуитивный интерфейс.

База в формате InterBase – это один или несколько файлов со всеми данными. Информация хранится в отдельном файле с расширением gdb. Версии ниже 6-го IB ограничивают размер файла ниже 2-4 Гб, в версии выше 6-й база может занимать <=32 Гб. Этого размера вполне достаточно для автоматизации деятельности какого-либо среднего предприятия. При необходимости файл базы можно разбить на несколько. На физическом уровне gdb-файл представляет собой набор страниц определённого размера. Таким образом, можно сказать, что размер базы всегда кратен размеру страницы. Размер страницы задаётся при создании базы и не может быть изменён в течение её жизни.

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

3.1 Общие технические характеристики технологии InterBase

 

Целостность:

Декларативный первичный  ключ

Декларативный вторичный  ключ

Домены и контроль полей

Триггеры:

  • Неограниченное число триггеров на одно действие с записью
  • Срабатывание при вставке, изменении и удалении записи
  • Включение и выключение триггеров во время работы
  • Выполнение в случайном или указанном порядке
  • Каскадное срабатывание триггеров

Хранимые процедуры :

  • поддержка полного синтаксиса SQL
  • обработка ошибок и исключительных ситуаций
  • возможность выдачи результата в виде набора записей (select)
  • рекурсивные вызовы до 1000 уровней вложенности

Конкурентный доступ к данным :

  • Оптимистическая схема блокировок на уровне записи
  • Отсутствие блокировок по чтению

Информация о работе Разработка и создание удаленной базы данных для автоматизации учета и отчетности в гостиничном комплексе “Ирина” на основе клиент-серве