Диплом: Создание программы автоматизации формирования коммерческих заказов и их калькуляции для "Всевозможные волшебные вредилки"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
21
Каждый объект идентифицируется с помощью уникального ключа и
имени столбца, в котором он находится. Ключом считается поле, значения
которого однозначно определяют значения всех остальных полей в таблице.
[31, с. 23]
«Каждая запись должна однозначно идентифицироваться
(определяться) уникальным ключом записи». [1, с. 217]
«Индекс – это объект, который существует только в пределах инфраструктуры
конкретной таблицы или представления. Индексы напоминают ключевые
слова в поисковиках, дескрипторы. Индекс предназначен для поиска
информации в БД». [3, стр. 38] Ключ или индекс должен давать начало каждой
записи в таблице и быть уникальным, желательно инкрементироваться
автоматически при создании каждой новой записи. [36]
Языком баз данных является язык SQL. «SQL это стандартный язык
программирования, применяемый для создания, модификации, поиска и
извлечения информации, хранящейся в произвольной реляционной базе
данных, управляемой соответствующей системой управления базами данных
(СУБД)». [30, с. 11]
SQL (Structured Query Language) является языком структурированных
запросов. Основные команды sql включают в себя создание, удаление,
изменение баз данных, данных в базе и учетных записей пользователей, а так
же выборка данных по определенным критериям. Команды так же именуют
запросами. [38] Примеры запросов приведены в таблице 4.
Таблица 4. Ключевые слова запросов.
Ключевые
слова
запросов
CREATE
TABLE
22
SELECT
INSERT
DROP TABLE
ALTER
TABLE
UPDATE
DELETE
[4,8,13]
В SQL существует 4 группы типов данных:
цифровые (numeric) данные (таблица 5);
строковые или символьные (character) данные (таблица 6);
бинарные (binary) данные (таблица 7);
календарные (temporal) данные (таблица 8).
Каждая группа типов данных содержит различные типы данных которые
различаются по размеру, объему памяти. При создании БД имеет большое
значение выбор того или иного типа данных. Избыточность может снижать
производительность системы. [2, 6, 19, 22]
Таблица 5. Цифровые типы данных,
TINYINT(size)
Может хранить числа от -128 до 127
SMALLINT(size)
Диапазон от -32 768 до 32 767
MEDIUMINT(size)
Диапазон от -8 388 608 до 8 388 607
INT(size)
Диапазон от -2 147 483 648 до 2 147 483 647
BIGINT(size)
Диапазон от -9 223 372 036 854 775 808 до 9 223 372
036 854 775 807
FLOAT(size,d)
Число с плавающей точкой небольшой точности.
DOUBLE(size,d)
Число с плавающей точкой двойной точности.
23
DECIMAL(size,d)
Дробное число, хранящееся в виде строки.
. [2, 6, 19, 22]
Таблица 6. Строковые (символьные) данные.
Типы данных
SQL
Описание
CHAR(size)
Строки фиксированной длиной (могут содержать
буквы, цифры и специальные символы).
Фиксированный размер указан в скобках. Можно
записать до 255 символов
VARCHAR(size)
Может хранить не более 255 символов.
TINYTEXT
Может хранить не более 255 символов.
TEXT
Может хранить не более 65 535 символов.
BLOB
Может хранить не более 65 535 символов.
MEDIUMTEXT
Может хранить не более 16 777 215 символов.
MEDIUMBLOB
Может хранить не более 16 777 215 символов.
LONGTEXT
Может хранить не более 4 294 967 295 символов.
LONGBLOB
Может хранить не более 4 294 967 295 символов.
ENUM(x,y,z,etc.)
Позволяет вводить список допустимых значений.
Можно ввести до 65535 значений в SQL Тип данных
ENUM список. Если при вставке значения не будет
присутствовать в списке ENUM, то мы получим
пустое значение.
Ввести возможные значения можно в таком формате:
ENUM ( 'X', 'Y', 'Z')
SET
SQL Тип данных SET напоминает ENUM за
исключением того, что SET может содержать до 64
значений.
. [2, 6, 19, 22]
24
Таблица 7. Бинарные типы данных.
BINARY
хранит бинарные данные в виде последовательности
от 1 до 8 000 байт.
VARBINARY
хранит бинарные данные в виде последовательности
от 1 до 8 000 байт, либо до 2^31–1 байт при
использовании значения MAX (VARBINARY(MAX)).
. [2, 6, 19, 22]
Таблица 8. Календарные типы данных.
Типы данных
SQL
Описание
DATE()
Дата в формате ГГГГ-ММ-ДД
DATETIME()
Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
TIMESTAMP()
Дата и время в формате timestamp. Однако при
получении значения поля оно отображается не в
формате timestamp, а в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС
TIME()
Время в формате ЧЧ:ММ:СС
YEAR()
Год в двух значной или в четырехзначном формате.
. [2, 6, 19, 22]
Конечно, SQL не является самым быстрым и простым способом
взаимодействия с базами данных, но он является без сомнения самым лучшим
из того, что у нас есть на данный момент. [18,24]
Положительные отличия языка SQL:
стандартный;
не зависит от конкретных СУБД;
может быть перенесен с одной вычислительной системы на другую;
возможность работы с реляционной моделью;
25
применение интерактивных запросов и программного доступа к БД;
различные виды представления данных;
гибкая структура БД;
поддержка архитектуры клиент-сервер. [3, 13, 19, 36]
СУБД — это программные системы управления структурированными
файлами данных, обеспечивающих пользователю оперативное получение
необходимой информации [31, с. 5]
СУБД – комплекс программных и языковых средств для создания,
ведения и коллективного использования базы данных. [27, с. 10]
«СУБД – это эффективный инструмент сбора больших порций
информации и действенного управления ими, позволяющий сохранять данные
в целости и безопасности на протяжении длительного времени. СУБД
относятся к категории наиболее сложных программных продуктов,
имеющихся на рынке в настоящее время» . [4, с. 31]
«Системы управления базами данных (СУБД) — программы, которые
обеспечивают создание БД и организацию данных. СУБД позволяют вводить,
отбирать и редактировать данные. Они предоставляют средства для
извлечения данных по определенному критерию (требованию, правилу)». [1,
стр. 215]
Функции СУБД:
1. Управление данными во внешней памяти,
2. Управление буферами оперативной памяти.
3. Управление транзакциями.
4. Журнализация и восстановление БД после сбоев.
5. Поддержание языков БД. [25, 29, 33]
Таким образом, основным назначением СУБД является организация
обмена информацией между пользователями и базами данных с
обязательными процедурами контроля полномочий и процедурами проверки.
Реализация функций СУБД определяет ее логическую архитектуру.
26
«Архитектура – это совокупность существенных решений об
организации ИС. Обычно в понятие архитектуры входят решения об основных
аппаратных и программных составляющих системы, из функциональном
назначении и организации связей между ними». [27, с. 14]
Архитектуру можно охарактеризовать по нескольким показателям:
производительность, скорость работы или время реакции системы на действия
пользователя и надежность. [19, 26, 27]
СУБД можно разделить на 5 основных составляющих:
Аппаратная часть;
Программная часть;
Собственно данные;
Процедуры с данными;
Пользователи. [19]
Таким образом, для работы базы данных совершенно необходим
некоторый минимум свободного места на ОЗУ и ПЗУ. Так же нужна
программа, служащая посредником между пользователем и базой данных,
сами данные, а так же различные категории пользователей системы. С
данными совершаются различные процедуры: поиск, копирование, удаление
и т.д.
Примеры архитектур:
Центральная архитектура
Файл-сервер
Клиент-сервер
Многозвеньевые архитектуры
Web-архитектуры[27, с. 13-20]
В СУБД с централизованной архитектурой, система управления, а так
же база данных находится на отдельном небольшом устройстве, а
пользователи заходят с помощью терминала. [13]
27
При использовании архитектуры вида файл-сервер база данных
располагается на сервере, а СУБД находится на компьютерах пользователей.
Этот вид СУБД позволяет добиться достаточно высокой производительности,
потому что каждую копию СУБД поддерживают все ресурсы компьютера
пользователя. Из минусов такой системы можно отметить значительную
нагрузку на сеть. Если пользователей много, оптимально будет выбрать
архитектуру клиент-сервер. В этом случае база данных так же хранится на
сервере, а СУБД состоит из клиентской и серверной части. Работа первой
части реализуется на устройстве клиента и формирует запросы к базе данных.
Большая часть современных СУБД реализованы по данной архитектуре.
[25,33]
Ярким примером отношения клиент-сервер является телевидение и
электронная почта. В случае телевидения мы получаем видеоизображения на
своих устройствах, причем устройства могут быть самые различные,
необходимо лишь чтобы они поддерживали необходимые программные
продукты. На устройства видеоизображения не загружаются, не занимается
память, не снижается производительность. Есть сервер, где храниться
информация, есть передающие устройства, есть принимающие устройства и
программные продукты, обеспечивающие передачу информации. Письма,
полученные по электронной почте мы так же не храним на своих устройствах,
однако они нам доступны для просмотра и скачивания в любой момент, мы
можем их переслать или удалить. [37]
Рисунок 1. Клиент-серверная архитектура.
28
В процессе отладки обе системы: клиентская и серверная могут
находится на одном компьютере. [27, с. 13-20].
Прикладная программа клиента запрашивает данные у сервера
используя язык SQL, поддерживающий передачу информации между
сервером и клиентом. «По сути язык SQL представляет собой стандарт
интерфейса СУБД в открытых системах». [27, с. 17].
Существует несколько распространенных коммерческих SQL-серверов,
например Orakle, DB-2, MS SQL Server, Sybase, Informix, Interbase. А так же
есть бесплатные PostGres, MySQL, FireBird и другие. [27, с. 17].
У различных типов СУБД функции могут различаться. СУБД
предназначена для управления данными и сам процесс работы с данными при
использовании различных систем может иметь широкие отличия. Различия,
плюсы и минусы каждой СУБД представлены в таблице 9.
«Любая серверная СУБД, поддерживающая SQL, работает в качестве
серверной части архитектуры «клиент-сервер». Это значит, что она хранит и
поддерживает базы данных и отвечает на запросы, которые клиенты
оформляют на языке SQL. Здесь под клиентом понимается любое приложение
или любой компьютер, которые могут посылать запросы на языке SQL (в
дальнейшем мы будем называть такие запросы SQL-запросами) на сервер и
получать ответы с этого сервера». [30, стр. 18]
29
Таблица 9. Сравнение различных СУБД
СУБД
Плюсы и минусы
Oracle 12c
Достоинства
Множество функций и возможностей
Высокая надежность
Недостатки
Высокая цена
Непомерные системные требования
PostgreSQL
Достоинства
Может быть масштабируемой базой данных и
обрабатывать большие объемы данных
Поддержка формата json.
Доступно несколько интерфейсов и
предопределенных функций.
Недостатки
Сложная конфигурация
Невысокая производительности и скорость работы
MySQL
Достоинства
Бесплатная СУБД
Множество различных функций даже в бесплатной
версии
Имеет несколько пользовательских интерфейсов
Может работать с другими базами данных
Недостатки
Не автоматизированы некоторые функции
[6, 18,22, 28]
30
В нашей работе мы отдадим предпочтение системе управления базами
данных MySQL, так как она является одной из самых популярных СУБД,
имеет бесплатный пакет. Многие работодатели желают видеть умение
работать в данной системе в списке компетенций своих программистов.
Бесплатная версия для некоммерческого использования отличается высокой
скоростью работы и надежностью, однако отсутствуют некоторые функции.
[29, 36]
«MySQL – это одна из ведущих (то есть наиболее распространенных,
качественных и покупаемых в настоящее время) СУБД с открытым исходным
кодом». [30, стр. 36]
Разработкой и поддержкой MySQL занимается корпорация Oracle.
MySQL сервер может поддерживать различные системные переменные,
которые определяют, как он будет сконфигурирован и как будет работать.
Всем системным переменным присвоено какое-либо значение по умолчанию
и оно может быть изменено. Переменные устанавливаются при помощи SET.
Перезапускать сервер при установке переменных не нужно, так как
переменные чаще всего динамические. [26, 29]
Динамические переменные могут быть глобальными и сеансовыми
(локальными). В таблице 10 проведено сравнение этих двух типов
переменных. [29]
Таблица 10. Сравнение глобальных и сеансовых переменных.
Глобальные
Сеансовые
Действуют на все сессии (сеансы) в
БД; Действуют на новые сессии
Действуют на текущую сессию
Для установки необходима
привилегия SUPER
Для установки не требуют
привилегий
Почти все динамические переменные могут быть и глобальными, и
сеансовыми. Но существуют переменные, которые могут быть только

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран