Главная страница
Навигация по странице:

  • Microsoft SQL Server

  • Mariadb

  • инфологической моделью

  • Требования к инфологической модели

  • Даталогическое проектирование

  • providers

  • Apache HTTP Server

  • Получение данных

  • PHP (препроцессор гипертекста)

  • Проектирование и создание информационной системы


    Скачать 0.7 Mb.
    НазваниеПроектирование и создание информационной системы
    Дата30.11.2022
    Размер0.7 Mb.
    Формат файлаdocx
    Имя файла22Terehov.docx
    ТипРеферат
    #822009
    страница3 из 4
    1   2   3   4

    MySQL



    Рис. 7. Базы и таблицы MySQL в интерфейсе PhpMyAdmin.

    Свободная реляционная СУБД от корпорации Oracle. Имеет большую популярность при разработке веб-приложений. Разрабатывается с 90-х годов, активно разрабатывается и поддерживается компанией разработчиком. Встроенные инструменты для работы с MySQL имеют многие решения в области программного обеспечения для веб-приложений. Является быстрой, надёжной и относительно использования - безопасной. В качестве аппаратного обеспечения может использоваться ЭВМ с довольно низкими ресурсами. Имеет как бесплатную версию под лицензией GNU GPL 2, так и платную с официальной поддержкой. На рынке труда имеется множество специалистов работающих с данной СУБД, а также большое кол-во технической документации, литературы, практических примеров использования и готовых продуктов в составе которых используется MySQL. Имеет возможности распределения нагрузки на несколько серверов. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.oracle.com.

    Microsoft SQL Server



    Рис. 8. SQL Server Manager

    Система управления реляционными базами данных, разработанная корпорацией Microsoft. Ядро данной системы может предназначено для работы как на локальных серверах, так и на облачных. В 2016 году стала доступна в операционной системе Linux. Одной из уникальных особенностей версии 2016 года является временная поддержка данных, которая позволяет отслеживать изменения данных с течением времени. Последняя версия Microsoft SQL-сервер также позволяет совершать динамическую маскировку данных, которая гарантирует то, что только авторизованные пользователи будут видеть конфиденциальные данные. SQL Server является быстрым и стабильным средством, имеет хорошую техническую документационную основу и множество литературы, большое количество технических специалистов на рынке труда. Данная СУБД является платным решением, со средним ценником, хорошо ориентирована на работу с иными продуктами Microsoft. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.microsoft.com/ru-ru/sql-server/sql-server-2016.

    PostgreSQL



    Рис. 9. Postgre база данных в интерфейсе программы Navicat 8

    Свободная объектно-реляционная система управления базами данных, базирующаяся на языке SQL, распространяемая под лицензией License PostgreSQL . Может использоваться для обработки больших данных, хорошо масштабируема. Разрабатывается и поддерживается одноимённым сообществом и популярен среди веб-баз данных. Имеется достаточное кол-во литературы и специалистов, не требовательна к аппаратным ресурсам и хорошо подходит для проведения большого кол-ва запросов. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.postgresql. org.

    Mariadb









    j j mysqi

    H performance_schema

    - llbsUto

    • В Tables

    • Reviews

    • fo Functions

    • ©Events

    41 Queries

    ^.Backups fltest

    & MariaDB 5.5

    f| information_schema

    H mysql

    f| performance_schema

    language

    jejd tinyint UNSIGNED :har(20}

    I date timestamp

    film id: smallint UNSIGNED title: varchar(25S) description: text release_yean year languagejd tinyint UNSIGNED onginaljanguagejd •.r-.iri: JKSiiJNLU rental duration tinyint UNSIGNED rental rate: decimal(4, 2) length smallint UNSIGNED replacement_cost . is _ rating: =num special_features: set last update . •

    inventory

    inventoryjd: mediumint UNSIC film id: smallint UNSIGNED store id: tinyint UNSIGNED last_update: timestamp

    Рис. 10. База данных MariaDB в интерфейсе программы Navicat

    . actor id smallint UNSIC ft film Id: smallint UNSIS last update :



    Ещё одна свободно распространяемая система управления базой данных от компании MariaDB Corporation Ab и фонда MariaDB Foundation, распространяется под лицензией GNU GPL. Система является ответвлением от СУБД MySQL, разрабатывается первоначальными разработчиками MySQL с 2009 года. Система имеет и платный вариант с расширенной поддержкой и функционалом. Mariadb - это одна из самых быстрорастущих субд со множеством плагинов, однако ещё не имеющая широкой поддержки сторонним программным обеспечением, как другие СУБД и количеством литературы на русском языке, однако является полностью совместимым с MySQL продуктом. Является довольно безопасным и быстрым продуктом, однако стабильность ещё не так высока, как у СУБД уже давно присутствующих на рынке. Часто рассматривается как вариант альтернативный СУБД MySQL. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://mariadb.org.

    DB2



    Рис. 11. База данных DB2 в интерфейсе EMS SQL Query 2007

    Платная СУБД от компании IBM, имеющая возможности nosql, читающая json и xml-файлы. Является кроссплатформенным решением, имеет множество документации и литературы, может быть размещено в облачном хранилище, на физическом сервере, или же и там, и там одновременно. Базовая поддержка доступна только в течение трех лет; после этого, вы должны заплатить за это. Подходит для: крупных организаций, которые делают имеют много ресурсов и обрабатывают большие базы данных. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.ibm.com/analytics/us/en/db2/.

    Из рассмотренных СУБД для решения задач торговой организации была выбрана MySQL. MySQL разработал Михаэль Видениус (Michael Widenius, monty@analytikerna.se), она является небольшой и быстрой реляционной СУБД, основанной на традициях Hughes Technologies Mini SQL (mSQL).

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

    СУБД MySQL предоставляет следующие преимущества при её выборе [20]:

    • реляционная модель данных;

    • свободно-распространяемая под лицензией GNU GPL 2;

    • хорошо адаптирована для веб-приложений;

    • имеет хорошую базу технической документации и литературы;

    • является активно развивающимся продуктом с большим опытом;

    • большое количество специалистов на рынке труда;

    • множество плагинов и отличная интеграция в другое программное обеспечение для веб-приложений;

    • низкие требования к ресурсам аппаратного обеспечения.

    Важный этап проектирования и разработки базы данных — это создание инфологической и даталогической моделей.

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

    Требования к инфологической модели:

    • адекватное отображение предметной области;

    • непротиворечивость;

    • должна отражать взгляды и потребности всех пользователей системы;

    • однозначная трактовка моделей;

    • модель должна быть конечной;

    • модель должна быть легко расширяемой, то есть иметь возможность ввода новых (удаления) данных без изменения ранее определенных;

    • должна обладать свойствами композиции и декомпозиции (укреплять базу данных или расщеплять);

    • должна быть легко реализуемой на ЭВМ;

    • должна быть независимой от оборудования и языков организации базы данных на ЭВМ.

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

    База данных состоит из следующих таблиц:

    • Таблица «Клиенты» - содержит информацию о частных и юридических лицах, которым реализуется товар.

    • Таблица «Избранные клиенты» - содержит информацию о том, у каких пользователей какие клиенты добавлены в качестве избранных.

    • Таблица «Поставщики» - содержит информацию об организациях, осуществляющих поставку продукции.

    • Таблица «Заказы» - заказы, их статус и данные.

    • Таблица «Товары» - продукт, реализуемый компанией и его свойства.

    • Таблица «Бренды» - реестр брендов товаров и информации о них.

    • Таблица «Группы» - группы товаров.

    • Таблица «Конфиг» - содержит основные настройки ИС.

    • Таблица «Пользователи» - пользователи системы, их свойства и права.

    • Таблица «Логи» - содержит логи основных действий пользователей.

    • Таблица «Страницы» - служебная информация о страницах/модулях ИС.

    • Таблица «Курс валюты» - таблица хранит актуальный курс валют для вывода на главные страницы ИС и графики.

    • Таблица «Чат» - содержит сообщения чата.

    • Таблица «Задачи» - в таблице находятся все данные для осуществления функционала «Задачи».

    Для составления даталогической (рис. 13.) и инфологической (рис. 12.) моделей базы данных, было использовано бесплатное специализированное веб-приложение DbDesigner (http://dbdesigner.net).



    Рис. 12. Инфологическая модель базы данных












































































    id int(ll)

    login varchan)2bb)

    pass varchar(2SS)

    post varchar(2SS)

    rights varchar(255)

    del tinyint(4|

    delivery status tinyint(4J

    providers

    int(U)

    goods

    int(ll)

    parent int(ll)

    ya market tinyint(4)

    del tinyint|4)

    intjllj

    rights varchar(255)

    link varchar(255)

    title varchar(255)

    head varchar<2SS)

    del tinyint(4)

    tinyint(4|

    tinyint(4)

    int(ll)

    int(ll)

    varchar(255l

    id int(il)

    time int(ll)

    int(U)

    int(U)

    і ntlll)

    intlll)

    і ntlll)

    goods

    goods sum

    int(ll)

    tinyint(4)

    delivery

    tinyirrt(4]

    tinyirrt(4]

    varchar(255)

    tinyint(4)

    intlll)

    varchar[255)

    tinyint(4)

    varchar(255)

    varchar(255)

    tinyint(4)

    int(ll)

    varchar|255J

    tinyint(4)

    intfll)

    tinyint(4)

    phone

    varchar(255)

    varchar{255)

    varthar(25S)

    varchar{255)

    r'ny'-it ■"

    intlll)

    int(ll)

    int(ll)

    int(ll)

    varchar(255)

    tinyint(4)

    tinyint(4|

    provider

    tinyint(4)

    logs

    priority

    intlll)

    iftt|ll)

    irrt(ll)

    varchar(255)

    config

    developer name varchar(25S)

    developer contact varchar(255) system name varchar(2S5)

    system version varcharj255)

    system version date int(ll}

    system update text

    system third party test

    system future tent

    system license text

    org name varchar[255)

    org torg name varchar(2S5)

    org inn int(ll)

    org ogrn int(ll)

    org bank varchart255)

    org phone varchar(2SS)

    org address varchar(255)

    org email varcharf255)

    org email pass varchar(2SS)

    org email smtp varchan)25S)

    ya market enable tinyint(4)

    ya market name varchar(2SS)

    ya market email varchan)2bbi

    ya market uri varchar(25A)

    ya market store tinyint(4)

    ya market pickup tinyint(4)

    ya market delivery tinyint(4)

    ya ma rket mincost float!',)

    Рис. 13. Даталогическая модель базы данных






    Как видно из спроектированных моделей базы данных — все таблицы некоторым образом связаны друг с другом. К примеру, в таблицы «Заказы» и «Избранные клиенты» имеют поля, связывающие их с таблицей «Клиенты» и хотя таблица «Заказы» никак не связывает себя напрямую с таблицей «Избранные клиенты», через общую для них таблицу «Клиенты» выстраивается характерная для реляционных СУБД связь. Таким образом связываются между собой и все остальные таблицы.

    Таким образом, создана уже ставшая традиционной реляционная база данных, которая имеет зависимости между данными, но при этом избегает избыточности. Если системе необходимо показать заказы, то оно запрашивает данные о них из таблицы «Заказы» при этом, не запрашивая список клиентов и список товаров, что можно сделать при просмотре конкретного заказа, но и в этом случае запрашивать из базы данных придётся не все товары и всех клиентов, а только определённых, относящихся к данному заказу.

    В качестве программного обеспечения на сервер были установлены СУБД mysql-server и mysql-client (https://dev.mysql.com/downloads/mysql/) (рис. 14.) в качестве простого и быстрого доступа к управлению СУБД. При помощи MySQL клиента (рис. 14.) и запросов к СУБД были созданы таблицы с полями определённых типов, указаны уникальные индексы (id), которым было присвоено свойство «AUTO_INCREMENT”, указывающее, что порядковый номер будет генерироваться автоматически (предыдущее значение + 1) по мере добавления новых строк в таблицу.

    root@s:

    # mysql -uroot

    Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.

    Your MySQL connection id is 194131

    Server version: 5.7.17-log Source distribution

    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

    Type 'help;' or '\h' for help. Type '\c* to clear the current input statement.

    root@localhost [(none)]> use urgpu; Database changed

    Проектирование и создание информационной системы 1

    для торговой организации 1

    Содержание 2

    Введение 3

    1.1. Особенности информатизации торговой организации 5

    Веб-приложения имеют свои положительные особенности, соблюдающие и дополняющие свойства открытых систем [4]: 11

    1.2. Стандарты разработки веб-приложений 17

    2.1. Разработка серверной части информационной системы 24

    Mariadb 30

    2.2. Разработка клиентской части информационной системы 45

    2.3. Тестирование и обзор информационной системы 56

    «Главная панель» 65

    «Заказы» 68

    «Клиенты» 69

    «Поставщики» 70

    «Статистика» 72

    «Задачи» 73

    «Логи» 76

    Минимальные требования к аппаратному и программному обеспечению: 77

    Заключение 80

    Список источников и литературы 82

    «./index.php» - главный файл веб-приложения. 84

    «./templates/all.html» - главный HTML шаблон веб-приложения. 88

    «./components/functions.php» - файл содержащий пользовательские PHP- функции. 91

    «./components/pages/reports.php» - файл содержащий PHP-код раздела статистики. 108

    root@localhost [urgpu]> |

    Рис. 14. Работа с СУБД MySQL через консоль MySQL-Client

    Таким образом, разработана база данных торговой организации — основной компонент системы. Данная БД позволяет хранить, обрабатывать и дополнять информацию организации в едином месте.

    Следующим шагом по настройке back-end части - стала установка HTTP-сервера, умеющего интерпретировать PHP-код.

    Apache HTTP Server - это свободно распространяемый HTTP сервер под лицензией Apache License 2.0 (http://www.apache.org/). Он осуществляет 2 главные функции: взаимодействует с клиентом по HTTP протоколу и компилирует php-код при помощи соответствующего встроенного модуля (рис. 15.). Данная программа является наиболее актуальной и используемой для создания web-серверов [2]. Также Apache кроссплатформенный, надёжный и гибкий в конфигурации [30].









    Получение данных

    PHP

    HTTP-server

    Браузер

    Ответ в виде HTML страницы *

    Запрос страницы

    FHF






    Рис. 15. Схема работы веб-сервера

    В качестве языка программирования для написания back-end части web- приложения информационной системы был выбран PHP.

    PHP (препроцессор гипертекста), первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг- провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов [7,13]. Использование PHP осуществляется под PHP License, являющейся open source лицензией, призванной стимулировать широкое распространение исходного кода. Лицензия позволяет распространение материалов в исходной или бинарной форме с изменениями или без таковых при соблюдении следующих условий [17]:

    1. включение текста лицензии PHP,

    2. слово PHP не может быть включено в название продукта без письменного подтверждения от PHP Group, следующее уведомление должно быть включено в любую форму распространяемых материалов: "This product includes PHP software, freely available from
      1   2   3   4


    написать администратору сайта