Введение в базы данных с SQL бесплатный курс Гарварда

Бесплатный курс Гарварда Введение в базы данных с SQL

 

На протяжении многих лет курс CS50 Гарвардского университета – это введение в компьютерные науки, преподаваемое профессором Дэвидом Дж. Маланом, – помогал учащимся со всего мира проникнуть в мир компьютерных наук и начать свой путь в разработке. Хотя CS50 является введением в компьютерные науки, в нем также есть специализированные треки по Python, искусственному интеллекту и другим областям.

Как вы могли догадаться, команда выпустила курс “Введение в базы данных с использованием SQL”, или “CS50 SQL”, чтобы помочь вам научиться выполнять запросы к базам данных, проектировать свои собственные и многое другое.

Если вы стремитесь стать профессионалом в области данных, вам следует создать надежное основание в области баз данных и SQL. И этот курс поможет вам достичь этой цели.

О курсе CS50 SQL

Курс “Введение в базы данных с использованием SQL”, читаемый Картером Зенке, организован в семь модулей, охватывающих семь недель. Модули содержат лекции и связанные наборы задач на основе реальных наборов данных.

Для каждого модуля вы можете использовать следующий подход:

  • Смотрите лекции
  • Просмотрите примечания
  • Попробуйте примеры, представленные в лекции
  • Работайте над набором задач для модуля

Вы можете решать задачи на VS Code для CS50. Подобно кодовым пространствам, это дает вам VS Codde в облаке – адаптированный для CS50. Так что во время прохождения курса вас ждет множество обучения и практики.

Теперь, когда мы знаем, о чем идет речь в курсе, давайте рассмотрим его содержание.

Примечание: Модули 1-7 ниже соответствуют неделям 0-6 в курсе.

1. Запрос к базам данных

Первый модуль “Запрос к базам данных” начинается с обсуждения необходимости перехода за пределы электронных таблиц и того, как данные хранятся в реляционной базе данных. Затем он переходит к основам запросов к базам данных с использованием SQL. Рассматриваются следующие темы:

  • Оператор SELECT
  • Операторы LIMIT и WHERE
  • Понимание значений NULL
  • Ключевое слово LIKE
  • Диапазоны
  • Оператор ORDER BY
  • Агрегатные функции

Ознакомьтесь с модулем по теме запросы.

2. Взаимосвязь таблиц баз данных

Модуль “Взаимосвязь таблиц баз данных” основан на предыдущем модуле и выходит за рамки одной таблицы базы данных. Вы изучите работу с несколькими таблицами и поймете отношения между ними. Рассматриваются следующие темы:

  • Схемы сущностей (ER-диаграммы)
  • Типы отношений: один к одному, один ко многим и многие ко многим
  • Ключи: основные и внешние ключи
  • Подзапросы
  • Ключевое слово IN
  • Соединения JOIN
  • Множественные операции: INTERSECT, UNION и EXCEPT
  • Группировка данных GROUP BY

Ознакомьтесь с модулем по теме взаимосвязи.

3. Проектирование схем баз данных

На данный момент вы узнали, как работать с базами данных, запрашивать одну и несколько таблиц для решения вопросов. Но как создать такую базу данных самостоятельно? В этом модуле “Проектирование схем баз данных” вы узнаете, как проектировать базы данных с нуля, включая такие концепции, как:

  • Создание схем базы данных
  • Концепции нормализации и связывания таблиц базы данных
  • Создание таблиц
  • Типы данных и классы хранения
  • Ограничения на таблицы и столбцы
  • Изменение таблиц

Ознакомьтесь с модулем по проектированию.

4. Запись в базы данных

На данный момент вы знаете, как извлекать данные из баз данных с помощью запросов и создавать собственные базы данных с нуля. Этот модуль Запись в базы данных обучит вас:

  • Добавлению записей в базы данных
  • Импорту данных из файлов CSV в базу данных
  • Удалению и обновлению записей

Ознакомьтесь с модулем по письму.

5. Просмотр таблиц баз данных

Следующий модуль Просмотр таблиц баз данных – это глубокое погружение в создание представлений баз данных и их преимущества, охватывая:

  • Что такое представления
  • Создание представлений
  • Преимущества создания представлений
  • Общие выражения таблицы (CTE)
  • Разделение
  • Обеспечение безопасности баз данных
  • Мягкие удаления

Ознакомьтесь с модулем по просмотру.

6. Оптимизация запросов к базе данных

Модуль Оптимизация запросов к базе данных сосредоточен на использовании индексов для ускорения запросов к базе данных и связанных с этим компромиссах. Рассматриваются следующие темы:

  • Создание индекса таблицы базы данных
  • Создание индексов для нескольких таблиц
  • Компромисс между пространством и временем
  • Частичные индексы на подмножестве строк
  • Транзакции и гонки

Ознакомьтесь с модулем по оптимизации.

7. Масштабирование баз данных

В этом курсе до сих пор вы использовали SQLite. Этот последний модуль по Масштабированию баз данных знакомит вас с MySQL и PostgreSQL. Он заложит основу для этих широко используемых РСУБД, на которую вы сможете опираться. В этом модуле рассматриваются:

  • Создание и изменение таблиц
  • Хранимые процедуры MySQL
  • Хранимые процедуры с параметрами
  • Работа с PostgreSQL
  • Управляющие операторы доступа
  • Атаки инъекции SQL

Ознакомьтесь с модулем по масштабированию.

Все темы, рассмотренные в этом курсе, важны, если вы рассматриваете карьеру в области данных. Введение в базы данных в науке о данных предоставляет обзор актуальности баз данных и основных навыков работы с ними.

Заключение

В целом, это отличный курс, позволяющий заложить прочную основу в области баз данных и SQL. Вашими постоянными помощниками при работе будут SQL. Однако вы также поймете, что овладение SQL – это непрерывный путь. И в этом отношении практика – ваш лучший друг!

Если вы готовы оттачивать свои навыки работы с SQL, ознакомьтесь с этой подборкой 7 лучших платформ для практики SQL.

[Бала Прия С](https://twitter.com/balawc27) – разработчик и технический писатель из Индии. Ей нравится работать на стыке математики, программирования, науки о данных и создания контента. Ее интересы и экспертиза включают DevOps, науку о данных и обработку естественного языка. Она любит чтение, письмо, кодинг и кофе! В настоящее время она работает над обучением и делится своими знаниями с сообществом разработчиков, создавая руководства, справочники, мнения и многое другое.