+7 (812) 703-02-02 info@hse.spbstu.ru

BEND-DB. Администрирование и разработка баз данных (MYSQL)

Длительность дисциплины: 40 ак.ч.


Аннотация

В настоящее время ни одна серьезная разработка не обходится без использования баз данных для хранения информации. При этом одной из наиболее распространенных баз данных для этих целей, в рамках веб-разработок, является SQL.

Данный курс посвящен вопросу изучения языка запросов SQL и реляционной системы управления базами данных MySQL.


Знания и умения, полученные в результате изучения

В результате обучения слушатели будут:

  • Знать:
    • синтаксис языка SQL.
    • существующие движки баз данных и их отличия друг от друга.
    • основы администрирования баз данных.
    • способы оптимизации запросов.
  • Уметь:
    • работать с базами данных из командной строки и из графического интерфейса.
    • создавать запросы различной сложности.
    • создавать триггеры.
    • создавать транзакции.
    • оптимизировать запросы.

Содержание дисциплины

Темы лекций

Тема 1

  • Введение в базы данных.
  • Основные сведения о реляционных базах данных.
  • Основные понятия.
  • Начало работы.
  • Проектирование базы данных.
  • Нормализация.

Тема 2

  • Создание базы данных
  • Выполнение SQL запросов.
  • Работа с таблицами (создание, изменение структуры, очистка, удаление)
  • Ввод данных в таблицу.
  • Извлечение данных из таблицы.
  • Ключи и индексы.

Тема 3

  • Склеивание таблиц.
  • Операторы и функции проверки условий.
  • Групповые функции.
  • Числовые операторы.
  • Функции даты и времени.

Тема 4

  • Движок базы данных (MyISAM, InnoDB)
  • Транзакции.
  • Блокировки.
  • Расширение MySQL.
  • Хранимые процедуры.

Тема 5

  • phpMyAdmin.
  • Выполнение запросов.
  • Управление правами.
  • Дизайнер.
  • Настройки.

Тема 6

  • Администрирование баз данных.
  • Общие проблемы безопасности.
  • Учетные записи пользователей.
  • Система привилегий и доступа.
  • Резервирование баз данных.
  • Профилактическая проверка и восстановление таблиц.
  • Журналы работы.
  • Репликации.

Тема 7

  • Оптимизация.
  • Оптимизация запросов.
  • Блокировки.
  • Оптимизация структуры данных.

Тема 8

  • Распространенные проблемы.
  • Выявление проблем.
  • Распространенные ошибки.
  • Проблемы с администрированием.
  • Проблемы с запросами.

Практики

Занятие 1

  • Проектирование базы данных.
  • Нормализация.
  • Выстраивание логических взаимосвязей.

Практическая работа: проектирование базы данных.
Домашнее задание: проектирование базы данных личного проекта.

Занятие 2

  • Создание базы данных.
  • Добавление и удаление информации.
  • Выборка данных.

Практическая работа: стек задач по работе с таблицами.
Домашнее задание: реализация личной базы данных и подготовка набора запросов к ней.

Занятие 3

  • Использование операций по выборке.
  • Агрегатные функции.
  • Сложная выборка данных

Практическая работа: стек задач по работе с таблицами.
Домашнее задание: подготовка набора запросов к личной базе.

Занятие 4

  • Написание транзакций.
  • Создание хранимых процедур.

Практическая работа: стек задач по транзакциям и процедурам.
Домашнее задание: перенос ранее реализованных запросов в хранимые процедуры.

Занятие 5

  • Работа с MyAdmin

Практическая работа: Знакомство с интерфейсом и выполнение основных операций в админке.
Домашнее задание: создание и заполнение базы в myAdmin.

Занятие 6

  • Работа с пользователями.
  • Права доступа.
  • Вопросы безопасности.

Практическая работа: стек задач по безопасности данных.
Домашнее задание: применение политик безопасности к собственному проекту.

Занятие 7

  • Оптимизация запросов.
  • Оптимизация структуры.
  • Индексы.

Практическая работа: стек задач по оптимизации.
Домашнее задание: оптимизация личной базы и запросов к ней.

Занятие 8

  • Применение полученных знаний в рамках единого проекта.

Практическая работа: подготовка базы данных для итогового проекта. Нормализация, заполнение.
Домашнее задание: разработка личного проекта.

Занятие 9

  • Применение полученных знаний в рамках единого проекта.

Практическая работа: реализация проекта на выбранную тему