Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diploma_Pasternak.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.82 Mб
Скачать

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]