SQL для начинающих
Данный курс по изучению SQL предназначен для тех, кто только начинает знакомиться с языком структурированных запросов. Он ориентирован на учащихся 8-11 классов общеобразовательных учреждений и студентов СПО. В рамках курса слушатели узнают, как создавать и управлять базами данных, извлекать нужную информацию из таблиц, использовать функции агрегации и группировки, работать с транзакциями и блокировками, а также использовать оконные функции для более продвинутого анализа данных. Курс представлен в виде уроков с пошаговым объяснением материала и практическими заданиями для закрепления полученных знаний. По окончанию курса слушатели смогут самостоятельно создавать запросы на SQL и работать с базами данных.
Формат обучения – онлайн
Цель программы – приобретение навыков работы с основными операциями с базами данных, запросами, функциями и циклами, получение навыков самостоятельной разработки базы данных с использованием языка программирования реляционных баз данных SQL.
Цель программы – формирование познавательной активности обучающихся в области функционального и объектно-ориентированного программирования, приобретение навыков работы c базовыми и сложными структурами языка в интегрированных средах разработки, получение навыков самостоятельного написания кода и разработки эффективных алгоритмов и программ.
Программа включает 4 модуля:
- Введение в SQL (36 ак.ч.)
- Запросы в SQL (36 ак.ч.)
- Процедуры, функции и циклы (36 ак.ч.)
- Создание базы данных (индивидуальное задание для каждого слушателя) (36 ак.ч.)
Актуальность
Изучение SQL (StructuredQueryLanguage) является важным навыком для любого, кто работает с базами данных. SQL позволяет управлять и обрабатывать данные в базах данных, что является необходимой частью многих бизнес-процессов в различных отраслях, таких как медицина, банковское дело, маркетинг и другие. Знание SQL поможет научиться создавать, изменять и управлять базами данных, а также получать данные из баз для анализа и использования. Этот навык также может значительно улучшить возможности на рынке труда, поскольку многие работодатели ищут специалистов, владеющих SQL.
Требования к уровню подготовки: отсутствуют.
Требования к статусу обучающегося: школьники 8-11 классов общеобразовательных организаций.
Требования к оборудованию для самостоятельной работы обучающихся: персональные компьютеры/ноутбуки, Visual Studio, доступ в Интернет.
Требования к программному обеспечению для самостоятельной работы: операционная система (желательно Windows); браузеры: Yandex Browser, Chrome, Chrome Mobile, Firefox, Opera, Safari, Mobile Safari, Edge, Python; среда Wing IDE 101 (версии 6 или выше); среда PyCharm Community Edition.
Рекомендации для обучающихся: до начала обучения по программе необходимо установить оборудование и программное обеспечение; своевременно выполнять задания для самостоятельной работы, которые будут размещены на цифровой платформе МФТИ в соответствии с изучаемыми темами.
В процессе обучения будут сформированы следующие предметные знания:
- Основы работы с реляционными базами данных.
- Понятие SQL, для чего он используется, и какие типы данных и операторы доступны в SQL.
- Ключевые понятия баз данных, таких как отношения, схемы, индексы, транзакции и права доступа к данным.
- Основы реляционной алгебры и реляционных исчислений.
- Этапы и процесс проектирования баз данных.
Так же в результате учебного процесса будут сформированы навыки:
- Создавать таблицы, добавлять и изменять данные в них, а также как удалять таблицы и данные из них
- Использовать оператор SELECT для выборки данных из таблицы, понимать, как работает WHERE для фильтрации данных, и как использовать операторы ORDER BY, GROUP BY и HAVING для сортировки и агрегации данных.
- Обновлять и удалять данные в таблице, используя операторы UPDATE и DELETE.
- Создавать индексы для ускорения работы с таблицами и использовать их в запросах
- Использовать подзапросы для выборки данных из нескольких таблиц.
- Объединять таблицы с помощью операторов JOIN, LEFT JOIN и RIGHT JOIN, и понимать разницу между ними.
- Создавать хранимые процедуры и функции в SQL, для повторного использования кода и упрощения работы с базой данных
- Создавать представления, для упрощения доступа к данным в таблицах.
- Использовать операторы COMMIT и ROLLBACK для управления транзакциями
Курс по изучению SQL для начинающих – это уникальная возможность овладеть основами работы с языком структурированных запросов баз данных. Вы научитесь создавать таблицы, запрашивать данные, изменять их, удалять, использовать функции и многое другое.
В ходе курса вы узнаете, как использовать SQL для работы с различными типами баз данных. Вы также познакомитесь с основными понятиями, такими как таблицы, столбцы, строки, индексы, триггеры и т.д.
Курс включает в себя практические задания, которые помогут вам закрепить полученные знания. Вы научитесь создавать запросы для извлечения данных, использовать фильтры, сортировки, группировки, объединения таблиц и оконные функции.
Вы также научитесь работать с транзакциями и блокировками, что позволит вам эффективно управлять целостностью данных и избегать возможных ошибок.
Курс по изучению SQL для начинающих ориентирован на учащихся 8-11 классов общеобразовательных учреждений. Он подойдет как для тех, кто только начинает изучать язык запросов, так и для тех, кто хочет обновить свои знания и улучшить свои навыки работы с базами данных.
Программа носит практико-ориентированный характер. Все занятия включают как теоретический блок, так и практическую работу для формирования практических навыков в области программирования. Закрепление навыков происходит в процессе самостоятельной работы обучающихся, которые предусмотрены при изучении всех тем. Для практической работы будут использоваться дата сеты от индустриальных партнеров МФТИ.
Календарный учебный график
Введение в SQL
Введение в SQL
Модуль состоит из 8 тем. В конце модуля проводится промежуточная аттестация.
Цель: изучить теоретические основы баз данных и языка программирования реляционных баз данных SQL.
Задачи:
- Ознакомиться с понятием языка реляционных баз данных SQL и основами работы с базами данных.
- Изучить жизненный цикл баз данных.
- Ознакомиться с основами реляционной алгебры и реляционного исчисления
- Рассмотреть процесс проектирования баз данных и, используя полученные знания, спроектировать базу данных по представленной теме.
- Установить систему управления базами данных MySQL и клиента управления базами данных.
- Изучить типы данных SQL.
- Научиться в СУБД MySQL создавать базу данных, первые таблицы, редактировать и удалять их.
- Изучить понятие индекса и работу с ним.
- Научиться работать с основными (CRUD) операциями.
Тема 1. Понятие SQL и реляционной модели баз данных. Основы работы с данными (3 ак.ч.)
- Основные термины.
- Понятие баз данных и сферы использования баз данных.
- Модели данных: иерархическая, сетевая, реляционная.
- Понятие и типы систем управления базами данных (СУБД).
- Понятие языка реляционных баз данных SQL.
- История развития SQL.
- Роль SQLв современном мире – актуальность языка.
- Преимущества и недостатки языка.
Тема 2. Жизненный цикл базы данных (3 ак.ч.)
- Понятие жизненного цикла базы данных.
- Этапы проектирования базы данных: концептуальное, логическое и физическое проектирование.
- Стадии жизненного цикла базы данных.
- Действия, выполняемые на каждом этапе жизненного цикла базы данных.
- Модели жизненного цикла.
Тема 3. Реляционная алгебра и реляционное исчисление (3 ак.ч.)
- Терминология: отношение, атрибут, домен, кортеж, кардинальность, степень отношения.
- Свойства отношений.
- Понятие реляционной алгебры.
- Основные операции реляционной алгебры: выборка (selection), проекция (projection), декартово произведение (Cartesianproduct), объединение (union), разность множеств (setdifference).
- Дополнительные операции реляционной алгебры: соединение (join), пересечение (intersection), деление (division).
- Понятие реляционного исчисления.
- Реляционного исчисления кортежей.
- Реляционного исчисления доменов.
Тема 4. Проектирование баз данных (4 ак.ч.)
- Логические модели баз данных.
- Типы взаимосвязей в моделях баз данных: связь один к одному, связь один ко многим, связь многие ко многим.
- Виды реляционных ключей: первичный и вторичный ключ.
- Нормализация таблиц при проектировании баз данных: первая нормальная форма, вторая нормальная форма, третья нормальная форма.
- Этапы проектирования баз данных: системный анализ предметной области, инфологическое проектирование, выбор целевой СУБД, логическое проектирование, физическое проектирование.
Тема 5. Установка MySQL и клиента управления базами данных (4 ак.ч.)
- Обзор реляционных систем управления базами данных (2022 г.).
- Обзор отечественных СУБД. Обоснование выбора MySQL.
- Редакции MySQL 8.
- Установка MySQL на Windows.
- Скачивание дистрибутива.
- Установка MySQL.
- Настройка конфигурации MySQLServer.
Тема 6. Типы данных (3 ак.ч.)
- Числовые типы.
- Типы даты и времени.
- Строка (символьные и байтовые) типы.
- Пространственные типы и тип данных JSON.
- Значения типов данных по умолчанию.
- Требования к хранилищу типов данных.
Тема 7. Создание базы данных в MySQL. Создание таблицы. Модификация и удаление таблицы. Работа с индексами (6 ак.ч.)
- Создание базы данных в MySQL.
- Оператор для создания таблиц CREATE TABLE.
- Оператор для удаления таблиц DROP TABLE.
- Изменение структуры таблицы ALTER TABLE.
- Операции, выполняемые над таблицами: ADD, ALTER, CHANGE, DROP, MODIFY, RENAME.
- Добавление данных в таблицу: LOAD DATA, INSERT.
- Понятие индексирования. Преимущества и недостатки.
- Типы индексов.
- Создание индекса.
- Удаление индекса.
- Выборка данных – SELECT.
Тема 8. CRUD операции (6 ак.ч.)
- Понятие операций CRUD: CREATE, READ, UPDATE и DELETE.
- Операторы Insert (создание записей), Select (чтение записей), Update (редактирование записей), Delete (удаление записей).
Промежуточная аттестация (4 ак. часа)
Запросы в SQL
Модуль состоит из 5 тем. В конце модуля проводится промежуточная аттестация.
Цель: освоить умение создавать условия манипулирования данными путем использования оператора SELECT, соединения таблиц и группировки данных.
Задачи:
- Рассмотреть основные операторы SQL.
- Ознакомиться с оператором SELECT и запросами на выборку данных.
- Изучить вспомогательные функции SQL и группировку данных.
- Рассмотреть способы соединения таблиц и виды связей.
- Ознакомиться с понятием и структурой подзапросов.
Тема 1. Основные операторы SQL (7 ак.ч.)
- SELECT и запросы на выборку данных
- Арифметические операторы.
- Операторы сравнения.
- Полная выборка.
- Выбор конкретных столбцов.
- Логические операторы.
- Дополнительные элементы запроса: DISTINCT, COUNT, WHERE, (предикатыIN, OR, BETWEEN, LIKE) ORDERBY, MIN, MAX, AVG, NULL.
Тема 2. Вспомогательные функции в SQL (7 ак.ч.)
- Функция для подсчета символов LENGTH.
- Функция вырезания и возвращения символов LEFT, RIGHT, SUBSTRING, MID, SUBSTRING_INDEX.
- Функция поиска и замены частей строки REPLACE.
- Поиск по строке POSITION, LOCATE и INSTR.
- Функции дополнения строки до нужного размера LPAD, RPAD.
- Функции REVERSE, REPEAT, TRIM, LTRIM, RTRIM, SPACE, LCASE (LOWER), UCASE (UPPER).
Тема 3. Группировка данных (4 ак.ч.)
- Ограничение выборки LIMIT.
- Группировка результатов GROUP BY.
- Фильтрация результатов группировки HAVING.
- Сложение строк при выборке CONCAT, CONCAT_WS, GROUP_CONCAT.
- Объединение данных из нескольких таблиц в одну UNION.
- INTERSECT, EXCEPT.
Тема 4. Соединение таблиц и виды связей (9 ак.ч.)
- Понятие соединения таблиц.
- ОперацияJOIN и ее виды: INNERJOIN, LEFTJOIN и RIGHTJOIN, FULLJOIN, CROSSJOIN.
- Соединение более двух таблиц.
- Многотабличные запросы.
Тема 5. Подзапросы (5 ак.ч.)
- Понятие подзапроса.
- Операция EXISTS.
- Подзапросы с несколькими строками и одним столбцом – ANY, SOME, ALL.
Промежуточная аттестация (4 ак. часа)
Процедуры, функции и циклы
Модуль состоит из 5 тем. В конце модуля проводится промежуточная аттестация.
Цель изучения процедур, функций и циклов в SQL заключается в том, чтобы научиться использовать эти конструкции для решения сложных задач в базах данных.
Основные задачи изучения процедур, функций и циклов в SQL:
- Упрощение и оптимизация запросов.
- Автоматизация и стандартизация процессов.
- Расширение функциональности.
- Обеспечение безопасности данных.
- Обеспечение эффективности работы с данными.
Тема 1. Поиск текста (4 ак.ч.)
- Описание и лексика операторов LIKE, NOTLIKE.
- Расширенные регулярные выражения REGEXP и NOT REGEXP, RLIKE и NOT RLIKE.
- Использование логических операторов ИЛИ (OR), И (AND).
- Применение рассмотренных операторов для удаления данных таблицы.
Тема 2. Процедуры, функции и триггеры (13 ак.ч.)
- Понятие процедур и функций.
- Синтаксис хранимых функции и процедур.
- Команды для работы с хранимыми подпрограммами.
- Комментарии к синтаксису хранимых функции и процедур.
- Инструкция IF NOT EXISTS, [NOT] DETERMINISTIC, COMMENT.
- Операторы BEGIN и END.
- Аргументы IN, OUT, INOUT, RETURNS.
- Характеристика SQLSECURITY.
- Инструкция DEFINER.
- Оператор RETURN.
- Вызов функций и процедур.
- Ограничения на хранимые функции.
- Понятие триггера.
- Синтаксис создания триггера.
- Удаление триггера
Тема 3. Циклы (4 ак.ч.)
- Ознакомиться с основами циклов в SQL, включая их синтаксис, основные типы циклов и их применение в запросах базы данных.
- Изучить оператор LOOP и понять, как он работает.
- Изучить оператор REPEAT и научиться создавать и использовать циклы типа REPEAT в SQL.
- Изучить оператор WHILE и понять, как он работает.
Тема 4. View и Case в SQL (6 ак.ч.)
- Понятие представления (VIEW).
- Преимущества использования представлений.
- Ограничения представлений в MySQL.
- Создание представлений.
- Алгоритмы представлений.
- Обновляемые представления.
- Функции CASE, IF, IFNULL, COALESCE
Тема 5. Импорт данных (5 ак.ч.)
- Основы импорта данных: понятие, причины и необходимость импорта данных в SQL.
- Форматы файлов данных: описание основных форматов файлов данных, которые можно импортировать в SQL, таких как CSV, TXT, Excel и другие.
- Импорт данных из текстовых файлов.
- Импорт данных из Excel.
- Импорт данных с помощью ETL-инструментов.
- Импорт данных из веб-страниц.
- Импорт данных из файлов XML и JSON.
- Импорт данных с помощью SQL-запросов.
Промежуточная аттестация (4 ак. часа)
Создание базы данных (индивидуальное задание для каждого слушателя)
Модуль состоит из 5 тем. В конце модуля проводится промежуточная аттестация.
Целью данного модуля является самостоятельное проектирование и разработка базы данных слушателями для применения знаний и умений, полученных в результате прохождения предыдущих модулей (по руководством тьютора).
Задачи:
- Изучить работы оконных функций.
- Освоить основы работы с транзакциями и блокировками.
- Самостоятельно спроектировать базу данных.
- Создать базу данных в СУБД MySQL, внести в базу информацию и создать связи между таблицами.
- Создать View-запросы и представление базы данных.
Тема 1. Использование оконных функций (4 ак.ч.)
- Введение в оконные функции: обзор понятий, определений и основных принципов работы с оконными функциями.
- Функции агрегации и оконные функции: разница между ними и примеры использования.
- Работа с разделительными строками.
- Работа с пустыми значениями. Использование оконных функций для группировки данных по различным критериям.
- Использование оконных функций для ранжирования данных: сортировка, выборка и фильтрация данных с помощью оконных функций.
Тема 2. Работа с транзакциями и блокировками (5 ак.ч.)
- Транзакции: определение и основные принципы работы.
- Управление транзакциями в MySQL: команды START TRANSACTION, COMMIT и ROLLBACK.
- Уровни изоляции транзакций: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ и SERIALIZABLE.
- Блокировки в MySQL: определение и основные принципы работы.
- Уровни блокировок: SHARE, EXCLUSIVE, READиWRITE.
- Различные типы блокировок в MySQL: блокировка таблицы, блокировка строки, блокировка чтения и блокировка записи.
- Конфликты блокировок: детектирование, предотвращение и разрешение.
Тема 3. Проектирование базы данных (3 ак.ч.)
- Операторы LOOP, REPEAT и WHILE
- Проектирование базы данных по одной из тем, предложенной преподавателем.
Тема 4. Создание базы данных и таблиц. Заполнение данными. Создание связей между таблицами (9 ак.ч.)
- Создание баз данных слушателями в MySQL.
- Создание таблиц.
- Заполнение таблиц данными.
- Создание связей между таблицами
Тема 5. Создание View-запросов и представление базы данных (7 ак.ч.)
- Создание View-запросов.
- Определение полей и фильтров.
- Создание представлений базы данных.
- Настройка прав доступа.
- Тестирование и оптимизация.
Промежуточная аттестация (4 ак. часа)