SQLite

SQLite является бесплатной кросплатформенной компактной встраиваемой
системой управления базами данных, которая хранит все данные в обычном
бинарном файле и поэтому — легко переносима.
Данный курс предполагает разработку курсового проекта с использованием
библиотеки SQLite3 языка Python.
Слушатели на практике познакомятся со всеми основными SQL-запросами,
тонкостями извлечения данных по определённым условиям, а также
применением различных агрегирующих, группирующих и упорядочивающих функций.
Система , применяемая в курсе для  проверки синтаксиса учебных программ,
позволяет легко находить и исправлять ошибки, допущенные при написании кода.

Целевая аудитория

Данный курс разработан для незрячих пользователей, которым нужно освоить основы работы с системой управления реляционными базами данных, а также специфику невизуального взаимодействия с ними.
Курс будет полезен в первую очередь студентам, изучающим возможности СУБД в своих учебных заведениях.
Слушатели, прошедшие обучение, смогут:

  • Легко создавать основные SQL-запросы;
  • Разным способом извлекать данные по определённым условиям;
  • Разрабатывать прикладные базы данных для собственных нужд;
  • Понимать, как функционируют другие СУБД, и поэтому легче их осваивать.

Требования к компетенциям слушателя

Для успешного освоения курса слушатель должен:

  • Хорошо знать русскую и английскую раскладки клавиатуры;
  • Уметь редактировать текст, включая операции копирования, вставки, удаления.

Приветствуется знание английского языка и языка программирования Python (хотя бы на школьном уровне).

Основные темы курса

Курс представлен следующими темами:

  1. Создание и подключение к базе данных:
    1. Установка и настройка Python;
    2. Запуск тестового приложения, поиск и исправление ошибок;
    3. Введение в реляционные базы данных;
    4. Включение библиотеки sqlite3;
    5. Способы создания и подключения к базе данных;
    6. Создание объекта курсора;
    7. SQL-запросы;
    8. Выполнение тестового запроса;
    9. Курсовой проект: создание базы данных и интерфейса приложения.
  2. Создание таблицы:
    1. Проектирование базы данных;
    2. Краткая запись структуры базы данных;
    3. Типы данных таблиц;
    4. Создание таблиц;
    5. Выполнение запросов: функции execute, executemany, executescript;
    6. Сохранение изменений базы данных: функции commit, rollback;
    7. Курсовой проект: создание таблиц проекта.
  3. Вставка данных в таблицу:
    1. Размещение данных в теле запроса;
    2. Использование переменных в теле запроса;
    3. Добавление кортежа данных с помощью шаблона;
    4. Добавление списка кортежей данных с помощью шаблона;
    5. Блок обработки исключений: try/except/finally;
    6. Курсовой проект: Пакетное добавление исходных данных.
  4. Извлечение данных из таблицы:
    1. Извлечение данных: Оператор SELECT;
    2. Извлечение определённых полей;
    3. Точечная нотация полей;
    4. Упорядочивание результатов: ORDER BY, ASC, DESC;
    5. Ограничение числа результатов: оператор LIMIT;
    6. Курсовой проект: извлечение всех данных из каждой таблицы.
  5. Операторы фильтрации:
    1. Извлечение данных по определённому условию: оператор WHERE;
    2. Операторы сравнения;
    3. Операторы BETWEEN, LIKE, IN, NOT IN, IS NULL;
    4. Курсовой проект: извлечение данных по определённому условию.
  6. Агрегирующие функции и группировка данных:
    1. Агрегирующие функции: count, sum, max, min, avg;
    2. Извлечение уникальных данных: Оператор DISTINCT;
    3. Группировка данных: оператор GROUP BY;
    4. Объединение данных двух таблиц: оператор JOIN ON;
    5. Курсовой проект: извлечение данных с использованием агрегирующих функций, группировки и объединения данных.
  7. Вложенные запросы:
    1. Извлечение данных с помощью двух разных запросов;
    2. Добавление одного запроса внутрь другого запроса;
    3. Вложенные запросы для  операторов: INSERT, UPDATE, DELETE;
    4. Курсовой проект: извлечение данных с помощью вложенного запроса.
  8. Резервирование и удаление данных:
    1. Резервирование базы данных: функция iterdump;
    2. Удаление записей по определённому условию: оператор DELETE;
    3. Удаление всех записей в таблице;
    4. Удаление таблиц: оператор DROP TABLE;
    5. Восстановление базы данных;
    6. Курсовой проект: создание механизма резервирования и восстановления
      базы данных.
      Итоговый контроль. Выводы

Ожидаемые результаты

В результате освоения курса слушатель сможет:

  • Проектировать и создавать базы данных различного назначения;
  • Понимать сторонние и создавать пользовательские SQL- запросы;
  • Извлекать данные таблиц базы данных по определённым условиям;
  • Резервировать и восстанавливать текущее состояние базы данных.