Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзу ВвИТ 2 сем 1 курс.docx
Скачиваний:
0
Добавлен:
17.06.2026
Размер:
7.37 Mб
Скачать

Теория Базы данных и sql

1) Что такое SQL и почему он считается декларативным языком запросов к данным?

QL — декларативный язык. «Мы описываем, что хотим получить, а не как это вычислить»

SQL (Structured Query Language) — язык структурированных запросов к реляционным базам данных. Используется для:

  • получения данных

  • добавления, изменения и удаления данных

  • управления структурой таблицах

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

2) Что такое реляционная база данных? Объясните роль таблиц, строк, столбцов, первичных и внешних ключей.

База данных — организованное хранилище информации, которое позволяет быстро находить данные, удобно их обновлять, работать с большими объемами информации.

Реляционная база данных — система, в которой данные хранятся в виде связанных таблиц. Главной идеей было то, что данные разделены по смыслу, но могут легко соединяться между собой.

Таблицы — конкретные хранилища данных. Описывают один тип объектов, имеют строки (объекты) и столбцы (свойства).

Столбцы — определяют какие именно данные могут храниться в таблице. Каждый столбец имеет уникальное имя и строгий тип данных.

Строки — базовый элемент, содержащий набор взаимосвязанных данных одного объекта.

Первичный ключ (Primary Key) — уникальный идентификатор строки, «паспорт» записи в таблице. В таблице не может быть двух строк с одним первичным ключом.

Внешний ключ (Foreign Key) — ссылка на первичный ключ другой таблицы, способ связать данные между собой

3) Опишите базовую структуру SQL-запроса, приведите пример. В каком логическом порядке база данных выполняет части запроса?

SELECT — что именно показать (выбор столбцов, вычисления, алиасы, агрегаты)

FROM — откуда берем данные (указывает таблицу или несколько таблиц, определяет источник данных)

WHERE — какие данные нам нужны (фильтрация строк, условия отбора)

Логический порядок выполнения запроса:

a) FROM — берет таблицу

b) WHERE — отбрасывает лишние строки

c) SELECT — формирует результат

Пример:

SELECT *

FROM customers

WHERE city = „Moscow“;

4) Для чего используются фильтрация, сортировка и агрегация данных в SQL? Приведите примеры задач, где применяются WHERE, ORDER BY, GROUP BY.

Фильтрация (WHERE) определяет, какие строки попадут в результат запроса.

Пример:

SELECT name, sity

FROM customers

WHERE total_spent > 50000;

Группировка (GROUP BY) объединяет строки по общему признаку и позволяет считать агрегаты. Было много строк → стало несколько групп строк.

Пример:

SELECT city, SUM(total_spent) AS total_revenue

FROM customers

GROUP BY city;

Сортировка (ORDER BY) управляет порядком строк в результате SQL-запроса.

Пример:

SELECT name, total_spent

FROM customers

ORDER BY total_spent DESC; # сортировка по убыванию

Агрегация данных работает с группой строк и возвращает одно значение (было много строк → стало одно значение). Часто используются с WHERE и почти всегда идут после GROUP BY.

Агрегатные функции: COUNT (количество), AVG (среднее значение), MIN/MAX (минимальное/максимальное значение), SUM (сумма)

Пример:

SELECT SUM(total_spent)

FROM customers;

5) Чем отличаются SQL-операции SELECT, INSERT, UPDATE, DELETE, CREATE и DROP? Почему при изменении и удалении данных важно использовать условия?

SELECT — выбирает, какие столбцы попадут в результат

INSERT — добавление новых строк в таблицу

UPDATE — изменение существующих строк в таблице

DELETE — удаление строк из таблицы

CREATE (TABLE) — создание новой таблицы в базе данных

DROP (TABLE) — удаление таблицы из базы данных

При изменении и удалении данных важно использовать условия потому что UPDATE и DELETE меняют данные навсегда. Для «безопасного режима» изменения данных можно использовать транзакции или заранее сделать бекап.

Пример:

Неправильно

Правильно

UPDATE customers

SET total_spent = 0; # Обновляются все строки таблицы

SELECT *

FROM customers

WHERE condition

UPDATE customers … # проверка перед

обновлением