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

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

Базы данных

Короткий вводный курс в базы данных: основные понятия, модели и механизмы.


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

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

  1. Значение данных. Базы данных и СУБД как часть технологий работы с данными.
  2. Файловая система как прообраз баз данных. СУБД как средство обеспечения логической и физической независимости данных.
  3. СУБД: основные понятия и функции, классификация.
  4. Архитектуры СУБД. Встраиваемые СУБД, технологии файл-сервер и клиент-сервер.
  5. Три уровня описания данных в БД. Концептуальное моделирование БД, ER-диаграммы.
  6. Иерархическая, сетевая и реляционная модели данных.
  7. Теоретические основы реляционной модели данных.
  8. Аномалии при работе с данными. Нормализация таблиц в реляционной БД.
  9. Транзакции в базе данных. ACID-свойства и CAP-теорема.
  10. Блокировки в базе данных. Уровни изоляции транзакций.
  11. Структура консольных приложений, работающих с базами данных.
  12. Структура веб-приложений, работающих с базами данных.
  13. Индексирование данных для ускорения поиска. Простые, составные и покрывающие индексы.
  14. SQL как язык программирования. Генерация байт-кода для SQL-команд в SQLite.
  15. Возможности языка запросов SQL. Категории команд SQL.
  16. Использование SQL для создания баз данных и таблиц. Особенности SQLite.
  17. Функции агрегирования и оконные функции в SQL-запросах.
  18. Обобщенные табличные выражения в SQLite.
  19. Типы соединения таблиц в реляционной БД с помощью SQL-запросов.
  20. Задание связей и ограничений в реляционной СУБД.
  21. Сортировка, группировка и объединение результатов SQL-запросов.
  22. Вложенные и связанные подзапросы SQL.
  23. Использование SQL для вставки, изменения и удаления данных в таблицах.
  24. Объектно-реляционные отображения (ORM).
  25. NoSQL базы данных.

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

  1. Токмаков Г.П. "Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML : учебное пособие" – Ульяновск : УлГТУ, 2010. − 192 с.
  2. Швецов В.И., Визгунов А.Н., Мееров И.Б. "Базы данных. Учебное пособие" - Нижний Новгород : Изд-во ННГУ, 2004. - 217 с.
  3. Грабер М. "Понимание SQL" - М.: 1993. – 291 с.
  4. Форта Б. "SQL за 10 минут" - М.: Вильямс, 2014. – 288 с.
  5. Тарасов С.В. "СУБД для программиста. Базы данных изнутри" — М.: СОЛОН-Пресс, 2015. — 320 с.
  6. Кузнецов М.В., Симдянов И.В. "MySQL 5" — СПб.: БХВ-Петербург, 2006. — 1024 с.
  7. Дюбуа П. "MySQL. Сборник рецептов" — СПб.: Символ-плюс, 2006. — 1056 с.
  8. Маклафлин Б. "PHP и MySQL. Исчерпывающее руководство" — СПб.: Питер, 2013. — 512 с.
  9. Колисниченко Д. "PHP и MySQL. Разработка web-приложений" — СПб.: БХВ-Петербург, 2013. — 560 с.
  10. Смольянов А.Г., Карьгин И.П., Смольянова Е.Г. "Работа с удаленными базами данных средствами Web : учебное пособие" — Саранск: Мордов. гос. пед. ин-т, 2017. — 122 с.

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

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

1.1. Значение и классификация данных. Базы данных как часть технологий работы с данными.

1.2. История возникновения баз данных. Файловая система как их прообраз. Типы задач, для решения которых необходимы базы данных.

2. Функции СУБД. Классификация и выбор СУБД.

3. Обзор языка SQL.

4. Язык SQL - 2. CRUD-операции, варианты соединения таблиц. Подзапросы в операторах языка SQL.

5. Язык SQL - 3. Условные операторы, аналитические (оконные) функции, обобщенные табличные выражения (CTE)

5.1. Итог по языку SQL

6. Модели данных. Реляционные и нереляционные СУБД

7. Проектирование базы данных. Трехуровневая модель данных. Аномалии в данных. Нормализация реляционной базы данных.

8. Методика проектирования базы данных.

9. Производительность SQL-запросов. Индексирование данных


2.1. Назначение и функции СУБД.

5. Проектирование базы данных. Концептуальные и логические модели данных. Иерархическая модель данных.

6.1. Реляционная модель данных.

6.2. Аномалии в данных. Нормализация реляционной базы данных.

8. Внутреннее устройство базы данных

9. Транзакции в СУБД.

11. Классификация и выбор СУБД


8. Классификация и выбор СУБД

9. Консольные приложения на PHP

10. Frontend и backend. Веб приложения на PHP

11. Транзакции в СУБД.

12. Реляционные и нереляционные СУБД.

13. Объектно-реляционные отображения.

14. NoSQL базы данных.

15. Презентация для общества Знание.

Видео лекций

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

Тематика заданий
  1. Интерактивная работа с реляционными базами данных. Проектирование базы данных. Создание и изменение таблиц. Вставка, выборка, изменение и удаление данных.
  2. Программная работа с реляционной базой данных. Создание PHP-приложения для работы с базой данных через PDO и ORM.
Отчетность по заданиям

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

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