# Витрук Дмитрий Александрович, 113 Прикладная математика, 2 курс, 1 группа, 2 подгруппа. Мой отчёт за 05.09.2022.
<u># 1. Присутствовал на утренней конференции в Zoom 12.09.2022.</u>
# 2. Ознакомился с материалами и посмотрел небольшой курс MySql в YouTube в котором узнал следующее:

# 2.1 Установка MYSQL на официальном сайте.
<b>Установил MYSQL на официальном сайте, настроил приложение, и вошёл с помощью пароля.</b>

# 2.2 Ознакомлся с созданием БД, таблиц и работы с ними
<b>Изучил базовые SQL комманды, позволяющие создать БД, а также таблицы внутри её. Также научился удалять БД и добавлять поля в таблицу.
Для того, чтобы создать БД в SQL , нужно выполнить комманду с помощью слов "CREATE DATABASE" + ваше любое слово на выбор (например это будет "classmate_database". Потом создаём таблицу для группы одноклассников (CREARE TABLE
CLASSMATES), и вписываем данные (например, это id - идентификатор, номер студента, его фамилию, и.т.д.). Также существует переменная "VARCHAR", которая имеет ограничения до 255 символов.</b>

# 2.3 Изучил обновление и добавление записей в БД.
<b>Ознакомился непосредственно с оператроами Insert , а также оpdate. Эти функции дают возможность занести данные в таблицу, а также обновить определённые значения там. С помощью оператора Insert можно присваивать различные характеристические значения. Иными словами, этот оператор позволяет добавить строки в таблицу, заполняя их значениями. Оператор Value отвечает за данными, присвоить которые можно любыми словами. Оператор Update изменяет имеющиеся данніе в таблице. Комманда имеет следюущий синтаксис: UPDATE <имя таблицы>.</b>

# 2.4 Ознакомился с удалением данных из БД.
<b>Для удаления данных из БД используется несколько операторов: Delete, Truncate, и Alter. Последний для удаления колонок, а остальные для удаления записей, а также очистки таблицы от всего. При помощи удаления указываем оператор DELETE FROM, и указываем из какой таблички мы ходим удалить данные. Например у нас название таблицы было "test". Мы могли удалить данные из неё при помощи этого оператора. Также мы могли удалить данные из таблицы, если идентификатор, указанный нами больше или меньше заданного чилса. И так далее....</b>

# 2.5 Просмотрел выборку данных из БД. Where, Order, Limit.
<b>Для выборки данных из БД используется оператор SELECT (от англ. - "выбрать"). При его использовании мы можем указать какие поля необходимо выбрать, а также установить условие (where), сортировку (Order), и огранчение по выборке (Limit).
При создании таблицы можно выбрать ячейку с помощью оператора where, где можно узнать соответсвующие значения. Например, имея 6 колонок в таблице, и имея id, можно узнать в какой колонке находятся имя (Иван, например), если id колонок $<5$ или $>2$.
Оператор ORDER в MYSQL используется для сортировки записей в вашем результирующем наборе (по возрастанию и убыванию).
Конструкция MySQL LIMIT служит для извлечения диапазона строк из таблицы базы данных. В зависимости от того, как эта конструкция прописана в запросе, можно извлечь либо определённое число начальных строк, либо определённое число строк, следующих за пропущенными начальными строками.</b>



# 2.6. Встретился с созданиями индексов и их работе с ними.
<b>Индексы можно использовать доя быстрого поиска по полям в таблице. Просмотрел, как можно прописывать индексы, а также как можно создавать таблицы ссылающиеся на поля в других таблицах.
Индксы (indexes) – это особые таблицы, используемые поисковыми системами для поиска данных. Их активное использование играет важнейшую роль в повышении производительности sql серверов.
Благодаря индексу процесс поиска данных сокращается за счет их упорядочивания как физического, так и логического. Таким образом, он выглядит как набор ссылок на данные, которые упорядочены по выбранному столбцу таблицы. Такой столбец называется индексированным. Индексы находятся в таблице и по сути выступают полезными внутренними механизмами системы sql-сервера, которые помогают сделать доступ к данным наиболее оптимальным. Также запомнил некоторые типы индексов: кластерный,
нелкастерный, составной, полнотекстовый и уникальный.</b>

# 2.7 Познакомился с объединением данных.
<b>Для объеденения данных из нескольких таблиц используется Joint'ы. Я разобрал несколько способов объединеня данных: Inner Join, Left Join и Right Join. Оператор SQL INNER JOIN формирует таблицу из записей двух или нескольких таблиц. Каждая строка из первой (левой) таблицы, сопоставляется с каждой строкой из второй (правой) таблицы, после чего происходит проверка условия. Если условие истинно, то строки попадают в результирующую таблицу. В результирующей таблице строки формируются конкатенацией строк первой и второй таблиц.
Оператор SQL LEFT JOIN осуществляет формирование таблицы из записей двух или нескольких таблиц. В операторе SQL LEFT JOIN, как и в операторе SQL RIGHT JOIN, важен порядок следования таблиц, так как от этого будет зависеть полученный результат. Алгоритм работы оператора следующий:
Сначала происходит формирование таблицы внутренним соединением (оператор SQL INNER JOIN) левой и правой таблиц
Затем, в результат добавляются записи левой таблицы не вошедшие в результат формирования таблицы внутренним соединением. Для них, соответствующие записи из правой таблицы заполняются значениями NULL. RIGHT OUTER JOIN вернет полный список департаментов (правая таблица) и сопоставленных пользователей.</b>

# 2.8 Рассмотрел псевнодимы, функции и GroupBy.
<b>Научился использовать псевнодимы (As), а также группировку элементов при помощи GroupBy. Также SQL обладает набором функций, которые можно использовать для выборки элементов и их подсчётов.
SQL-псевдонимы используются для предоставления таблицы или столбца таблицы временного имени. Псевдонимы часто используются, чтобы сделать имена столбцов более читабельными. Команда GROUP BY позволяет группировать результаты при выборке из базы данных.
К сгруппированным результатам можно применять любые функции.</b>


