Розробка уроку — практичної роботи

Тема: cтворення програмного проекта простої бази даних «Учні» з даними про прізвище, ім'я, успішність, забезпечення виведення даних про учнів за зазначиними критеріями.

Мета: навчити основам роботи з базами даних SQL з використанням мови програмування Python.

Учні повинні знати:

Учні повинні мати уявлення про можливості комплексу Python + MariaDB.

Учні повинні вміти:

Обладнання: комп'ютери зі встановленими ОС, Python, XAMPP.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Інструктаж з ТБ.
  5. Закріплення вивченого матеріалу.
  6. Підбиття підсумків уроку.
  7. Домашнє завдання.

Примітка. Цей урок проводять лише після успішного опанування матеріалом уроків щодо вивчення SQL і виконання усіх його практичних завдань.

Хід уроку

1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку.

2. Актуалізація опорних знань
Дати відповідь на питання і порівняти з очікуваним.

  1. Що таке SQL?
  2. Яка ознака кінця вказівки SQL?
  3. Які вказівки SQL створюють базу даних, таблицю, запит?
  4. Що таке агрегатна функція SQL? Назвати приклади
  5. Що таке внутрішнє і зовнішнє об'єднання?
  6. Що таке MySQL?
  7. Що таке XAMPP?
  8. Що таке MariaDB?
  9. Як виглядає програма зчитування і друку в консоль рядків файлу input.txt?

3. Вивчення нового матеріалу

Під'єднання бази даних і здійснення запиту мовою SQL мовою Python за допомогою бібліотеки (Python3-)pymysql (її встанов­люють за допомогою мене­джера програм) може мати такий вигляд:

import pymysql           # під'єднання бібліотеки pymysql
c = pymysql.connect(     # створення сполучення
    host  = '127.0.0.1', # адреса локального сервера (localhost)
    user = 'root',       # обліковий запис користувача базами даних
    passwd    = '',      # пароль до облікового запису користувача БД
    db = "school")       # назва бази даних
with c.cursor() as t:
  try:                                                    # початок блоку для пошуку виключення 
    t.execute("SELECT * FROM pupils WHERE form = '11Б';") # виконати запит SQL
    r = t.fetchall()                                      # повернення результату запиту
    for s in r:                                           # виведення результату запиту у вигляді
        print(s)
  except:                   # дії у разі виключення - неможливості коректно виконати вказівку
    print("Щось негаразд!") 
  finally: c.commit()       # збереження дії з БД
c.close()                   # закриття сполучення

Тут замість назв змінних c, r, s, t можуть бути довільні інші назви. Поданий вище код програми є змістовним прикладом для бази даних school, побудованої раніше у середовищі XAMPP, для якої він дає такий результат у консолі:

('ЛИСЕНКО', 'ДМИТРО', '11Б', '113')
('РУДЕНКО', 'ОЛЕГ', '11Б', '114')
('САВЧЕНКО', 'ВАЛЕРІЙ', '11Б', '115')
('ПЕТРЕНКО', 'ЛЕОНІД', '11Б', '116')
('ШУЛЬГА', 'ГАЛИНА', '11Б', '117')
('РАДЧЕНКО', 'ТЕТЯНА', '11Б', '118')
('КОРОЛЬ', 'НАДІЯ', '11Б', '119')
('ОСТАПЕНКО', 'ЛЮДМИЛА', '11Б', '120')

Для виведення значення окремого поля потрібно вказати його номер (нумерацію починають з нуля). Наприклад, якщо замінити у поданому вище коді вказівку print(s) на print(s[0]), то буде виведено лише прізвища — по одному в рядок без апострофів (лапок).

4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу


На початку виконання завдань середовище XAMPP повинне бути активним і містити порожню базу даних school. При виконанні завдань використати демонстраційні розв'язання a, b, c завдань уроку 1 щодо SQL.

Завдання 1. Створити програму мовою Python, яка засобами SQL:

Порівняти з очікуваними кодом і виведенням.

Завдання 2. Використовуючи попередньо апробований код SQL, створити програму мовою Python для виведення у консоль у вигляді асоціативних масивів таких даних:

Виконати запити й порівняти з очікуваними кодом мовою Python і результатом.

Завдання 3. Використовуючи попередньо апробований код SQL, створити програму мовою Python для такого:

Виконати запити й порівняти з очікуваними кодом і результатом. Зауважте: незважаючи на виключення при створенні перегляду, дані виведено правильно.

Завдання 4. Використовуючи попередньо апробований код SQL, створити програму мовою Python для такого:

Виконати запити й порівняти з очікуваними кодом і результатом.

6. Підбиття підсумків уроку

Дати відповідь на питання і порівняти з очікуваним.

  1. Як під'єднати базу даних мовою Python?
  2. Як здійснити запит мовою SQL з програми мовою Python?
  3. Яка структура результату запиту мовою SQL з програми мовою Python?
  4. Як вивести результат запиту мовою SQL з програми мовою Python?

Виставлення оцінок.

7. Домашнє завдання
У разі потреби доробити завдання. Вивчити систаксис під'єднання бази даних і здійснення запиту мовою SQL з програми мовою Python. Написати програму мовою Python, яка:


Текст упорядкував Олександр Рудик.