Введение в базы данных и SQL
До сих пор мы хранили данные в файлах: текстовых, CSV, JSON, бинарных. Это работает для небольших объёмов. Но представьте, что у вас миллион пользователей, и нужно мгновенно найти конкретного человека по имени или email. Файл придётся читать минуту, а база данных сделает это за миллисекунды.
План лекции
Сегодня мы заложим фундамент. Вот что вы узнаете.
- 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 — корпоративная, дорогая.
Реляционная модель: таблицы
В реляционной модели (самой распространённой) данные хранятся в таблицах. Таблица — это как лист Excel.
- Столбцы — характеристики: id, name, age, city.
- Строки — сами записи: один человек = одна строка.
- id — уникальный номер строки. Он не повторяется.
Что такое SQL?
SQL (Structured Query Language, «язык структурированных запросов») — это язык, на котором мы общаемся с реляционной базой данных.
SQL не является языком программирования в привычном смысле. На нём не пишут игры или приложения. На нём запрашивают данные: «покажи всех студентов», «добавь нового пользователя», «удали старые записи».
Виды SQL-запросов
SQL-запросы делятся на несколько групп. Мы будем изучать их постепенно.
Сегодня мы разберём 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. Оно понадобится при подключении.
SQL Server Management Studio (SSMS)
SSMS (SQL Server Management Studio) — это программа для работы с MS SQL Server. Она позволяет писать запросы, смотреть таблицы, управлять базами.
SSMS — отдельная программа. Её нужно скачать с сайта Microsoft и установить. Она бесплатна.
Что умеет SSMS
- Подключаться к серверу баз данных.
- Писать и выполнять SQL-запросы.
- Просматривать таблицы, столбцы, данные.
- Создавать и удалять базы данных.
- Управлять пользователями и правами.
Подключение к серверу
Откройте SSMS. Появится окно подключения.
- Server name — имя сервера. Если стоит Express-версия, добавьте
\SQLEXPRESS. - Authentication — способ входа. «Windows Authentication» использует вашу учётную запись Windows. Это самый простой вариант.
services.msc) и найдите «SQL Server (SQLEXPRESS)».Создаём первую базу данных
В SSMS нажмите кнопку «New Query» — откроется окно для SQL-запросов. Это как пустой файл в редакторе кода.
CREATE DATABASE— создаёт базу данных с указанным именем.GO— разделитель пакетов команд (в MS SQL Server).USE TestDB— переключаемся на эту базу, чтобы дальше работать в ней.
Создаём первую таблицу
Теперь создадим таблицу «Студенты». У неё будет три столбца.
Разберём по частям:
NVARCHAR — это строка в MS SQL Server. Буква N означает, что она поддерживает Unicode (русские буквы и другие языки).Добавляем данные (пока вручную)
Чтобы было с чем работать, добавим несколько строк. Подробно INSERT разберём в следующей лекции, а пока — просто скопируйте.
N перед строкой в кавычках означает «Unicode-строка». Это обязательно для русских букв в MS SQL Server.Проверим, что данные добавились:
SELECT — основа всего
SELECT — самый важный SQL-запрос. Он выбирает данные из таблицы.
Синтаксис
Пример
Результат:
* означает «все столбцы». Но в реальной работе лучше перечислять столбцы явно — так код понятнее и быстрее.Псевдонимы (AS)
Столбцы можно переименовать в результате запроса. Это называется псевдоним (alias).
Результат:
AS можно опустить: SELECT Name Студент. Но с AS код понятнее.Вычисления в SELECT
В SELECT можно не только выбирать столбцы, но и вычислять значения.
Результат:
WHERE — фильтрация строк
WHERE — это условие. Оно оставляет только те строки, которые ему соответствуют.
Результат:
Операторы сравнения
В WHERE можно использовать операторы сравнения.
= — это сравнение, а не присваивание, как в Java. Не путайте с ==.Логические операторы: AND, OR, NOT
Условия можно комбинировать.
AND— оба условия должны быть истинны.OR— хотя бы одно условие должно быть истинно.NOT— инвертирует условие.
AND ≈ &&, OR ≈ ||, NOT ≈ !.LIKE — поиск по шаблону
LIKE ищет строки по шаблону. Например, «начинается с И» или «содержит "а"».
LIKE — это аналог регулярных выражений, но проще.ORDER BY — сортировка
ORDER BY сортирует результат по указанному столбцу.
- ASC — по возрастанию (можно не писать).
- DESC — по убыванию.
ORDER BY Age DESC, Name ASC — сначала по возрасту, потом по имени.Порядок в SELECT-запросе
Структура SELECT запроса всегда одинаковая. Важно запомнить порядок.
Комбинированный пример
Соберём всё вместе. Найдём всех студентов старше 24 лет, отсортированных по возрасту по убыванию.
Результат:
Типичные ошибки новичков
SELECT *; — ошибка. Нужно SELECT * FROM Students;.WHERE Age == 25 — ошибка. Нужно WHERE Age = 25.WHERE Name = 'Иван' — кракозябры. Нужно WHERE Name = N'Иван'.Хотя MS SQL Server прощает это, лучше ставить
; в конце каждого запроса.ORDER BY Age WHERE ... — ошибка. Сначала WHERE, потом ORDER BY.Если вы не выполнили
USE TestDB, запрос уйдёт в другую базу. Проверьте выпадающий список баз в SSMS.Практика: 5 задач
Попробуйте выполнить эти запросы в SSMS. Если не получилось — смотрите подсказки на предыдущих слайдах.
Задача 1
Покажите всех студентов из таблицы Students.
Задача 2
Покажите только имена (Name) и возраст (Age), отсортировав по возрасту.
Задача 3
Найдите всех, кому меньше 25 лет.
Задача 4
Найдите всех, чьё имя начинается на «М».
Задача 5
Найдите всех старше 24 лет, отсортировав по возрасту по убыванию, и покажите только имя и возраст.
Шпаргалка
Сохраните этот слайд — здесь все команды, которые мы изучили.
Итоги лекции
Подведём итоги. Вот что вы теперь знаете.
- ✅ База данных — организованное хранилище структурированных данных.
- ✅ СУБД — программа, которая управляет базой данных.
- ✅ Реляционная модель — данные в таблицах, у каждой строки уникальный id.
- ✅ SQL — язык запросов к базе данных.
- ✅ MS SQL Server — одна из самых популярных СУБД.
- ✅ SSMS — программа для работы с MS SQL Server.
- ✅ SELECT — выборка данных.
- ✅ WHERE — фильтрация строк.
- ✅ ORDER BY — сортировка результата.
INSERT, UPDATE, DELETE и создание таблиц с первичными и внешними ключами.Домашнее задание
Задания для самостоятельной работы. Первые три обязательны, остальные — для оценки «отлично».
- Создайте базу данных
SchoolDB. - Создайте в ней таблицу
Teachersс полями:Id INT PRIMARY KEY,Name NVARCHAR(100),Subject NVARCHAR(50). - Добавьте трёх учителей через
INSERT INTO. - Напишите запрос: «все учителя, отсортированные по имени».
- Напишите запрос: «учителя, у которых предмет начинается на "М"».
- Напишите запрос: «все учителя, кроме тех, у кого имя Иван».
Что дальше?
В этом блоке по базам данных у нас ещё 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-запросы.