gadget59.ru лекции
Базы данных · Лекция 1 · 30 слайдов

Введение в базы данных и SQL. MS SQL Server

Введение в базы данных и SQL

До сих пор мы хранили данные в файлах: текстовых, CSV, JSON, бинарных. Это работает для небольших объёмов. Но представьте, что у вас миллион пользователей, и нужно мгновенно найти конкретного человека по имени или email. Файл придётся читать минуту, а база данных сделает это за миллисекунды.

🗄️ Базы данных 📋 SQL 🪟 MS SQL Server 🔍 SELECT
Это первая лекция из блока по базам данных. Мы разберём: что такое СУБД (система управления базами данных), как устроена реляционная модель, как установить MS SQL Server, как подключиться к нему через SQL Server Management Studio (SSMS) и как писать первые SQL-запросы.
Формат: лекция + практика в конце. Следующие лекции — изменение данных и связи таблиц.

План лекции

Сегодня мы заложим фундамент. Вот что вы узнаете.

  • 1 Что такое база данных и СУБД
  • 2 Реляционная модель: таблицы, строки, столбцы
  • 3 Что такое SQL и зачем он нужен
  • 4 MS SQL Server и SSMS: установка и подключение
  • 5 Первая база данных и первая таблица
  • 6 SELECT — выборка данных
  • 7 WHERE — фильтрация строк
  • 8 ORDER BY — сортировка
  • 9 Типичные ошибки новичков
  • 10 Практика и шпаргалка
Если вы никогда не работали с базами данных — не переживайте. Мы начнём с самых основ и будем двигаться маленькими шагами.

Что такое база данных?

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

Представьте себе огромную библиотеку. Книги — это данные. Но если они просто свалены в кучу, найти нужную невозможно. База данных — это библиотека с каталогом, полками и системой поиска.

📁
Файл
Просто набор данных. Нет структуры поиска. Чем больше файл, тем медленнее поиск.
🗄️
База данных
Структурированное хранилище. Мгновенный поиск, защита от ошибок, работа с миллионами записей.
База данных — это «умный файл». Она знает, как устроены данные, и умеет быстро их находить.

Что такое СУБД?

СУБД (система управления базами данных) — это программа, которая управляет базой данных. Она принимает запросы, выполняет их и возвращает результат.

Вы
→
СУБД
→
База данных

Примеры СУБД:

  • MS SQL Server — от Microsoft. Мы будем использовать его.
  • PostgreSQL — бесплатная, очень мощная.
  • MySQL — популярна в веб-разработке.
  • SQLite — лёгкая, встраивается в приложения.
  • Oracle — корпоративная, дорогая.
СУБД — это «мозг», который понимает SQL. База данных — это «память», где лежат данные. Обычно их используют вместе.

Реляционная модель: таблицы

В реляционной модели (самой распространённой) данные хранятся в таблицах. Таблица — это как лист Excel.

idnameagecity 1Иван25Москва 2Мария30Санкт-Петербург 3Пётр22Казань
  • Столбцы — характеристики: id, name, age, city.
  • Строки — сами записи: один человек = одна строка.
  • id — уникальный номер строки. Он не повторяется.
Таблиц может быть много. Например, «Студенты», «Группы», «Оценки». Каждая — про своё.

Что такое SQL?

SQL (Structured Query Language, «язык структурированных запросов») — это язык, на котором мы общаемся с реляционной базой данных.

SQL не является языком программирования в привычном смысле. На нём не пишут игры или приложения. На нём запрашивают данные: «покажи всех студентов», «добавь нового пользователя», «удали старые записи».

SELECT name, age FROM students; // «Покажи имена и возраст всех студентов»
SQL — это стандарт. Он одинаково работает в MS SQL Server, PostgreSQL, MySQL и других СУБД. Выучив его один раз, вы сможете работать с любой базой.

Виды SQL-запросов

SQL-запросы делятся на несколько групп. Мы будем изучать их постепенно.

ГруппаЧто делаетПримеры команд DDLопределяет структуруCREATE TABLE, ALTER, DROP DMLработает с даннымиSELECT, INSERT, UPDATE, DELETE DCLправа доступаGRANT, REVOKE TCLтранзакцииCOMMIT, ROLLBACK

Сегодня мы разберём SELECT — самый важный и самый частый запрос. В следующей лекции — INSERT, UPDATE, DELETE и CREATE TABLE.

SELECT используется не только сам по себе. Он входит в состав INSERT, UPDATE и DELETE, когда нужно выбрать данные для изменения.

Установка MS SQL Server

На компьютерах в аудитории MS SQL Server уже установлен. Но полезно знать, как это делается.

Шаг 1. Скачать SQL Server Express

SQL Server Express — бесплатная версия. Скачивается с официального сайта Microsoft. Файл называется SQL2025-SSEI-Expr.exe (или похожий по году).

Шаг 2. Запустить установщик

Выбрать «Базовая» (Basic) установка. Установщик сам скачает нужные компоненты.

Шаг 3. Дождаться завершения

Запомните имя экземпляра (Instance) — обычно это SQLEXPRESS или MSSQLSERVER. Оно понадобится при подключении.

Если MS SQL Server уже установлен — пропустите этот шаг. Просто проверьте, что служба «SQL Server (SQLEXPRESS)» запущена в «Службах» Windows.

SQL Server Management Studio (SSMS)

SSMS (SQL Server Management Studio) — это программа для работы с MS SQL Server. Она позволяет писать запросы, смотреть таблицы, управлять базами.

SSMS — отдельная программа. Её нужно скачать с сайта Microsoft и установить. Она бесплатна.

Что умеет SSMS

  • Подключаться к серверу баз данных.
  • Писать и выполнять SQL-запросы.
  • Просматривать таблицы, столбцы, данные.
  • Создавать и удалять базы данных.
  • Управлять пользователями и правами.
SSMS — это «среда разработки для баз данных». Как IntelliJ IDEA для Java, только для SQL Server.

Подключение к серверу

Откройте SSMS. Появится окно подключения.

// Параметры подключения Server type: Database Engine Server name: localhost\SQLEXPRESS Authentication: Windows Authentication
  • Server name — имя сервера. Если стоит Express-версия, добавьте \SQLEXPRESS.
  • Authentication — способ входа. «Windows Authentication» использует вашу учётную запись Windows. Это самый простой вариант.
Если подключение прошло — слева появится дерево «Object Explorer». Там вы увидите базы данных, таблицы и другие объекты.
Если подключение не проходит — проверьте, что служба SQL Server запущена. Откройте «Службы» (Win+R → services.msc) и найдите «SQL Server (SQLEXPRESS)».

Создаём первую базу данных

В SSMS нажмите кнопку «New Query» — откроется окно для SQL-запросов. Это как пустой файл в редакторе кода.

-- Создаём новую базу данных CREATE DATABASE TestDB; GO -- Переключаемся на неё USE TestDB; GO
  • CREATE DATABASE — создаёт базу данных с указанным именем.
  • GO — разделитель пакетов команд (в MS SQL Server).
  • USE TestDB — переключаемся на эту базу, чтобы дальше работать в ней.
Нажмите F5 или кнопку «Execute», чтобы выполнить запрос. Внизу появится сообщение об успехе.

Создаём первую таблицу

Теперь создадим таблицу «Студенты». У неё будет три столбца.

CREATE TABLE Students ( Id INT PRIMARY KEY, Name NVARCHAR(100) NOT NULL, Age INT );

Разберём по частям:

ЧастьПереводПример CREATE TABLEсоздать таблицуимя — Students Id INTцелое число1, 2, 3 PRIMARY KEYпервичный ключне повторяется NVARCHAR(100)строка до 100 символовИван, Мария NOT NULLобязательное полене может быть пустым
NVARCHAR — это строка в MS SQL Server. Буква N означает, что она поддерживает Unicode (русские буквы и другие языки).

Добавляем данные (пока вручную)

Чтобы было с чем работать, добавим несколько строк. Подробно INSERT разберём в следующей лекции, а пока — просто скопируйте.

INSERT INTO Students (Id, Name, Age) VALUES (1, N'Иван', 25), (2, N'Мария', 30), (3, N'Пётр', 22), (4, N'Ольга', 27);
Буква N перед строкой в кавычках означает «Unicode-строка». Это обязательно для русских букв в MS SQL Server.

Проверим, что данные добавились:

SELECT * FROM Students;

SELECT — основа всего

SELECT — самый важный SQL-запрос. Он выбирает данные из таблицы.

Синтаксис

SELECT список_столбцов FROM имя_таблицы;

Пример

SELECT Name, Age FROM Students;

Результат:

NameAge Иван25 Мария30 Пётр22 Ольга27
Звёздочка * означает «все столбцы». Но в реальной работе лучше перечислять столбцы явно — так код понятнее и быстрее.

Псевдонимы (AS)

Столбцы можно переименовать в результате запроса. Это называется псевдоним (alias).

SELECT Name AS Студент, Age AS Возраст FROM Students;

Результат:

СтудентВозраст Иван25 Мария30
Слово AS можно опустить: SELECT Name Студент. Но с AS код понятнее.

Вычисления в SELECT

В SELECT можно не только выбирать столбцы, но и вычислять значения.

-- Возраст через 5 лет SELECT Name, Age, Age + 5 AS AgeInFiveYears FROM Students;

Результат:

NameAgeAgeInFiveYears Иван2530 Мария3035
SQL умеет складывать, вычитать, умножать, делить. Это удобно для отчётов и вычислений.

WHERE — фильтрация строк

WHERE — это условие. Оно оставляет только те строки, которые ему соответствуют.

SELECT Name, Age FROM Students WHERE Age >= 25;

Результат:

NameAge Иван25 Мария30 Ольга27
WHERE — это «фильтр». Как в поиске в интернете: показывать только то, что соответствует условию.

Операторы сравнения

В WHERE можно использовать операторы сравнения.

ОператорЧто значитПример =равноAge = 25 <>не равноAge <> 25 >большеAge > 25 <меньшеAge < 25 >=больше или равноAge >= 25 <=меньше или равноAge <= 25
В SQL одинарное = — это сравнение, а не присваивание, как в Java. Не путайте с ==.

Логические операторы: AND, OR, NOT

Условия можно комбинировать.

-- И то, и другое (AND) SELECT Name FROM Students WHERE Age >= 25 AND Age <= 30; -- Хотя бы одно (OR) SELECT Name FROM Students WHERE Name = N'Иван' OR Name = N'Мария'; -- Отрицание (NOT) SELECT Name FROM Students WHERE NOT Age = 25;
  • AND — оба условия должны быть истинны.
  • OR — хотя бы одно условие должно быть истинно.
  • NOT — инвертирует условие.
Как в Java: AND ≈ &&, OR ≈ ||, NOT ≈ !.

LIKE — поиск по шаблону

LIKE ищет строки по шаблону. Например, «начинается с И» или «содержит "а"».

-- Начинается с "И" SELECT Name FROM Students WHERE Name LIKE N'И%'; -- Содержит "р" SELECT Name FROM Students WHERE Name LIKE N'%р%';
ШаблонЧто значитПример %любое количество символов'И%' — начинается с И _ровно один символ'И___' — 4 буквы, начинается с И [abc]любой из символов'[ИМ]%' — И или М
LIKE — это аналог регулярных выражений, но проще.

ORDER BY — сортировка

ORDER BY сортирует результат по указанному столбцу.

-- По возрастанию (по умолчанию) SELECT Name, Age FROM Students ORDER BY Age; -- По убыванию SELECT Name, Age FROM Students ORDER BY Age DESC;
  • ASC — по возрастанию (можно не писать).
  • DESC — по убыванию.
Сортировать можно и по нескольким столбцам: ORDER BY Age DESC, Name ASC — сначала по возрасту, потом по имени.

Порядок в SELECT-запросе

Структура SELECT запроса всегда одинаковая. Важно запомнить порядок.

SELECT столбцы FROM таблица WHERE условие ORDER BY сортировка;
1. FROM — откуда
↓
2. WHERE — фильтр
↓
3. SELECT — что показать
↓
4. ORDER BY — сортировка
SQL не выполняется сверху вниз. СУБД сначала смотрит, откуда брать данные (FROM), потом фильтрует (WHERE), потом выбирает столбцы (SELECT), и только в конце сортирует (ORDER BY).

Комбинированный пример

Соберём всё вместе. Найдём всех студентов старше 24 лет, отсортированных по возрасту по убыванию.

SELECT Name, Age FROM Students WHERE Age > 24 ORDER BY Age DESC;

Результат:

NameAge Мария30 Ольга27 Иван25
Обратите внимание: Пётр (22) в результат не попал, потому что не прошёл условие.

Типичные ошибки новичков

1. Забыл FROM
SELECT *; — ошибка. Нужно SELECT * FROM Students;.
2. == вместо =
WHERE Age == 25 — ошибка. Нужно WHERE Age = 25.
3. Русские буквы без N
WHERE Name = 'Иван' — кракозябры. Нужно WHERE Name = N'Иван'.
4. Забыл точку с запятой
Хотя MS SQL Server прощает это, лучше ставить ; в конце каждого запроса.
5. Перепутал порядок WHERE и ORDER BY
ORDER BY Age WHERE ... — ошибка. Сначала WHERE, потом ORDER BY.
6. Выбрал не ту базу данных
Если вы не выполнили USE TestDB, запрос уйдёт в другую базу. Проверьте выпадающий список баз в SSMS.

Практика: 5 задач

Попробуйте выполнить эти запросы в SSMS. Если не получилось — смотрите подсказки на предыдущих слайдах.

Задача 1

Покажите всех студентов из таблицы Students.

Задача 2

Покажите только имена (Name) и возраст (Age), отсортировав по возрасту.

Задача 3

Найдите всех, кому меньше 25 лет.

Задача 4

Найдите всех, чьё имя начинается на «М».

Задача 5

Найдите всех старше 24 лет, отсортировав по возрасту по убыванию, и покажите только имя и возраст.

Решения разберём на практическом занятии. Попробуйте сначала сами — это важнее готового ответа.

Шпаргалка

Сохраните этот слайд — здесь все команды, которые мы изучили.

ЗадачаSQL-запрос все данныеSELECT * FROM Students; выбрать столбцыSELECT Name, Age FROM Students; переименовать столбецSELECT Name AS Студент FROM Students; вычислитьSELECT Age + 5 FROM Students; фильтр по равенствуWHERE Age = 25 фильтр по диапазонуWHERE Age >= 25 AND Age <= 30 фильтр по шаблонуWHERE Name LIKE N'И%' сортировкаORDER BY Age DESC
Если помните эти команды — 80% простых задач на SQL вы решите.

Итоги лекции

Подведём итоги. Вот что вы теперь знаете.

  • ✅ База данных — организованное хранилище структурированных данных.
  • ✅ СУБД — программа, которая управляет базой данных.
  • ✅ Реляционная модель — данные в таблицах, у каждой строки уникальный id.
  • ✅ SQL — язык запросов к базе данных.
  • ✅ MS SQL Server — одна из самых популярных СУБД.
  • ✅ SSMS — программа для работы с MS SQL Server.
  • ✅ SELECT — выборка данных.
  • ✅ WHERE — фильтрация строк.
  • ✅ ORDER BY — сортировка результата.
В следующей лекции — INSERT, UPDATE, DELETE и создание таблиц с первичными и внешними ключами.

Домашнее задание

Задания для самостоятельной работы. Первые три обязательны, остальные — для оценки «отлично».

  1. Создайте базу данных SchoolDB.
  2. Создайте в ней таблицу Teachers с полями: Id INT PRIMARY KEY, Name NVARCHAR(100), Subject NVARCHAR(50).
  3. Добавьте трёх учителей через INSERT INTO.
  4. Напишите запрос: «все учителя, отсортированные по имени».
  5. Напишите запрос: «учителя, у которых предмет начинается на "М"».
  6. Напишите запрос: «все учителя, кроме тех, у кого имя Иван».
Если задание кажется сложным — разбейте его на части. Например, «создать базу» → «создать таблицу» → «добавить данные» → «написать запрос».

Что дальше?

В этом блоке по базам данных у нас ещё 4 материала.

  • Лекция 2: INSERT, UPDATE, DELETE, CREATE TABLE, PRIMARY KEY, FOREIGN KEY.
  • Лекция 3: JOIN — связи таблиц, GROUP BY, HAVING, агрегатные функции.
  • Практика 1: создание базы «Библиотека» в MS SQL Server через SSMS и написание запросов.
  • Практика 2: подключение Java к MS SQL Server через JDBC, консольное приложение с чтением и записью.
До встречи на следующей лекции!

Спасибо за внимание!

🗄️

База данных — это порядок в мире данных

Теперь вы умеете подключаться к MS SQL Server, создавать таблицы и писать первые SELECT-запросы.

🗄️ БД 📋 SQL 🔍 SELECT 🚀 практика