Базы данных
Короткий вводный курс в базы данных: основные понятия, модели и механизмы.
Скайп для онлайн-занятий: https://join.skype.com/DFaaYfbEkube
Вопросы к экзамену
- Значение данных. Базы данных и СУБД как часть технологий работы с данными.
- Файловая система как прообраз баз данных. СУБД как средство обеспечения логической и физической независимости данных.
- СУБД: основные понятия и функции, классификация.
- Архитектуры СУБД. Встраиваемые СУБД, технологии файл-сервер и клиент-сервер.
- Три уровня описания данных в БД. Концептуальное моделирование БД, ER-диаграммы.
- Иерархическая, сетевая и реляционная модели данных.
- Теоретические основы реляционной модели данных.
- Аномалии при работе с данными. Нормализация таблиц в реляционной БД.
- Транзакции в базе данных. ACID-свойства и CAP-теорема.
- Блокировки в базе данных. Уровни изоляции транзакций.
- Структура консольных приложений, работающих с базами данных.
- Структура веб-приложений, работающих с базами данных.
- Индексирование данных для ускорения поиска. Простые, составные и покрывающие индексы.
- SQL как язык программирования. Генерация байт-кода для SQL-команд в SQLite.
- Возможности языка запросов SQL. Категории команд SQL.
- Использование SQL для создания баз данных и таблиц. Особенности SQLite.
- Функции агрегирования и оконные функции в SQL-запросах.
- Обобщенные табличные выражения в SQLite.
- Типы соединения таблиц в реляционной БД с помощью SQL-запросов.
- Задание связей и ограничений в реляционной СУБД.
- Сортировка, группировка и объединение результатов SQL-запросов.
- Вложенные и связанные подзапросы SQL.
- Использование SQL для вставки, изменения и удаления данных в таблицах.
- Объектно-реляционные отображения (ORM).
- NoSQL базы данных.
Литература к курсу
- Токмаков Г.П. "Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML : учебное пособие" – Ульяновск : УлГТУ, 2010. − 192 с.
- Швецов В.И., Визгунов А.Н., Мееров И.Б. "Базы данных. Учебное пособие" - Нижний Новгород : Изд-во ННГУ, 2004. - 217 с.
- Грабер М. "Понимание SQL" - М.: 1993. – 291 с.
- Форта Б. "SQL за 10 минут" - М.: Вильямс, 2014. – 288 с.
- Тарасов С.В. "СУБД для программиста. Базы данных изнутри" — М.: СОЛОН-Пресс, 2015. — 320 с.
- Кузнецов М.В., Симдянов И.В. "MySQL 5" — СПб.: БХВ-Петербург, 2006. — 1024 с.
- Дюбуа П. "MySQL. Сборник рецептов" — СПб.: Символ-плюс, 2006. — 1056 с.
- Маклафлин Б. "PHP и MySQL. Исчерпывающее руководство" — СПб.: Питер, 2013. — 512 с.
- Колисниченко Д. "PHP и MySQL. Разработка web-приложений" — СПб.: БХВ-Петербург, 2013. — 560 с.
- Смольянов А.Г., Карьгин И.П., Смольянова Е.Г. "Работа с удаленными базами данных средствами Web : учебное пособие" — Саранск: Мордов. гос. пед. ин-т, 2017. — 122 с.
Презентации к лекциям
Схема сдачи лабораторных работ через Pull Request.
1.1. Значение и классификация данных. Базы данных как часть технологий работы с данными.
1.2. История возникновения баз данных. Файловая система как их прообраз. Типы задач, для решения которых необходимы базы данных.
2. Функции СУБД. Классификация и выбор СУБД.
4. Язык SQL - 2. CRUD-операции, варианты соединения таблиц. Подзапросы в операторах языка SQL.
5. Язык SQL - 3. Условные операторы, аналитические (оконные) функции, обобщенные табличные выражения (CTE)
6. Модели данных. Реляционные и нереляционные СУБД
7. Проектирование базы данных. Трехуровневая модель данных. Аномалии в данных. Нормализация реляционной базы данных.
8. Методика проектирования базы данных.
9. Производительность SQL-запросов. Индексирование данных
2.1. Назначение и функции СУБД.
5. Проектирование базы данных. Концептуальные и логические модели данных. Иерархическая модель данных.
6.1. Реляционная модель данных.
6.2. Аномалии в данных. Нормализация реляционной базы данных.
8. Внутреннее устройство базы данных
11. Классификация и выбор СУБД
9. Консольные приложения на PHP
10. Frontend и backend. Веб приложения на PHP
12. Реляционные и нереляционные СУБД.
Видео лекций
Лабораторные работы
Тематика заданий- Интерактивная работа с реляционными базами данных. Проектирование базы данных. Создание и изменение таблиц. Вставка, выборка, изменение и удаление данных.
- Программная работа с реляционной базой данных. Создание PHP-приложения для работы с базой данных через PDO и ORM.
- Для каждого студента 303 группы создан свой репозиторий в https://github.com/andpop-mrsu. В этих репозиториях преподаватель размещает задания для лабораторных работ (файлы task01.md, task02.md, ...), а студент - проекты для решения этих заданий (в соответствующих папках Task01, Task02, Task03, ...).
- Прав на запись в эти репозитории у студентов нет, ваши файлы должны попадать туда из личных репозиториев через механизм Pull Requests.
- Задание будет считаться принятым после закрытия соответствующего Pull Request в https://github.com/andpop-mrsu.
Статистика группы 303
- Полнота выполнения задания (в процентах).
- Своевременность сдачи задания:
- К контрольному сроку - коэффициент 1.
- Задержка до 14 дней - коэффициент 0,8.
- Задержка 14 дней и более - коэффициент 0,5.