Урок 25. Знакомство с SQL
Приветствую на нашем первом занятии, где мы начнём погружение в мир SQL — незаменимого языка для работы с базами данных. С его помощью вы сможете не только добавлять и удалять данные, но и обновлять их, делать выборки — словом, управлять информацией на профессиональном уровне.

В данной лекции мы также познакомимся с такой программой, как MySQL Workbench, с помощь которой можно выполнить огромное количество действий: от проектирования до управления данными, и всё это через приятный графический интерфейс. Мы пошагово научимся устанавливать её, чтобы вы могли начать свой путь к мастерству SQL с правильных инструментов.

Введение в SQL

Установка MySQL

SQL, или Structured Query Language, — это язык структурированных запросов, используемый для управления данными и проектирования баз данных. Он позволяет пользователям создавать, изменять, управлять и извлекать данные из реляционных баз данных. SQL обеспечивает мощные средства для анализа и манипулирования данными, позволяя выполнять сложные запросы и объединения данных из разных таблиц.

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

Ниже приведет пример простой базы данных, состоящей из 4-х таблиц
Данные в таблицах связаны между собой. Что это за связи и зачем они нужны?

Связи между таблицами в контексте реляционных баз данных — это способ установления связей между данными в разных таблицах. Они основаны на принципе ключевых полей, которые связывают записи в одной таблице с записями в другой. Эти связи обеспечивают целостность и организацию данных. Основные типы связей:

  1. Один-к-одному (One-to-One): Каждая запись в одной таблице соответствует ровно одной записи в другой таблице. Например, таблица пользователей и таблица паспортных данных, где каждому пользователю соответствуют уникальные паспортные данные.
  2. Один-ко-многим (One-to-Many): Одна запись в одной таблице может быть связана с множеством записей в другой таблице. Это наиболее часто используемый тип связи. Например, один клиент может иметь множество заказов.
  3. Многие-ко-многим (Many-to-Many): Записи в одной таблице могут быть связаны с множеством записей в другой таблице, и наоборот. Этот тип связи обычно реализуется с использованием промежуточной таблицы. Например, студенты и курсы, где каждый студент может записаться на множество курсов, а каждый курс может быть выбран множеством студентов.
Связи между таблицами позволяют базам данных эффективно организовать, хранить и обрабатывать большие объемы связанных данных, минимизируя при этом дублирование и обеспечивая целостность данных.

Рассмотрим 3 основных отличия между базами данных и электронными таблицами:

Что такое первичный и внешний ключи?

Первичный ключ (Primary Key) и внешний ключ (Foreign Key) являются важными элементами в реляционных базах данных, обеспечивающими управление и интеграцию данных между таблицами.
  1. Первичный ключ (Primary Key):
  • Это уникальный идентификатор для каждой записи в таблице.
  • Он гарантирует, что каждая строка или запись в таблице является уникальной и может быть легко идентифицирована.
  • В таблице может быть только один первичный ключ, и он не может содержать пустые значения (NULL).
  • Пример: В таблице пользователей первичным ключом может быть идентификатор пользователя (UserID), который уникален для каждого пользователя.
  1. Внешний ключ (Foreign Key):
  • Внешний ключ в одной таблице используется для ссылки на первичный ключ другой таблицы.
  • Он обеспечивает связь между данными в двух таблицах и позволяет поддерживать целостность данных между ними.
  • Внешний ключ может быть не уникальным и может содержать повторяющиеся значения.
  • Пример: В таблице заказов внешний ключ может ссылаться на UserID из таблицы пользователей, указывая, какой пользователь сделал каждый заказ.
Где первичный и внешний ключи в базе?

Допустим, таблицы Students и Exams связаны между собой.
Для того, что связать эти две таблицы разработчики добавили первичный ключ (student_id) из таблицы Students в таблицу Exams.
В таблице Exams поле student_id является внешним ключом (Foreign Key).
Что такое таблица, колонка, ячейка, первичный и внешний ключи?

  • Каждая строка с информацией в таблице называется записью (Record)
  • Каждый столбец базы данных называется полем (Column)
  • Элемент информации, например, конкретный день рождения или номер телефона, хранится в Ячейке таблицы
  • Каждая запись чаще всего имеет уникальный идентификатор (ID). Такой идентификатор называется Первичным ключом (Primary Key).
  • Чтобы создать связь между таблицами, мы добавляем поле идентификатора из исходной таблицы в таблицу, с которой хотим установить связь. Такой идентификатор в этой таблице называется Внешним ключом (Foreign Key).
ДОМАШНЕЕ ЗАДАНИЕ
Теоретическое задание:
  1. Опишите, какие типы связей между таблицами используются в реляционных базах данных, и приведите примеры использования каждого типа связи.
  2. Опишите, что такое первичный ключ (Primary Key) и внешний ключ (Foreign Key). Схематически нарисуйте простую базу данных с несколькими таблицами (можно от руки) и свяжите таблицы с помощью ключей.
  3. Опишите своими словами основные элементы баз данных, такие как запись (Record), поле (Column), ячейка (Cell). Для чего они нужны?

Практическое задание:
Выполните установку MySQL Workbench, следуя инструкциям из урока.
Скачивать на официальном сайте: https://dev.mysql.com/downloads/workbench/

Ссылка на инструкцию по установке: https://qa4girls.atlassian.net/wiki/spaces/LM/pages/26247212/MySQL+Workbench

❗️Выполненное ДЗ присылать в телеграмм на адрес https://t.me/reginakuts_qa
Для входа в Confluence и Jira используйте следующие данные:
  • students.qa4girls@gmail.com
  • kGHK6upqW5Hi2-W