nmk

Лабораторна робота №10 (2 години)

Тема: Налаштування СКБД MySQL. Встановлення бази через phpMyAdmin, створення БД task_manager та проєктування перших таблиць.

Мета: Отримати навички роботи з графічним інтерфейсом користувача (GUI) для СКБД MySQL/MariaDB, навчитися проєктувати початкову реляційну схему даних та створювати таблиці.

Технологічний стек: MySQL/MariaDB, phpMyAdmin.

Завдання

  1. Запустити MySQL-сервер разом із модулем Apache в XAMPP Control Panel.
  2. Перейти в інструмент phpMyAdmin для адміністративного управління базами даних.
  3. Створити нову базу даних (схему) під назвою task_manager.
  4. Створити дві взаємопов’язані таблиці: users (для зберігання профілів) та tasks (для списку завдань).

Хід виконання роботи

Крок 1. Запуск СКБД та phpMyAdmin

Відкрийте контрольну панель вашого локального сервера (XAMPP/MAMP). Натисніть кнопку “Start” навпроти модуля MySQL. Переконайтеся, що порт (зазвичай 3306) засвітився зеленим. Перейдіть у браузер за адресою http://localhost/phpmyadmin. Це написаний на PHP популярний клієнт для управління вашими базами даних.

Крок 2. Створення бази даних

У лівій навігаційній панелі натисніть Створити базу даних (або New). Введіть назву вашої бази даних (використовуйте тільки латиницю, в нижньому регістрі): task_manager. Оберіть кодування: utf8mb4_unicode_ci (це важливо для правильного зберігання кирилиці та сучасних emoji). Натисніть кнопку Створити.

Крок 3. Створення таблиці users

Після створення таблиця task_manager з’явиться в лівому меню. Оберіть її. Система запропонує: “Створити таблицю”. Назвіть першу таблицю users і вкажіть 4 стовпці:

  1. id — INT (Ціле число). Встановіть галочку A_I (Auto Increment — автоматичне збільшення) для унікального ідентифікатора, він автоматично стане Первинним ключем (PRIMARY KEY).
  2. username — VARCHAR, довжина 50 (Текст обмеженої довжини).
  3. email — VARCHAR, довжина 100.
  4. password — VARCHAR, довжина 255. Функції хешування паролів генерують довгі стрічки, тому виділяємо достатньо місця.

Натисніть кнопку “Зберегти” внизу списку колонок.

Крок 4. Створення таблиці tasks

Поверніться в базу task_manager та створіть таблицю tasks із наступною структурою:

  1. id — INT, A_I, Primary Key.
  2. user_id — INT (для вказівки, якому конкретно користувачу належить завдання).
  3. title — VARCHAR, довжина 255.
  4. description — TEXT (Необмежений текст для детального опису завдань).
  5. priority — ENUM, вкажіть можливі значення: 'Low', 'Medium', 'High'.
  6. is_completed — BOOLEAN (або TINYINT 1), за замовчуванням встановити 0 (False).

Через меню “Вставити” (Insert) у phpMyAdmin створіть кілька тестових “фейкових” записів у таблицю tasks. Ці дані ми згодом будемо зчитувати з PHP.

Контрольні запитання

  1. Що таке СКБД (DBMS)? У чому різниця між самою базою даних і phpMyAdmin?
  2. Для чого використовується атрибут “Auto Increment” (A_I), який зазвичай встановлюється на поле id?
  3. Що таке PRIMARY KEY (Первинний ключ) і для чого він критично потрібен у кожній сучасній реляційній таблиці?
  4. Назвіть щонайменше 2 текстові типи даних у MySQL та поясніть різницю між ними.
  5. Чому для паролів ми виділили тип VARCHAR довжиною 255, а не скористалися типом текстового поля меншої довжини?

Вимоги до звіту

  1. У файл lab10.md вставити скриншот з phpMyAdmin довідкової структури таблиці tasks (вкладка “Структура”).
  2. Вставити скриншот вкладки “Огляд” (Browse) таблиці tasks, де видно ваші створені “фейкові” базові записи.
  3. Експортуйте вашу БД у файл database.sql (використовуючи вкладку “Експорт” у phpMyAdmin). Збережіть цей .sql файл у ваш репозиторій на GitHub.
  4. У файлі lab10.md надати стислі, але розгорнуті відповіді на усі контрольні запитання.