Технологии создания приложений БД
Практический курс по созданию приложений разных типов, использующих различные базы данных.
Скайп для онлайн-занятий: https://join.skype.com/DFaaYfbEkube
Видео лекций: Youtube playlist
Лабораторные работы
Тематика заданий- Встраиваемая реляционная СУБД, консольное приложение. Написать консольную программу на языке PHP, работающую с встраиваемой БД SQLite.
- NoSQL СУБД, клиентское веб-приложение. Написать браузерное веб-приложение на языке JavaScript, работающее с IndexedDB.
- Реляционная СУБД, веб-приложение. Написать веб-приложение (PHP-фреймворк + JavaScript), использующее ORM и работающее с СУБД MySQL.
- Для каждого студента 402 группы создан свой репозиторий в https://github.com/andpop-mrsu. В этих репозиториях преподаватель размещает задания для лабораторных работ (файлы task01.md, task02.md, ...), а студент - проекты для решения этих заданий (в соответствующих папках Task01, Task02, Task03, ...).
- Прав на запись в эти репозитории у студентов нет, ваши файлы должны попадать туда из личных репозиториев через механизм Pull Requests.
- Задание будет считаться принятым после закрытия соответствующего Pull Request в https://github.com/andpop-mrsu.
Презентации и примеры к лекциям
Код к лекциям: https://github.com/andpop/MRSU-examples/tree/main/db_tech
Схема сдачи лабораторных работ через Pull Request.
1. Классификация приложений и СУБД. Задачи курса и л/р 1.
2. Создание приложений PHP с помощью менеджера зависимостей Composer. Задачи л/р 2.
3. Структура и оформление консольного PHP-приложения.
4. Консольные и браузерные приложения.
5. Особенности JavaScript в браузерных приложениях.
Статистика группы 402
При расчете баллов учитываются два критерия:- Полнота выполнения задания (в процентах).
- Своевременность сдачи задания:
- К контрольному сроку - коэффициент 1.
- Задержка до 14 дней - коэффициент 0,8.
- Задержка 14 дней и более - коэффициент 0,5.
Вопросы к экзамену
- Распределенная разработка приложений с использованием Git и GitHub.
- Интерактивный и программный режимы работы с базами данных на примере SQLite.
- Задача проектирования и создания структуры базы данных для реляционных и нереляционных СУБД.
- Обеспечение логической целостности данных средствами СУБД (на примере MySQL или MariaDB).
- Работа с данными в исполняемые скриптах для Unix-подобных операционных систем и для Windows.
- Архитектура консольных приложений. Стандартные потоки ввода/вывода.
- Разработка консольных приложений, работающих со встраиваевыми базами данных (на примере SQLite).
- Программный доступ к реляционным базам данных с помощью SQL на примере библиотеки PDO в PHP.
- Объектно-реляционные отображения данных (ORM). Использование ORM на примере RedBean PHP.
- Стандарты PSR при разработке PHP-приложений.
- Повторное использование кода для PHP-приложений. Пакетный менеджер Composer.
- Модульная архитектура браузерных JavaScript-приложений.
- Работа с локальными данными из браузерных приложений. Local storage и база данных IndexedDB.
- Использование нереляционных баз данных на примере IndexedDB и MongoDB.
- Реализация клиент-серверной архитектуры веб-приложений, протокол HTTP.
- Архитектура одностраничных веб-приложений. Технологии асинхронного обмена данными с сервером.
- Работа с данными из веб-приложений с использованием REST API.
- Архитектура серверной части веб-приложений на PHP.
- Серверный и клиентский рендеринг веб-страниц, технологии Page Controller и Front Controller.
- Использование микрофреймворков для создания веб-приложений на примере Slim (PHP).
Литература к курсу
- Форта Б. "SQL за 10 минут" - М.: Вильямс, 2014. – 288 с.
- Кузнецов М.В., Симдянов И.В. "MySQL 5" — СПб.: БХВ-Петербург, 2006. — 1024 с.
- Маклафлин Б. "PHP и MySQL. Исчерпывающее руководство" — СПб.: Питер, 2013. — 512 с.
- Колисниченко Д. "PHP и MySQL. Разработка web-приложений" — СПб.: БХВ-Петербург, 2013. — 560 с.
- Смольянов А.Г., Карьгин И.П., Смольянова Е.Г. "Работа с удаленными базами данных средствами Web : учебное пособие" — Саранск: Мордов. гос. пед. ин-т, 2017. — 122 с.