Андрей Попов. Доцент.

Еврейский SQL-сервер отвечает запросом на запрос...

Технологии создания приложений БД

Практический курс по созданию приложений разных типов, использующих различные базы данных.

Скайп для онлайн-занятий: https://join.skype.com/DFaaYfbEkube

Видео лекций: Youtube playlist

Лабораторные работы

Тематика заданий
  1. Встраиваемая реляционная СУБД, консольное приложение. Написать консольную программу на языке PHP, работающую с встраиваемой БД SQLite.
  2. NoSQL СУБД, клиентское веб-приложение. Написать браузерное веб-приложение на языке JavaScript, работающее с IndexedDB.
  3. Реляционная СУБД, веб-приложение. Написать веб-приложение (PHP-фреймворк + JavaScript), использующее ORM и работающее с СУБД MySQL.
Отчетность по заданиям

Презентации и примеры к лекциям

Код к лекциям: https://github.com/andpop/MRSU-examples/tree/main/db_tech

Схема сдачи лабораторных работ через Pull Request.

1. Классификация приложений и СУБД. Задачи курса и л/р 1.

2. Создание приложений PHP с помощью менеджера зависимостей Composer. Задачи л/р 2.

3. Структура и оформление консольного PHP-приложения.

4. Консольные и браузерные приложения.

5. Особенности JavaScript в браузерных приложениях.

6. Обработка браузерных событий в JavaScript.

7. База данных IndexedDB.

8. Веб-приложения. Протокол HTTP. Веб-сервер и CGI-скрипты.

Статистика группы 402

При расчете баллов учитываются два критерия:
  1. Полнота выполнения задания (в процентах).
  2. Своевременность сдачи задания:
    • К контрольному сроку - коэффициент 1.
    • Задержка до 14 дней - коэффициент 0,8.
    • Задержка 14 дней и более - коэффициент 0,5.

Вопросы к экзамену

  1. Распределенная разработка приложений с использованием Git и GitHub.
  2. Интерактивный и программный режимы работы с базами данных на примере SQLite.
  3. Задача проектирования и создания структуры базы данных для реляционных и нереляционных СУБД.
  4. Обеспечение логической целостности данных средствами СУБД (на примере MySQL или MariaDB).
  5. Работа с данными в исполняемые скриптах для Unix-подобных операционных систем и для Windows.
  6. Архитектура консольных приложений. Стандартные потоки ввода/вывода.
  7. Разработка консольных приложений, работающих со встраиваевыми базами данных (на примере SQLite).
  8. Программный доступ к реляционным базам данных с помощью SQL на примере библиотеки PDO в PHP.
  9. Объектно-реляционные отображения данных (ORM). Использование ORM на примере RedBean PHP.
  10. Стандарты PSR при разработке PHP-приложений.
  11. Повторное использование кода для PHP-приложений. Пакетный менеджер Composer.
  12. Модульная архитектура браузерных JavaScript-приложений.
  13. Работа с локальными данными из браузерных приложений. Local storage и база данных IndexedDB.
  14. Использование нереляционных баз данных на примере IndexedDB и MongoDB.
  15. Реализация клиент-серверной архитектуры веб-приложений, протокол HTTP.
  16. Архитектура одностраничных веб-приложений. Технологии асинхронного обмена данными с сервером.
  17. Работа с данными из веб-приложений с использованием REST API.
  18. Архитектура серверной части веб-приложений на PHP.
  19. Серверный и клиентский рендеринг веб-страниц, технологии Page Controller и Front Controller.
  20. Использование микрофреймворков для создания веб-приложений на примере Slim (PHP).

Литература к курсу

  1. Форта Б. "SQL за 10 минут" - М.: Вильямс, 2014. – 288 с.
  2. Кузнецов М.В., Симдянов И.В. "MySQL 5" — СПб.: БХВ-Петербург, 2006. — 1024 с.
  3. Маклафлин Б. "PHP и MySQL. Исчерпывающее руководство" — СПб.: Питер, 2013. — 512 с.
  4. Колисниченко Д. "PHP и MySQL. Разработка web-приложений" — СПб.: БХВ-Петербург, 2013. — 560 с.
  5. Смольянов А.Г., Карьгин И.П., Смольянова Е.Г. "Работа с удаленными базами данных средствами Web : учебное пособие" — Саранск: Мордов. гос. пед. ин-т, 2017. — 122 с.