Що таке SQL Server?
Microsoft SQL Server – це реляційна система управління базами даних (RDBMS). Програми та засоби підключаються до екземпляра АБО бази даних SQL Server та взаємодіють за допомогою Transact-SQL (T-SQL).
Параметри розгортання
SQL Server можна встановити в Windows або Linux, розгорнути його в контейнері Linux або розгорнути на віртуальній машині Azure або іншій платформі віртуальних машин. Можливо, ви раніше назвали цей продукт коробкою.
Підтримувані версії SQL Server залежать від ліцензійної угоди, але з метою цієї документації ми маємо на увазі SQL Server 2016 (13.x) та пізніших версій. Документація SQL Server 2014 (12.x) та попередні версії доступні в попередніх версіях документації SQL Server. Щоб дізнатися, які версії SQL Server зараз підтримуються, перегляньте параметри завершення підтримки SQL Server.
Базове ядро СУБД SQL Server також використовується такими продуктами та службами:
- База даних SQL Azure
- Керований екземпляр SQL Azure
- Система платформи Microsoft Analytics (PDW)
- Azure Synapse Analytics
- SQL Azure для прикордонних обчислень
Список функцій, що підтримуються випусками SQL Server у Windows, див. у наступних статтях:
Компоненти та технології SQL Server
У цьому розділі наведено деякі ключові технології, доступні в SQL Server.
| Компонент | Description |
|---|---|
| Ядро СУБД | Компонент ядра СУБД є основною службою для зберігання, обробки та забезпечення безпеки даних. Ядро СУБД забезпечує контрольований доступ та обробку транзакцій відповідно до вимог найвибагливіших додатків, які використовують дані у вашій організації.Ядро СУБД також забезпечує підтримку забезпечення безперервності бізнес-процесів за допомогою безперервності бізнес-процесів та відновлення бази даних SQL Server. |
| служби Машинне навчання (MLS) | Служби SQL Server Машинне навчання підтримують інтеграцію машинного навчання з використанням популярних мов R та Python у корпоративні робочі процеси. |
Базові поняття
Ця таблиця містить посилання на основні поняття SQL Server і SQL Azure.
| Площа | Додаткові відомості |
|---|---|
| Файли даних та журнал транзакцій | - Файли та файлові групи бази даних - Системні бази даних - Журнал транзакцій |
| Рівні сумісності бази даних | - Сертифікація сумісності - Перегляд чи зміна рівня сумісності бази даних - Рівень сумісності інструкції ALTER DATABASE (Transact-SQL) |
| Таблиці і уявлення | - Таблиці - Подання |
| Функції і процедури, що зберігаються | - Що таке функції бази даних SQL? - Збережені процедури (ядро СУБД) |
| Індекси | - Індекси - Посібник з архітектури та розробки індексів SQL Server та Azure SQ |
| Налаштування порогового значення витрат для паралелізму і максимальний ступінь паралелізму |
- Налаштування порогового значення витрат для паралелізму - Налаштування максимального ступеня паралелізму |
| Управління пам'яттю | - Параметри конфігурації пам'яті сервера - Посібник з архітектури управління пам'яттю |
| Контрольні точки, запуск і аварійне відновлення | - Контрольні точки бази даних - Прискорене відновлення баз даних |
| Резервне копіювання і відновлення баз даних | - Резервне копіювання та відновлення баз даних SQL Server - Резервне копіювання журналів транзакцій |
| Управління службами SQL Server | - Управління службами компонента Database Engine - Менеджер конфігурації SQL Server - Запуск, зупинка, призупинення, відновлення та перезапуск служб SQL Server - Додавання компонентів до екземпляра SQL Server (програма установки) |
| Команди консолі бази даних (DBCC) | - DBCC (Transact-SQL) - DBCC HELP (Transact-SQL) - DBCC CHECKDB (Transact-SQL) |
| Високий рівень доступності (високий рівень доступності ) та аварійне відновлення (аварійне відновлення ) | - Безперервність бізнес-процесів та відновлення бази даних - Відомості про доставку журналів - Відмовостійка кластеризація та групи доступності AlwaysOn – Що таке група доступності AlwaysOn? |
| Налаштування обробки запитів та продуктивності | - Налаштування продуктивності за допомогою сховища запитів - Посібник з архітектури обробки запитів - Оптимізоване блокування - Посібник із блокування та управління версіями рядків транзакцій |
Підключення до SQL Server
Інтеграція з Azure
Хоча SQL Server є автономним продуктом, який можна встановити на комп'ютерах під керуванням операційних систем Windows та Linux, можна інтегрувати екземпляри SQL Server із кількома службами Azure.
Віртуальні машини Azure
SQL Server у Віртуальних машинах Azure дозволяє використовувати повні версії SQL Server у хмарі без необхідності керувати будь-яким локальним обладнанням. Застосування віртуальних машин для SQL Server також оптимізує витрати на ліцензування під час оплати у міру використання.
Віртуальні машини Azure працюють у багатьох географічних регіонах по всьому світу. Вони також доступні у різних розмірах. Колекція образів дозволяє створити віртуальну машину SQL Server потрібної версії та випуску, а також з необхідною операційною системою.Завдяки цьому віртуальні машини – це чудовий варіант для різних робочих навантажень SQL Server.
Azure Arc
SQL Server, включений Azure Arc , спрощує управління та управління, надаючи узгоджену багатохмарну та локальну платформу управління. Azure Arc надає централізований, уніфікований спосіб управління всім середовищем, об'єднання існуючих віртуальних машин, відмінних від Azure та (або) локальних віртуальних машин, кластерів Kubernetes та баз даних у Azure Resource Manager.
Ви можете використовувати служби Azure та можливості управління, ввести методики DevOps для підтримки нових власних шаблонів хмари у вашому середовищі та налаштувати розташування користувача як рівень абстракції на основі кластерів Kubernetes з підтримкою Azure Arc та розширень кластерів незалежно від того, де живуть ресурси.
Служба Azure Kubernetes (AKS)
Служба Azure Kubernetes (AKS) – це керована служба Kubernetes для розгортання кластерів контейнерів та управління ними. За допомогою контейнерів SQL Server на Linux можна розгорнути контейнер SQL Server Linux в AKS за допомогою діаграм Helm.
Ви також можете налаштувати керований екземпляр SQL, увімкнену Azure Arc у вибраній інфраструктурі Kubernetes, що дозволяє керувати службою в Azure, поки дані залишаються у вибраному розташуванні.
Міграція та переміщення даних
SQL Server надає безліч можливостей для перенесення та модернізації ресурсів даних.
Міграція у хмару
Міграція на SQL Server
1 SQL Server 2017 (14.x) та пізніших версій.
Оновлення версії SQL Server
Приклади
Отримання довідки
- Ідеї про SQL. Чи є рекомендації щодо покращення SQL Server?
- Запитання та відповіді щодо продуктів Microsoft (SQL Server)
- DBA Stack Exchange (тег sql-server): питання про SQL Server
- Stack Overflow (тег sql-server): відповіді на питання щодо розробки SQL
- Reddit: загальні відомості про SQL Server
- Умови ліцензії та інформація про Microsoft SQL Server
- Варіанти підтримки для бізнес-користувачів
- Додаткова довідка та відгуки щодо SQL Server
Візьміть участь у розробці документації SQL
Чи знаєте ви, що можна змінити вміст SQL? Це не тільки покращить нашу документацію, а й надасть вам статус учасника у створенні цієї сторінки.
Пов'язаний контент
Що таке SQL
Познайомтеся з професіями в дизайні, спробуєте себе у різних напрямках та виберіть для продовження навчання те, що підходить саме вам.
SQL (Structured Query Language) - це мова структурованих запитів, яка дозволяє створювати, змінювати, видаляти та вилучати дані. Він необхідний роботи з базами даних (БД). За допомогою SQL не можна розробити повноцінну програму: він доповнює інші мови програмування.
Навіщо потрібний SQL
Мова SQL стала загальноприйнятим стандартом для роботи з реляційними базами, оскільки вона:
- дозволяє формувати складні структуровані запити, код яких можна інтерпретувати як звичайний англійський текст
- підтримує безліч операцій, включаючи вибірку даних, додавання нових записів, оновлення існуючих та їх видалення
- відносно простий у вивченні та використанні
- підтримує концепцію транзакцій, яка забезпечує надійність та цілісність інформації
- дозволяє обробляти великі набори даних
- підтримується більшістю систем управління базами даних (СУБД)
Що таке база даних
База даних - це організована безліч даних, що зберігається в СУБД і доступна для взаємодії за допомогою мови запитів SQL. Вона складається з однієї або декількох таблиць, кожна з яких містить рядки та стовпці.
Рядки та стовпці формують основну структуру таблиці. Рядок містить інформацію про один об'єкт і є окремим записом або одиницю даних, а стовпець містить однотипні дані і є певним атрибутом або характеристикою цих даних. Приклад: у рядку вказані студенти, а в стовпці різні атрибути — імена, вік та спеціальність.
Таблиці можуть бути пов'язані ключами. Первинний ключ – це унікальний ідентифікатор запису в таблиці. Зовнішній ключ однієї таблиці посилається на первинний ключ в інший, створюючи зв'язок між двома таблицями.
SQL має механізм, який називається індексом і служить для прискорення процесу пошуку даних. Він працює подібно до закладки в книзі, вказуючи, де шукати певні дані.
Усе це разом організує схему БД SQL. Її логічна структура визначає, як дані організовані і взаємопов'язані, і включає визначення таблиць, полів, індексів, ключів і зв'язків між таблицями.
Де використовується SQL
SQL завжди застосовується у сферах, де необхідна робота з даними, і є однією з найважливіших мов для будь-якого IT-фахівця.
Бізнес та фінанси
SQL використовується для аналізу даних та прийняття обґрунтованих бізнес-рішень. Банки та інші фінансові установи застосовують SQL для обробки та аналізу фінансових операцій.
Наука та дослідження
Дослідники застосовують SQL для обробки та аналізу даних, отриманих в ході експериментів (дані про геном, астрономічні спостереження та багато іншого).
Веб-розробка
У програмуванні розробники використовують SQL для створення облікових записів користувачів та управління ними, зберігання та відображення динамічного контенту на сайті.
Управління базами даних
SQL застосовується для створення, управління та оптимізації великих та складних баз даних.
Аналіз даних та машинне навчання
Мова необхідна для отримання, очищення та аналізу даних, які потім використовуються для створення передбачуваних моделей.
На які напрями ділиться професія та які навички потрібно розвивати, щоб стати аналітикомЯк працює SQL
При надсиланні запиту до БД відбувається такий процес:
- Парсінг. Спочатку СУБД аналізує запит: перевіряє його синтаксис, наявність усіх необхідних об'єктів (таблиці, стовпці) та прав доступу користувача.
- Оптимізація. Потім СУБД оптимізує запит: розглядає різні способи його виконання та вибирає найефективніший план виконання.
- Виконання. Запит виконується відповідно до обраного плану. Якщо запит не змінює дані, то вони вилучаються з бази та повертаються користувачеві, але якщо запит змінює їх (вставляє, оновлює або видаляє), то ці зміни застосовуються до бази.
- Повернення результатів. Результати запиту повертаються користувачеві. Це може бути набір даних або підтвердження успішного виконання запиту.
Цей процес забезпечує ефективне та безпечне виконання SQL-запитів. Він дозволяє SQL обробляти великі обсяги даних та забезпечує їх надійність та цілісність.
Як розпочати роботу з SQL
Встановлення та налаштування середовища SQL
- Виберіть СУБД, яку ви будете використовувати. Це може бути PostgreSQL, MySQL або SQLite.
- Встановіть СУБД.Найчастіше інструкція зі встановлення подано до документації СУБД.
- Налаштуйте СУБД: створіть базу даних та визначте підключення до неї.
- Встановіть редактор коду. Щоб зручно писати SQL-запити, буде потрібно текстовий редактор або IDE (інтегроване середовище розробки) для більш складних завдань. Можна встановити Visual Studio Code, DataGrip або Sublime Text.
- Підключіться до бази даних протоколу, який використовує СУБД, щоб виконувати написані запити.
Оператори та базові функції агрегації
- SELECT: вилучення даних із бази даних
- INSERT INTO: вставка нових записів у таблицю
- UPDATE: модифікація існуючих записів у таблиці
- DELETE: видалення існуючих записів з таблиці
- CREATE DATABASE: створення нової бази даних
- DROP DATABASE: видалення бази даних
- CREATE TABLE: створення нової таблиці
- DROP TABLE: видалення таблиці
- WHERE: фільтрація записів
- ORDER BY: сортування записів
- GROUP BY: групування записів з однаковими значеннями у певних полях
- HAVING: фільтрація груп записів
- JOIN: об'єднання таблиць на основі загального поля
- COUNT: підрахунок кількості записів
- SUM: отримання суми значень
- AVG: отримання середнього значення
- MIN: отримання мінімального значення
- MAX: отримання максимального значення
Написання запиту
Тепер розглянемо, як створити таблицю, та напишемо перші запити з використанням СУБД SQLite.
Створіть файл students.sql і введіть команду sqlite3 database.db, після чого в програмі введіть .read students.sql і .quit.
- Створення таблиці студентів, яка містить вік абітурієнта та середній бал CREATE TABLE students (id INT PRIMARY KEY, age INT, grade_point_average DECIMAL(1, 1)); -- Заповнення цієї таблиці даними INSERT INTO students VALUES (18, 5.0), (17, 4.5), (19, 3.6), (18, 4.7), (17, 3.4), (16, 4.9);
Після додавання до бази даних студентів потрібно написати запит до файлу query.sql, який витягне студентів із середнім балом вище чотирьох.
SELECT id, age, grade_point_average FROM students WHERE grade_point_average >= 4;
Виконаємо цей запит аналогічно до створення бази даних: sqlite3 database.db → .read query.sql та .quit.
PS C:\SQL> sqlite3 database.db SQLite version 3.45.2 2024-03-12 11:06:23 (UTF-16 console I/O) Enter ".help" for usage hints. sqlite>.read query.txt |18|5 |17|4.5 |18|4.7 |16|4.9 sqlite>.quit PS C:\SQL>
Після виконання цих кроків у вас буде база даних database з таблицею students, готова до використання. Ви можете почати додавати дані до таблиці за допомогою команди INSERT, вилучати їх за допомогою SELECT, оновлювати дані за допомогою UPDATE та видаляти за допомогою DELETE.
Як вивчити SQL
Якщо ви вже маєте базові знання про цю мову, регулярно практикуйтеся, щоб краще розуміти її. Спробуйте виконати різні завдання для реальних проектів. Так ви навчитеся вирішувати проблеми, з якими можете зіткнутися у майбутній роботі.
Вивчайте теорію, нові функції та можливості SQL, щоб писати більш ефективні та оптимізовані запити. Спілкуйтеся з спільнотою, ставте запитання, ділитесь знаннями та навчайтеся в інших. І не бійтеся помилятися: помилки – це частина процесу навчання, яка дає змогу покращувати свої навички.
Що таке SQL
SQL (Structured Query Language) - це мова структурованих запитів для роботи з реляційними базами даних та взаємодій з їх вмістом.
* Реляційною називається база даних, у якій всі дані взаємопов'язані та структуровані за таблицями.
Уявіть, що ви є власником піцерії. Ваш ресторан зберігає всю інформацію про замовлення, меню та клієнтів у базі даних. Ви хочете дізнатися, яка піца користувалася найбільшою популярністю за останній місяць. Для цього потрібно скласти SQL-запит, який працюватиме з даними з вашої бази. Він сам підрахує загальну кількість замовлень кожного виду піци, вибере з них ті, що були зроблені за останній місяць, і відсортує результати спадання. Не встигли ви й оком змигнути, а SQL вже дізнався, що всі люблять пепероні!
