Статья опубликована в рамках: XLVIII Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 05 июля 2018 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ОРГАНИЗАЦИЯ И ХРАНЕНИЕ ГЕОТОЧЕК В БАЗЕ ДАННЫХ MYSQL
АННОТАЦИЯ
Цель – рассмотреть вопрос организации и хранения точек в базе данных MySQL, привести пример добавления точек в базу данных. Оценить преимущества и недостатки рассматриваемого способа.
ABSTRACT
The purpose is to consider the organization and storage of points in the MySQL database, give an example of adding points to the database. To evaluate the advantages and disadvantages of the method.
Ключевые слова: MySQL; базы данных; AJAX; динамический веб-сайт; серверная часть; картографические сервисы.
Keywords: MySQL; databases; AJAX; dynamic website; backend; cartographic service.
Зачастую, при работе с различными картографическими сервисами возникает проблема хранения координат различных точек (меток), объектов, полигонов.
В данной статье будет рассматриваться организация и хранение геоточек в базе данных MySQL. Подразумевается, что работа с картографическим сервисом будет осуществляться с использованием браузера, то есть, определяются две части: клиентская и серверная.
Клиентская часть отвечает за визуализацию представляемых данных сервером на определенный запрос пользователя.
Серверная часть отвечает за обработку запросов пользователя и вывода необходимой информации, а также, непосредственно осуществляет работу с базой данных.
На рисунке 1 представлена схема работы динамического веб-сайта.
Рисунок 1. Схема динамического веб-сайта
Алгоритм работы следующий:
1) При переходе пользователя на страницу веб-сайта, браузер отправляет на сервер HTTP-запрос методом «GET» [2].
2) Сервер обрабатывает запрос и определяет какие действия необходимо выполнить.
3) Код серверной части выполняет запрос.
4) Подгружается необходимы HTML шаблон, в блоки которого вставляются запрашиваемые данные.
5) Веб-сервер возвращает HTTP-ответ пользователю.
Современной тенденцией в сайтостроении является использование AJAX-технологии. AJAX – это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее [1]. Таким образом, при помощи данной технологии можно осуществлять как передачу и запрос данных методом POST, так и обработку различных действий пользователя.
Координаты записываются в объект, представляющий собой ассоциативный массив, который содержит пару «ключ-значение». Данные передаются в формате JSON на сервер, где они декодируются.
Важной проверкой, которой пренебрегают начинающие веб-разработчики, является проверка на SQL инъекции. Данная проверка позволяет предотвратить взлом сайта, путем внедрения произвольного SQL кода в «готовые» запросы к базе данных.
Наиболее часто встречающейся моделью базы данных является реляционная модель. Реляционная база данных предусматривает отношения (таблицы), которые связаны между собой внешними ключами. Предусматриваются связи между отношениями один-к-одному и один-ко-многим.
В реляционных моделях данных присутствует такое понятие как «нормализация форм». Выделяют 6 нормальных форм, каждая из которых направлена на уменьшение избыточности информации в базе данных. Для примера будет рассмотрена небольшая БД, которая будет хранить информацию об организациях и местоположений их офисов.
На рисунке 2 изображена физическая модель получившейся БД.
Рисунок 2. Физическая модель базы данных
Для хранения координат используется тип данных POINT, который присутствует в MySQL. Он состоит из Х и Y координат, которые могут быть получены с использованием ST_X() и ST_Y() функции, соответственно. Для записи координат необходимо подвести их под определенный стандарт. С помощью конкатенации осуществляется формирование записи координат вида 45.4859323980067 5.09323412494082, после чего метод PointFromText возвращает значение GEOGRAPHY_POINT, которое записывается в таблицу базы данных Location.
На стороне сервера, обработка запросов и работа с базой данных осуществляется на языке php. PHP является одним из немногих языков программирования, который ориентирован лишь для web – разработки. Он не имеет избыточности, которая присуща многим языкам программирования и состоит из функций, необходимых именно при работе на веб–сервере.
На рисунке 3 представлен метод, осуществляющий добавление координат в БД.
Рисунок 3. Метод, содержащий SQL запрос на добавление координат в таблицу БД
На рисунке 4 представлен формат записи координаты точки в базе данных MySQL.
Рисунок 4. Координаты точки в базе данных
Таким образом, данный способ является наиболее простым и оптимальным при хранении геоточек в базе данных MySQL.
Список литературы:
- Фримен А. jQuery для профессионалов / А. Фримен – М.: «Вильямс», 2013. – 960 с.
- World Wide Web Consortium (W3C): http://www.w3.org/, свободный (дата обращения: 27.06.2018)
дипломов
Оставить комментарий