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

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

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

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

Содержание

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

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

klient.doc

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

Уровни изоляции данных: чтение подтвержденных данных, воспоизводимое чтение и стабильность таблиц..

Разделяемые, защищенные и монопольные блокировки для  обеспечения уровн изоляции "стабильность таблиц"

Общие возможности:

  • Резервирование данных без остановки сервера (backup)
  • Немедленное автоматическое восстановление базы данных при сбоях
  • Неограниченное число подсоединяемых баз данных
  • Автоматическое управление двухфазным завершением транзакций
  • Оптимальное хранение символьной информации (упаковка и сжатие) и BLOb-полей

Типы данных:

  • Символьные (фиксированной и произвольной длины): до 32Кб на поле
  • Целочисленные (короткое и длинное целое)
  • Вещественные: простой и двойной точности
  • Дата/Время: от 1 Января 100 года до 11 декабря 5491 года
  • Многомерные массивы: до 16 измерений на одно поле

BLOB: неограниченная длина, возможность определения пользовательских подтипов

Импорт и экспорт ASCII данных

Фильтры BLOB для сжатия или преобразования данных BLOB

Ограничения базы данных:

Максимальное количество записей в одной таблице: 2 миллиарда

Максимальный размер таблицы: ограничивается ресурсами системы

Количество баз данных в системе: ограничивается ресурсами  системы

Количество активных пользователей: ограничивается ресурсами  системы

Количество таблиц в  базе данных: 64K

Количество индексов в базе данных: 64K

Максимальный размер записи (не включая BLOB: 64Kb)

Требования к системе:

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

Сетевой протокол: для всех платформ TCP/IP, другие протоколы в зависимости от конкретной платформы.

 

ЗАКЛЮЧЕНИЕ

Разработанная автоматизированная система предназначена для хранения информации о проданных товарах и о расходах клиентов.

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

Наиболее существенные преимущества разработанной АС:

  1. Поддержка наиболее распространенных сетевых операционных систем (Windows XP, Windows 2000, Windows ME); “прозрачная” переносимость между платформами;
  2. Основана на клиент-серверной технологии, что резко уменьшает загрузку сети, и увеличивает производительность труда менеджеров гостиничного комплекса;
  3. В приложении отсутствует программный код, связанный с базой данных. Поэтому приложение упрощается.
  4. Данная программа разработана под универсальное решение проблемы учета расходах клиентов, свободных и занятых номеров, поэтому содержит общие черты, характерные для работы магазина. Так же программа содержит графический интерфейс, удобный и интуитивно понятный;
  5. Данная программа – является базой для последующего модифицирования и наращивания функций.

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

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

  • Начало работы.
  • Заполнение таблицы классов номеров и соответствующих им номеров
  • Регистрация клиента.
  • Добавление расходов к клиентам.
  • Изменение данных.
  • Поиск необходимой информаций.
  • Просмотр отчетов по продажам и товару.
  • Окончание работы.

 

Список  используемой литературы

 

  1. Хаббард Дж. Автоматизированное проектирование баз данных. – М.: Мир, 1984. – 294 с.
  2. Borland InterBase Workgroup Server. DataDefinition Guide. - Borland International Inc, 1995 - 212 c.
  3. Фаронов В. «Delphi 7» - Санкт-Петербург, Питер, 2002 год.
  4. Хансен Д., Хансен Г. «Базы данных. Разработка и управление» - Москва, Бином, 2000 год.
  5. Чекалов А. «Базы данных: от проектирования до разработки приложений» - Москва, 2003г.
  6. Мартин Грубер «Понимание SQL», Издательство Феникс, 1998 г, Москва
  7. В.А.Жигалов, Е.Г.Соколова «IntеrBase:Технология построения интерфейсов к базам данных» Москва, 2000г.

 

ПРИЛОЖЕНИЯ

Схема данных

 

 

Экранные формы

 

Рис 1. Форма с параметрами подключения для последующего соединения с базой

 

Рис 2. Форма для заполнения списка товаров

 

Рис 3 Форма  для заполнения типов товаров, а  также их видов и марок

 

Рис 4. Форма кассового модуля

 

Рис 5.Форма выбора и продажи товара

Рис 6. Форма проданного товара с учетом его количества, времени его продажи, и кем он был продан

 

Рис 7. Отчет по продажам

Листинги  программы

 

SQL скрипт для создания базы данных на InterBase:

CREATE DATABASE 'KODAK.GDB' ;

 

CREATE TABLE "TOVAR" /*создание таблицы товаров */

(

"ID_TOVAR" INTEGER NOT NULL,

"VID" INTEGER NOT NULL,

"TYPE_T" INTEGER,

"MARKA" INTEGER NOT NULL,

"NAIM" VARCHAR(150) NOT NULL,

"MODEL" VARCHAR(20),

"XARAKTER" VARCHAR(50),

"STOIMOST" FLOAT NOT NULL,

CONSTRAINT "PK_TOVAR" PRIMARY KEY ("ID_TOVAR"), /* первичный ключ */

CONSTRAINT "TOVAR_NAIM" UNIQUE ("NAIM") /* уникальное поле */

);

ALTER TABLE "TOVAR" ADD CONSTRAINT "FK_TOVAR_1" FOREIGN KEY ("VID") REFERENCES VID_TOVARA ("ID_VID") ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE "TOVAR" ADD CONSTRAINT "FK_TOVAR_2" FOREIGN KEY ("TYPE_T") REFERENCES TYPES ("ID_TYPE") ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE "TOVAR" ADD CONSTRAINT "FK_TOVAR_3" FOREIGN KEY ("MARKA") REFERENCES MARKS ("ID_MARKA") ON UPDATE CASCADE ON DELETE CASCADE;

 

CREATE TABLE "KASSA" /*создание таблицы касса */

(

"ID_KASSA" INTEGER NOT NULL,

"DATA" DATE NOT NULL,

"VREMA" TIME NOT NULL,

"PRINATO" FLOAT NOT NULL,

"SDACHA" FLOAT NOT NULL,

"PRIB" FLOAT NOT NULL,

"RABOT" INTEGER NOT NULL,

CONSTRAINT "PK_KASSA" PRIMARY KEY ("ID_KASSA")

);

ALTER TABLE "KASSA" ADD CONSTRAINT "FK_KASSA_1" FOREIGN KEY ("RABOT") REFERENCES RABOTNIKI ("ID_RAB") ON UPDATE CASCADE ON DELETE CASCADE;

 

CREATE TABLE "PRODAJA" /*создание таблицы продажа*/

(

"ID_PRODAJA" INTEGER NOT NULL,

"DATA" DATE NOT NULL,

"VREMA" TIME NOT NULL,

"TOVAR" INTEGER NOT NULL,

"KOL_VO" FLOAT NOT NULL,

"SUMMA" FLOAT NOT NULL,

CONSTRAINT "PK_PRODAJA" PRIMARY KEY ("ID_PRODAJA")/* первичный ключ */

 

CREATE TABLE "MARKS" /*создание таблицы марка */

(

"ID_MARKA" INTEGER NOT NULL,

"NAIM" VARCHAR(50) NOT NULL,

"VID" INTEGER NOT NULL,

CONSTRAINT "MARKA_NAIM" UNIQUE ("NAIM"), /* уникальное поле */

CONSTRAINT "PK_MARKS" PRIMARY KEY ("ID_MARKA") /* первичный ключ */

 

CREATE TABLE "TYPES" /*создание таблицы тип */

(

"ID_TYPE" INTEGER NOT NULL,

"NAIM" VARCHAR(50) NOT NULL,

"VID" INTEGER NOT NULL,

CONSTRAINT "PK_TYPES" PRIMARY KEY ("ID_TYPE"), /* первичный ключ */

CONSTRAINT "TYPE_NAIM" UNIQUE ("NAIM")); /* уникальное поле */

 

CREATE TABLE "RABOTNIKI" /*создание таблицы работники */

(

"ID_RAB" INTEGER NOT NULL,

"POLZ" VARCHAR(30),

"PASS" VARCHAR(30),

"FIO" VARCHAR(50),

CONSTRAINT "PK_RABOTNIKI" PRIMARY KEY ("ID_RAB")/* первичный ключ */

);

 

 

CREATE TABLE "PRODANOE" /*создание таблицы проданое */

(

"ID_PRODAN" INTEGER NOT NULL,

"DATA" DATE NOT NULL,

"NAIM" VARCHAR(150),

"KOL_VO" FLOAT NOT NULL,

"SUMMA" FLOAT NOT NULL,

"VREMA" TIME NOT NULL,

"RABOT" INTEGER NOT NULL,

CONSTRAINT "PK_PRODANOE" PRIMARY KEY ("ID_PRODAN")/* первичный ключ */

);

ALTER TABLE "PRODANOE" ADD CONSTRAINT "FK_PRODANOE_1" FOREIGN KEY ("RABOT") REFERENCES RABOTNIKI ("ID_RAB") ON UPDATE CASCADE ON DELETE CASCADE;

 

CREATE TABLE "VID_TOVARA" /*создание таблицы вид товара */

(

"ID_VID" INTEGER NOT NULL,

"NAIM" VARCHAR(50) NOT NULL,

CONSTRAINT "PK_VID_TOVARA" PRIMARY KEY ("ID_VID"),

CONSTRAINT "VID_TOVARA_NAIM" UNIQUE ("NAIM") /* уникальное поле */

);

 

Cоздание внешних ключей и ограничения ссылочной целостности:

 

ALTER TABLE "KASSA" ADD CONSTRAINT "FK_KASSA_1" FOREIGN KEY ("RABOT") REFERENCES RABOTNIKI ("ID_RAB") ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE "PRODANOE" ADD CONSTRAINT "FK_PRODANOE_1" FOREIGN KEY ("RABOT") REFERENCES RABOTNIKI ("ID_RAB") ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE "TOVAR" ADD CONSTRAINT "FK_TOVAR_1" FOREIGN KEY ("VID") REFERENCES VID_TOVARA ("ID_VID") ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE "TOVAR" ADD CONSTRAINT "FK_TOVAR_2" FOREIGN KEY ("TYPE_T") REFERENCES TYPES ("ID_TYPE") ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE "TOVAR" ADD CONSTRAINT "FK_TOVAR_3" FOREIGN KEY ("MARKA") REFERENCES MARKS ("ID_MARKA") ON UPDATE CASCADE ON DELETE CASCADE;

 

Создание генераторов  для создания автоинкрементных полей  в таблицах:

 

CREATE GENERATOR "GEN_KASSA_ID";

CREATE GENERATOR "GEN_MARKS_ID";

CREATE GENERATOR "GEN_PRODAJA_ID";

CREATE GENERATOR "GEN_PRODANOE_ID";

CREATE GENERATOR "GEN_TOVAR_ID";

CREATE GENERATOR "GEN_TYPES_ID";

CREATE GENERATOR "GEN_VID_TOVARA_ID";

Исходный код обработчика  базы данных:

 

Модуль main:

object frmMain: TfrmMain

Left = 283

Top = 184

BorderIcons = [biSystemMenu]

BorderStyle = bsSingle

ClientHeight = 250

ClientWidth = 453

Color = clBtnFace

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = 'MS Sans Serif'

Font.Style = []

FormStyle = fsStayOnTop

OldCreateOrder = False

OnClose = FormClose

PixelsPerInch = 96

TextHeight = 13

object GroupBox1: TGroupBox

Left = 0

Top = 0

Width = 233

Height = 249

Caption = #1054#1089#1085#1086#1074#1085#1099#1077' '#1086#1087#1077#1088#1072#1094#1080#1080':'

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -19

Font.Name = 'MS Sans Serif'

Font.Style = []

ParentFont = False

TabOrder = 0

object spT: TSpeedButton

Left = 8

Top = 32

Width = 217

Height = 49

Caption = #1058#1054#1042#1040#1056#1067

Enabled = False

Flat = True

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -19

Font.Name = 'MS Sans Serif'

Font.Style = []

ParentFont = False

OnClick = spTClick

end

object spP: TSpeedButton

Left = 8

Top = 81

Width = 217

Height = 49

Caption = #1055#1056#1054#1044#1040#1046#1040

Enabled = False

Flat = True

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -19

Font.Name = 'MS Sans Serif'

Font.Style = []

ParentFont = False

OnClick = spPClick

end

object spK: TSpeedButton

Left = 8

Top = 130

Width = 217

Height = 49

Caption = #1050#1040#1057#1057#1040

Enabled = False

Flat = True

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -19

Font.Name = 'MS Sans Serif'

Font.Style = []

ParentFont = False

OnClick = spKClick

end

object SpPr: TSpeedButton

Left = 8

Top = 179

Width = 217

Height = 49

Caption = #1055#1056#1054#1044#1040#1053#1053#1054#1045

Enabled = False

Flat = True

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -19

Font.Name = 'MS Sans Serif'

Font.Style = []

ParentFont = False

OnClick = SpPrClick

end

end

object tuser: TLabeledEdit

Left = 248

Top = 80

Width = 201

Height = 32

CharCase = ecUpperCase

EditLabel.Width = 134

EditLabel.Height = 24

EditLabel.Caption = #1055#1086#1083#1100#1079#1086#1074#1072#1090#1077#1083#1100':'

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