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

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

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

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

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

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

Обладнання: комп'ютери зі встановленими ОС, Ruby, 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 мовою Ruby за допомогою бібліотеки Ruby-mysql2 (її встанов­люють за допомогою мене­джера програм), може мати такий вигляд:

require 'mysql2'             # під'єднання бібліотеки mysql2
c = Mysql2::Client.new(      # створення сполучення
    :host     => '127.0.0.1',# адреса локального сервера (localhost)
    :username => 'root',     # обліковий запис користувача базами даних
    :password => '',         # пароль до облікового запису користувача БД
    :database => "school",   # назва бази даних
    :port     => 3306)       # порт сполучення

r = c.query ("SELECT * FROM pupils WHERE form = '11Б';") # запит

r.each do | row |            # виведення результатів запиту:
  puts row                   # кожний рядок таблиці у вигляді
end                          # словника (асоціативного масиву) 

r.each do | row |            # виведення результатів запиту:
  print row['sename'],' ',   # для кожного рядка таблиці -
        row['name'],' ',     # значення полів 'sename', 'name',
        row['form'],' ',     # 'form' i 'no' через пробіл
        row['no'],"\n" 
end

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

{"sename"=>"ЛИСЕНКО", "name"=>"ДМИТРО", "form"=>"11Б", "no"=>"113"}
{"sename"=>"РУДЕНКО", "name"=>"ОЛЕГ", "form"=>"11Б", "no"=>"114"}
{"sename"=>"САВЧЕНКО", "name"=>"ВАЛЕРІЙ", "form"=>"11Б", "no"=>"115"}
{"sename"=>"ПЕТРЕНКО", "name"=>"ЛЕОНІД", "form"=>"11Б", "no"=>"116"}
{"sename"=>"ШУЛЬГА", "name"=>"ГАЛИНА", "form"=>"11Б", "no"=>"117"}
{"sename"=>"РАДЧЕНКО", "name"=>"ТЕТЯНА", "form"=>"11Б", "no"=>"118"}
{"sename"=>"КОРОЛЬ", "name"=>"НАДІЯ", "form"=>"11Б", "no"=>"119"}
{"sename"=>"ОСТАПЕНКО", "name"=>"ЛЮДМИЛА", "form"=>"11Б", "no"=>"120"}
ЛИСЕНКО ДМИТРО 11Б 113
РУДЕНКО ОЛЕГ 11Б 114
САВЧЕНКО ВАЛЕРІЙ 11Б 115
ПЕТРЕНКО ЛЕОНІД 11Б 116
ШУЛЬГА ГАЛИНА 11Б 117
РАДЧЕНКО ТЕТЯНА 11Б 118
КОРОЛЬ НАДІЯ 11Б 119
ОСТАПЕНКО ЛЮДМИЛА 11Б 120

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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