Автор работы: Пользователь скрыл имя, 21 Февраля 2013 в 19:57, курсовая работа
Часто ли пользователю нужен полный доступ к базе? В большинстве случаев запрашивается только та информация, которая напрямую относится к его сфере деятельности. Лучшим решением может являться перенос части базы ближе к пользователям. При решении этой задачи подобным способом получается территориально распределенная (удаленная) база данных.
Организация удаленных баз данных дает ряд преимуществ: снижается время отклика системы, повышается надежность хранения данных, уменьшается стоимость аппаратной части за счет снижения объемов данных, хранящихся на одном сервере.
Введение
Глава1 Основные подходы к проектированию удаленных баз данных
1.1 Основные понятия теории реляционных баз данных
1.2 Сервер базы данных
1.2.1 Технология и модели "клиент-сервер"
Глава 2 Технологии, исползуемые в работе
Глава 3 Реализация модели учета доходов Магазина и продаваемого товара»
3 Постановка задачи
3.1 Общие технические характеристики технологии InterBase
ЗАКЛЮЧЕНИЕ
Список используемой литературы
ПРИЛОЖЕНИЯ
Схема данных
Экранные формы
Листинги программы
Проблемы, возникающие в модели "один-к-одному", решаются в архитектуре систем с выделенным сервером, способным обрабатывать запросы от многих клиентов. Сервер единственный обладает монополией на управление данными и взаимодействует одновременно со многими клиентами. Логически каждый клиент связан с сервером отдельной нитью (thread) или потоком, по которому пересылаются запросы. Такая архитектура получила название многопотоковой (multi-threaded).
Она позволяет значительно уменьшить нагрузку на операционную систему, возникающую при работе большого числа пользователей. С другой стороны, возможность взаимодействия с одним сервером многих клиентов позволяет в полной степени использовать разделяемые объекты (начиная с открытых файлов и кончая данными из системных каталогов), что сильно уменьшает потребности в памяти и общее число процессов операционной системы. Например, системой с архитектурой "один-к-одному" будет создано 50 копий процессов СУБД для 50 пользователей, тогда как системе с многопотоковой архитектурой для этого понадобиться только один сервер.
Однако такое решение создает новую проблему. Так как сервер может выполняться только на одном процессоре, возникает естественное ограничение на применение СУБД для мультипроцессорных платформ. Если компьютер имеет, например, четыре процессора, то СУБД с одним сервером используют только один из них, не загружая оставшиеся три.
В некоторых системах эта проблема решается заменой выделенного сервера на диспетчер или виртуальный сервер (virtual server), который теряет право монопольно распоряжаться данными, выполняя только функции диспетчеризации запросов к актуальным серверам. Таким образом, в архитектуру системы добавляется новый слой, который размещается между клиентом и сервером, что увеличивает трату ресурсов на поддержку баланса загрузки (load balancing) и ограничивает возможности управления взаимодействием "клиент-сервер". Во-первых, становится невозможным направить запрос от конкретного клиента конкретному серверу, во-вторых, серверы становятся равноправными - невозможно устанавливать приоритеты для обслуживания запросов.
Современное решение проблемы СУБД для мультипроцессорных платформ заключается в возможности запуска нескольких серверов базы данных, в том числе и на различных процессорах. При этом каждый из серверов должен быть многопотоковым. Если два эти условия выполнены, то есть основание говорить о многопотоковой архитектуре с несколькими серверами (multi-threaded, multi-server architecture).
Глава 2 Технологии, исползуемые в работе
Данная база данных гостиничного комплекса “Ирина” основана на клиент-серверной технологии InterBase v 6.5.
Borland Interbase является
Borland InterBase Workgroup Server - сервер реляционных баз данных, оптимизированный для реализации технологии upsizing (укрупнения) многопользовательских приложений. Технология upsizing предполагает переход от многопользовательских приложений, построенных по традиционной файл-серверной модели (таких, как приложения на FoxPro, Clipper, dBASE, Paradox) к приложениям с архитектурой клиент - сервер.
InterBase - сервер, традиционно доступен на всех основных UNIX-платформах (IBM, Sun, HP), оптимизирован для использования на Novell NetWare и Windows NT и обладает рядом функций, обязательных для современного SQL-сервера баз данных.
К таким функциям относятся
наличие хранимых процедур, расширенная
поддержка триггеров, декларативная
ссылочная целостность и т.д. Эти
функции соответствуют
Важной особенностью новой версии является поддержка технологии C/S Express. Это особенно полезно при использовании InterBase 6.5 в качестве upsizing средства, т.к. позволяет сохранить привычную навигационную нотацию файл-серверной модели при переходе к архитектуре C/S.
Архитектура ядра InterBase
Borland InterBase Workgroup Server обладает
рядом свойств, позволяющих
Многоверсионное ядро
Технология многоверсионности ядра обеспечивает бесконфликтный доступ к данным за счет ведения нескольких поколений записей. Когда транзакция модифицирует запись, 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 Постановка задачи
На сегодняшний день
существует небольшое количество систем
автоматизации учёта в сфере то
Общие требования к разрабатываемой системе автоматизации:
Автоматизация учёта продаж и товара:
Учёт в рыночном комплексе заключается в учёте при продаже различного товара с составлением различных отчетных форм и запросов.
Общие требования к разработке подсистемы учета:
Особенности ведения учёта в организации-заказчике:
Автоматизация учёта заполнения.
Учёт продаж заключается в записи точных данных товара, его вида, типа и цены .
Структура автоматизированной системы учета данной базы создана в InterBase 6.5, а её обработчик Delphi 7 на языке программирования Object Pascal :
- база данных (kodak.gdb),
- обработчик базы данных (KODAK.exe).
Для удобства работы с базой данных ее формы раскрываются на весь экран и независимо от разрешения монитора пользователя подстраиваются под разрешения 800х600 для этого в программе использовался специально написанная функция. Со страницы Standart был помещён объект TmainMenu, который позволяет поместить главное меню в программу и этим помогает создать наглядность программы и понятный интуитивный интерфейс.
База в формате InterBase – это один или несколько файлов со всеми данными. Информация хранится в отдельном файле с расширением gdb. Версии ниже 6-го IB ограничивают размер файла ниже 2-4 Гб, в версии выше 6-й база может занимать <=32 Гб. Этого размера вполне достаточно для автоматизации деятельности какого-либо среднего предприятия. При необходимости файл базы можно разбить на несколько. На физическом уровне gdb-файл представляет собой набор страниц определённого размера. Таким образом, можно сказать, что размер базы всегда кратен размеру страницы. Размер страницы задаётся при создании базы и не может быть изменён в течение её жизни.
Чтение и запись базы осуществляется постранично и поэтому многие важные характеристики базы, в том числе и буфер, исчисляются в страницах.
Целостность:
Декларативный первичный ключ
Декларативный вторичный ключ
Домены и контроль полей
Триггеры:
Хранимые процедуры :
Конкурентный доступ к данным :