
- •Анотація
- •Розділ 1. Аналіз найвідоміших картографічних сервісів.
- •Розділ 2. Специфікація пз для інформаційної підтримки велодоріжок м. Хмельницький та постановка задачі роботи.
- •2.1. Постановка задачі та вибір структур даних.
- •2.2. Специфікація пз для інформаційної підтримки велодоріжок.
- •2.2 Класи користувачів та їх характеристики
- •2.3 Середовище функціонування
- •3. Характеристики системи
- •3.1.1. Ввід велосипедних маршрутів;
- •2.3. Опис обраних технологій.
- •Розділ 3. Проектування пз для інформаційної підтримки велодоріжок м. Хмельницький
- •3.1. Проектування загальної архітектури пз
- •3.2. Розробка бази даних.
- •Розділ 4. Програмна реалізація та тестування пз для інформаційної підтримки велодоріжок м. Хмельницький
- •4.1. Ввід велосипедних маршрутів
- •4.2. Редагування велосипедних маршрутів
- •4.3. Перегляд доступних маршрутів
- •4.4. Зворотній контакт
- •4.5 Тестування системи
- •5. Розділ з економіки висновки.
- •Список літератури
- •Додаток а. Uml-діаграми пз для інформаційної підтримки велодоріжок
- •Додаток б. Інструкція користувача пз для інформаційної підтримки вело доріжок м Хмельницький.
- •1. Компоненти пз.
- •2. Встановлення пз.
- •3. Базові функції пз.
- •Додаток в. Текст програми
3.2. Розробка бази даних.
Для збереження інформації у системі використовувалася база даних MySQL. Основний тип таблиць MyISAM. MyISAM таблиці зберігаються на диску в трьох файлах в каталозі з іменем, що відповідає імені бази даних. Файли названі згідно з ім'ям таблиці в базі даних. Розширення файлів означають: .FRM — визначення таблиці .MYD (MyData) — файл даних, .MYI (MyIndex) — Індекси таблиці.
Основні недоліки MyISAM: брак транзакційності, блокування на рівні таблиць, і відсутність підтримки стандартів MVCC та ACID. MyISAM, однак, один із небагатьох механізмів що підтримує повнотекстовий пошук.
Проектована БД, була зведена до третьої нормальної форми, щоб уникнути надлишковостей та повторення даних на рис. 3.2 зображена ER - схема бази даних (візуальне відображення в утиліті PHPMyAdmin)
Рис. 3.2 Діаграма бази даних
У базі даних є п’ять таблиць, що зберігають інформацію. Дві із них зв’язані між собою зв’язком один до багатьох. Кожна таблиця містить в собі елемент первинного ключа та автоінкремент.
Таблиця users – таблиця для зберігання користувачів та паролів входу адміністраторів. Містить наступні поля:
ID – первинний ключ, унікальний ідентифікатор поля
Name- ім’я користувача для його ідентифікації у реальному житті, не є обов’язкове для заповнення
Login – ім’я користувача для логіну у систему
Password – пароль користувача, зберігається у закодованому вигляді хешу md5
Reg_date – дата реєстрації користувача у системі наводиться для додаткової інформації
На рис. 3.3 зображена таблиця users.
Рис. 3.3 структура таблиця users
Таблиця contact_us – таблиця із інформацію про людей, що вирішили зв’язатися із розробниками або задати питання адміністрації системи. Містить наступні поля:
ID – первинний ключ, ідентифікатор із властивістю автоінкременту
Who – імя користувача що заповнив форму
Date – дата коли був залишений запис
Note – текст повідмолення, яке користувач залишив у контактній формі, максимальна довжна 4000 символів
Active – поле-перевірка чи була дана відповідь на запит
Email – електронна адреса користувача для зворотнього зв’язку
На рис. 3.4 зображена схема таблиці contact_us.
Рис. 3.4 таблиця contact_us
Таблиця streets – допоміжна таблиця із списком усіх вулиць, що є у місті Хмельницькому. Має два поля:
StreetID – унікальний ідентифікатор первинного ключа
StreetName – назва вулиці, поле дозволене для вводу кириличних символів використовується порівняння кодування cp1251_ukrainian_ci.
Таблиця ways – призначення для збереження маршрутів системи. Зв’язана із таблицею path оскільки маршрути у БД зберігаються наступним чином. Кожен маршрут – це набір послідовних координат, які зберігаються у таблиці path, кожна координата належить певному маршруту, оскільки всі координати є посортовані у мірі їх добавляння на карту маршрут не перемішується і не ламається саме, тому візуальні лінії завжди правильно відтворюються. Поля таблиці ways:
ID – первинний ключ, автоінкремент
Complexity – складність маршруту у балах від 1 до 5
Length – довжина маршруту (обчислюється системою автоматично на основі введених на карту даних)
Name – назва маршруту, обов’язково повинна бути латинецею для правильної передачі даних при асинхронному запиті
На рис. 3.5 зображена схема таблиці ways
Рис. 3.5 Схема таблиці ways
Таблиця path – призначена для збереження послідовних координат вело доріжок має наступні поля:
ID - первинний ключ, для унікальної ідентифікації
X- координата горизонту для точки, що є позначкою на маршруті
Y – координата вертикалі для точки
WayID – поле посилання на таблицю ways, використовується для зв’язки
На рис. 3.6 зображена схема таблиці path.
Рис. 3.6 Схема таблиці path