• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2019/2020

SQL и автоматизация текущей отчетности

Статус: Дисциплина общефакультетского пула
Когда читается: 3, 4 модуль
Преподаватели: Шершуков Данила Вадимович
Язык: английский
Кредиты: 3
Контактные часы: 32

Course Syllabus

Abstract

The course develops practical and theoretical skills for using SQL in analytics and automating reports. The course covers using SQL for extracting and analysing data and using Python and Excel for report automation. SQL is an important skill for analysts who work with large volumes of data and thus a competetive advantage for students during job search. This course is designed to provide a lot of practice for students in writing queries, so that they could use SQL fluently at work. In this course, students can choose between Excel and Python for report automation. This is done to account for varying levels of students' programming skills and the difference in technological stacks that analysts use, depending on their specialization. Course pre-requisites: Students are expected to be familiar with descriptive statistics and either Excel or Python.
Learning Objectives

Learning Objectives

  • To teach students how to use SQL for doing analytical tasks
  • To improve students' skills in report automation
Expected Learning Outcomes

Expected Learning Outcomes

  • use a database client with a GUI
  • become fluent in SELECT SQL queries
  • use basic data definition and data manipulation SQL queries
  • apply SQL to solve real-life analytical problems
  • improve report automation skills by learning to automate reports in Excel or in Python, depending on their starting programming experience
Course Contents

Course Contents

  • Introduction to databases and SQL
    Databases and servers. Overview of contemporary SQL servers. Connecting to a database using DBeaver. Relational model. SQL overview. Basic data types and functions that work with them. Type casting. Using the query editor in DBeaver. Structure of SELECT queries with more details ontable expressions and select lists. Connecting to databases from Excel (ODBC driver) and Python (psycopg2).
  • Table expressions in detail
    Joins, set operations and subqueries. Using subqueries in table references, conditions and common table expressions. Set-returning functions. Query planner, EXPLAIN ANALYZE, overview of algorythms*. Visualizing query results (Excel or Python).
  • Select list and domain-specific functions
    CASEs. Regular expressions: complex matches and data extraction. Dates and time: working with timezones, common mistakes when working with dates. Advanced logical functions. Logging in Python.
  • Window functions
    Using aggregate functions as window functions. Lag, rank. Making window functions cumulative. Jinja2 (Python).
  • Complex computing and ETLs
    Common mistakes when computing statistics in SQL and how to avoid them. Handling multistage computations while keeping them comprehensible. Working with event chains: restoring snapshots, computing statistics. DDL and DML. Making ETL processes in SQL and Python.
  • Working with geospatial data
    Postgres extensions. Data types and functions for working with geospatial data.
Assessment Elements

Assessment Elements

  • non-blocking home assignments
    8 home assignments with equal weights
  • non-blocking course project
  • non-blocking final exam
    Экзамен проводится в письменной форме с использованием асинхронного прокторинга. Экзамен проводится на платформе https://hse.student.examus.net). К экзамену необходимо подключиться за 10 минут до начала. Проверку настроек компьютера необходимо провести заранее, чтобы в случае возникших проблем у вас было время для обращения в службу техподдержки и устранения неполадок. Компьютер студента должен удовлетворять требованиям: 1. Стационарный компьютер или ноутбук (мобильные устройства не поддерживаются); 2. Операционная система Windows (версии 7, 8, 8.1, 10) или Mac OS X Yosemite 10.10 и выше; 3. Интернет-браузер Google Chrome последней на момент сдачи экзамена версии (для проверки и обновления версии браузера используйте ссылку chrome://help/); 4. Наличие исправной и включенной веб-камеры (включая встроенные в ноутбуки); 5. Наличие исправного и включенного микрофона (включая встроенные в ноутбуки); 6. Наличие постоянного интернет-соединения со скоростью передачи данных от пользователя не ниже 1 Мбит/сек; 7. Ваш компьютер должен успешно проходить проверку. Проверка доступна только после авторизации. Для доступа к экзамену требуется документ удостоверяющий личность. Его в развернутом виде необходимо будет сфотографировать на камеру после входа на платформу «Экзамус». Также вы должны медленно и плавно продемонстрировать на камеру рабочее место и помещение, в котором Вы пишете экзамен, а также чистые листы для написания экзамена (с двух сторон). Это необходимо для получения чёткого изображения. Во время экзамена запрещается пользоваться любыми материалами (в бумажном / электронном виде), использовать телефон или любые другие устройства (любые функции), открывать на экране посторонние вкладки. В случае выявления факта неприемлемого поведения на экзамене (например, списывание) результат экзамена будет аннулирован, а к студенту будут применены предусмотренные нормативными документами меры дисциплинарного характера вплоть до исключения из НИУ ВШЭ. Если возникают ситуации, когда студент внезапно отключается по любым причинам (камера отключилась, компьютер выключился и др.) или отходит от своего рабочего места на какое-то время, или студент показал неожиданно высокий результат, или будут обнаружены подозрительные действия во время экзамена, будет просмотрена видеозапись выполнения экзамена этим студентом и при необходимости студент будет приглашен на онлайн-собеседование с преподавателем. Об этом студент будет проинформирован заранее в индивидуальном порядке. Во время выполнения задания, не завершайте Интернет-соединения и не отключайте камеры и микрофона. Во время экзамена ведется аудио- и видео-запись. Процедура пересдачи проводится в соотвествии с нормативными документами НИУ ВШЭ.
Interim Assessment

Interim Assessment

  • Interim assessment (4 module)
    0.3 * course project + 0.3 * final exam + 0.4 * home assignments
Bibliography

Bibliography

Recommended Core Bibliography

  • Beaulieu, A. (2009). Learning SQL : Master SQL Fundamentals: Vol. 2nd ed. O’Reilly Media.
  • Beighley, L. (2007). Head First SQL : Your Brain on SQL —— A Learner’s Guide. Reilly - O’Reilly Media.

Recommended Additional Bibliography

  • Linoff, G. (2016). Data Analysis Using SQL and Excel: Vol. Second edition. Wiley.