Файл: Технология «клиент-сервер».pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 26.06.2023

Просмотров: 65

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  1. Создание БД и таблиц с исчерпывающим описанием их структуры.
  2. Запрос от БД информации и представление ее в удобном для пользователя виде.
  3. Манипуляции с данными: добавление, редактирование и удаление данных.

Несколько позже SQL был обучен:

  1. Обработке транзакций.
  2. Управлению курсором.
  3. Определению прав пользователей.

Если классифицировать команды SQL в соответствии с их функциональным назначением, то можно выделить шесть подмножеств языка:

  • Язык запросов – DQL (Data Query Language) предназначен для извлечения данных из таблиц и в своей основе опирается на инструкцию SELECT.
  • Язык определения данных – DDL (Data Definition Language) в первую очередь нацелен на решение вопросов создания (CREATE) и удаления (DROP) различных объектов БД (таблиц, представлений, индексов, курсоров, определений доменов).
  • Язык манипулирования данными – DML (Data Manipulation Language) осуществляет операции вставки, редактирования и удаления данных и базируется на инструкциях INSERT, UPDATE и DELETE.
  • Язык управления доступом к данным – DCL (Data Control Language) устанавливает ограничения на права пользователей при работе с объектами базы данных. Характерными представителями инструкций этой категории выступают GRANT и REVOKE.
  • Язык обработки транзакций – TPL (Transaction Processing Language) включает инструкции BEGIN TRANSACTION, COMMIT и ROLLBACK. Язык позволяет объединять несколько команд SQL в группу, называемую транзакцией. Если хотя бы одна из команд, входящих в транзакцию, не будет выполнена, осуществляется откат и всех других команд.
  • Язык управления курсором – CCL (Cursor Control Language) выбирает для обработки одну строку результирующего множества запроса.

глава 2.Практическая часть

2.1 Анализ предметной области

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


Исходя из описания предметной области, можно выделить несколько процессов, требующих автоматизации:

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

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

2.2 Разработка структуры базы данных

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

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

Основными объектами любой реляционной базы данных являются таблицы. В СУБД InterBase каждое поле таблицы должно иметь определенный тип данных, основанный на встроенных типах данных InterBase.

Исходя из списка объектов предметной области, а также процессов, требующих автоматизации разработаем структуры таблиц базы данных (Таблица 2.1 – Таблица 2.22).

Таблица 2.1 – Структура таблицы «Выплаты»

Поле

Код

Тип

Номер

Number

INTEGER

Операция

Operation

INTEGER

Работник

Person

INTEGER

Период

Start

DATE

Конец

Ending

DATE

Сумма

Cash

DECIMAL(10,4)


Таблица 2.2 – Структура таблицы «Заказ»

Поле

Код

Тип

Заказ

Order

INTEGER

Товар

Good

INTEGER

Количество

Amount

INTEGER

Таблица 2.3 – Структура таблицы «Заказы»

Поле

Код

Тип

Номер

Number

INTEGER

Поставщик

Supplier

INTEGER

Дата

Date

DATE

Сотрудник

Employee

INTEGER

Таблица 2.4 – Структура таблицы «Занятость»

Поле

Код

Тип

Поставщик

Supplier

INTEGER

Подкатегория

Subcategory

INTEGER

Таблица 2.5 – Структура таблицы «Кассы»

Поле

Код

Тип

Номер

Number

INTEGER

Сумма

Cash

DECIMAL(10,4)

Разменные

Trifle

DECIMAL(10,4)

Обслуживание

Service

DATE

Таблица 2.6 – Структура таблицы «Категории»

Поле

Код

Тип

Номер

Number

INTEGER

Название

Name

VARCHAR(15)

Таблица 2.7 – Структура таблицы «Кладовщики»

Поле

Код

Тип

Номер

Number

INTEGER

Работник

Person

INTEGER

Оклад

Salary

DECIMAL(10,4)

Премия

Bonus

DECIMAL(10,4)

Отпускные

Travel

DECIMAL(10,4)

Устройство

Inauguration

DATE

Увольнение

Dismissal

DATE


Таблица 2.8 – Структура таблицы «Налоги»

Поле

Код

Тип

Номер

Number

INTEGER

Операция

Operation

INTEGER

Период

Date

DATE

Конец

Ending

DATE

Сумма

Tax

DECIMAL(10,4)

Таблица 2.9 – Структура таблицы «Операции»

Поле

Код

Тип

Номер

Number

INTEGER

Касса

Till

INTEGER

Дата

Date

DATE

Остаток

Balance

DECIMAL(10,4)

Плюс

Plus

DECIMAL(10,4)

Минус

Minus

DECIMAL(10,4)

Итог

Total

DECIMAL(10,4)

Таблица 2.10 – Структура таблицы «Подкатегории»

Поле

Код

Тип

Номер

Number

INTEGER

Название

Name

VARCHAR(15)

Категория

Category

INTEGER

Таблица 2.11 – Структура таблицы «Поставки»

Поле

Код

Тип

Номер

Number

INTEGER

Поставщик

Supplier

INTEGER

Заказ

Order

INTEGER

Дата

Date

DATE

Таблица 2.12 – Структура таблицы «Поставщики»

Поле

Код

Тип

Номер

Number

INTEGER

Организация

Organization

VARCHAR(50)

ИНН

Taxpayer

VARCHAR(15)

Адресс

Adress

VARCHAR(50)

Телефон

Phone

VARCHAR(15)


Таблица 2.13 – Структура таблицы «Продавцы»

Поле

Код

Тип

Номер

Number

INTEGER

Работник

Person

INTEGER

Оклад

Salary

DECIMAL(10,4)

Премия

Bonus

DECIMAL(10,4)

Отпускные

Travel

DECIMAL(10,4)

Устройство

Inauguration

DATE

Увольнение

Dismissal

DATE

Таблица 2.14 – Структура таблицы «Продажи»

Поле

Код

Тип

Номер

Number

INTEGER

Товар

Product

INTEGER

Чек

Ticket

INTEGER

Цена

Price

DECIMAL(10,4)

Количество

Counts

INTEGER

Таблица 2.15 – Структура таблицы «Продукты»

Поле

Код

Тип

Номер

Number

INTEGER

Товар

Good

INTEGER

Годен до

Expiration

DATE

Закупочная цена

Purchase

DECIMAL(10,4)

Наценка

Differential

DECIMAL(10,4)

НДС

VAT

DECIMAL(10,4)

Скидка

Discount

DECIMAL(10,4)

Цена

Price

DECIMAL(10,4)

Количество

Counts

INTEGER

Поставка

Supply

INTEGER

Склад

Stock

INTEGER

Таблица 2.16 – Структура таблицы «Работники»

Поле

Код

Тип

Номер

Number

INTEGER

Фамилия

Surname

VARCHAR(25)

Имя

Name

VARCHAR(25)

Отчество

Patronymic

VARCHAR(25)

Дата рождения

Birthday

DATE

Фотография

Photo

BLOB

Счет

Account

VARCHAR(20)

ИНН

Taxpayer

VARCHAR(15)

Полис

Policy

VARCHAR(15)

Пенсионный

Pension

VARCHAR(15)

Должность

Job

VARCHAR(20)

Доступ

Access

INTEGER

Принят

Inauguration

DATE

Уволен

Dismissal

DATE

Отпуск

Vacation

DATE