Введите хотя бы 2 символа для поиска по всем отраслям.
Термины баз данных и SQL на английском — значение и примеры
Ключевые слова SQL, сообщения об ошибках и планы выполнения запросов используют английскую терминологию. Здесь собраны русские значения и примеры, которые помогут читать документацию, обсуждать изменения схемы и разбираться в работе баз данных.
- 100 терминов
- 10 тем
- 47 базовых терминов
- 200 примеров
Основы баз данных
Организованное собрание данных, хранящееся на компьютере, чтобы программы и люди могли быстро находить, добавлять, менять и удалять сведения.
Тип базы данных, где данные хранятся в таблицах со строками и столбцами, а таблицы связываются ключами; обычно ими управляют с помощью SQL.
Database Management System — программа, которая хранит данные, выполняет запросы, управляет доступом и обеспечивает сохранность данных, например PostgreSQL или Oracle.
Object-relational mapping — библиотека, позволяющая работать со строками базы как с объектами языка программирования и автоматически формирующая SQL-запросы.
Create, Read, Update, Delete — четыре базовые операции с сохранёнными данными, которым соответствуют SQL-команды INSERT, SELECT, UPDATE и DELETE.
Центральная база для отчётности и анализа, собирающая исторические данные из разных систем и рассчитанная на крупные запросы чтения, а не небольшие обновления.
Online Transaction Processing — нагрузка базы из множества небольших быстрых операций чтения и записи пользователей, например оформление заказов и изменение профилей.
Таблицы, схемы и объекты базы данных
Структура реляционной базы данных, хранящая в строках и столбцах данные об одном типе сущностей, например обо всех клиентах или заказах.
Одна горизонтальная запись таблицы со всеми значениями отдельного объекта, например клиента или заказа.
Вертикальная часть таблицы с именем и типом данных, содержащая один вид сведений для каждой строки, например адрес электронной почты или created_at.
Структура базы данных: её таблицы, столбцы, типы данных, ключи и связи. В некоторых СУБД это также именованная группа таблиц внутри базы.
Полный набор данных об одном объекте, например клиенте или счёте; в реляционной таблице это то же, что строка.
Категория значений, которые может содержать столбец: например целые числа, текст, даты или логические значения. Она определяет допустимые значения и занимаемый объём.
Специальный маркер, означающий, что значение отсутствует или неизвестно. Это не то же самое, что ноль или пустая строка.
Оператор SQL для создания новой таблицы с заданными именем, столбцами и их типами данных, а также ограничениями, например первичным ключом.
Оператор SQL, изменяющий структуру существующей таблицы, например добавляющий, переименовывающий или удаляющий столбец либо добавляющий ограничение.
Сохранённый запрос SELECT, которым можно пользоваться как таблицей. Обычно он не хранит данные, а при каждом обращении показывает актуальный результат запроса.
Именованный блок SQL-кода, сохранённый в базе данных; он может принимать параметры и многократно запускаться одним вызовом.
Значение, которое автоматически получает столбец, если при добавлении строки для него ничего не указали, например 0, 'pending' или текущее время.
Фрагмент кода, сохранённый в базе данных и автоматически запускающийся при событии в таблице, например вставке, обновлении или удалении.
Версионируемый скрипт для контролируемого изменения схемы базы данных; в более широком смысле — проект переноса данных между базами или системами.
Команды и запросы SQL
Structured Query Language — стандартный язык для создания таблиц и чтения, добавления, изменения и удаления данных в реляционных базах.
Обращение к базе данных для чтения или изменения данных, обычно записанное на SQL. Как глагол query означает запросить данные у базы.
Оператор SQL, который читает данные из одной или нескольких таблиц и возвращает подходящие строки, не изменяя базу данных.
Часть SQL-оператора, задающая условие, чтобы читать, обновлять или удалять только подходящие строки.
Операция SQL, объединяющая строки двух или нескольких таблиц по связанному столбцу, например идентификатору клиента. Глагол join означает выполнить такое соединение.
Оператор SQL, добавляющий одну или несколько строк в таблицу с помощью INSERT INTO и списка столбцов и значений.
Оператор SQL, изменяющий значения в уже существующих строках; обычно WHERE ограничивает изменение нужными строками.
Оператор SQL, удаляющий строки из таблицы. С WHERE удаляются только подходящие строки; без него — все строки.
Предложение SQL, сортирующее строки результата по одному или нескольким столбцам по возрастанию (ASC) или убыванию (DESC).
Предложение SQL, объединяющее строки с одинаковыми значениями в группы для вычисления суммы, количества или среднего по каждой группе.
Функция SQL, принимающая множество строк и возвращающая одно значение, например COUNT, SUM, AVG, MIN или MAX.
Соединение, возвращающее только строки, для которых найдены совпадения в обеих таблицах; строки без пары исключаются.
Соединение, возвращающее все строки первой (левой) таблицы и совпавшие строки второй; при отсутствии совпадения столбцы второй таблицы содержат NULL.
Запрос внутри другого запроса, обычно в скобках; внешний запрос использует его результат, например как список значений для фильтрации.
Часть SQL-запроса, фильтрующая группы после выполнения GROUP BY, обычно по результату агрегатной функции, например COUNT или SUM.
Форма оператора SELECT, удаляющая дубли из результата, так что каждое сочетание возвращаемых значений появляется только один раз.
Временное короткое имя таблицы или столбца внутри запроса, обычно заданное через AS для краткости или ясности результата.
Выполнить одной операцией вставку строки, если её ещё нет, либо обновить её, если она уже существует. Слово образовано от update и insert.
Common table expression — именованный временный результат, определяемый через WITH в начале запроса и используемый основным запросом как таблица.
Функция SQL, вычисляющая значение по набору связанных строк, например накопительный итог или ранг, но при этом возвращающая каждую исходную строку.
Оператор SQL, складывающий результаты двух или нескольких SELECT один под другим в единый набор и удаляющий повторяющиеся строки.
Удалить сразу все строки командой TRUNCATE TABLE, сохранив таблицу и её структуру; это значительно быстрее построчного удаления.
Data Definition Language — SQL-команды для создания, изменения и удаления объектов базы, например CREATE, ALTER и DROP.
Data Manipulation Language — SQL-команды для работы с данными внутри таблиц, прежде всего INSERT, UPDATE, DELETE и часто SELECT.
Ключи и ограничения
Столбец или набор столбцов, однозначно идентифицирующий каждую строку таблицы. Значение не может быть пустым, а дубликаты не допускаются.
Столбец одной таблицы, ссылающийся на первичный ключ другой таблицы, связывающий их и не позволяющий ссылаться на несуществующие строки.
Правило для таблицы или столбца, которое база данных проверяет автоматически и отклоняет данные, нарушающие его.
Правило, запрещающее двум строкам иметь одинаковое значение одного столбца или сочетания столбцов, например одинаковый адрес электронной почты у разных пользователей.
Характеристика числового столбца, значение которого база автоматически заполняет следующим номером последовательности при добавлении каждой строки.
Ключ из двух или более столбцов, которые однозначно определяют строку только вместе, например ID заказа и ID товара в таблице позиций заказа.
Искусственный ключ без бизнес-смысла, например автоинкрементное число или UUID, созданный только для идентификации строки.
Правило, согласно которому каждая ссылка между таблицами указывает на действительно существующую строку, чтобы не оставалось заказов без клиентов.
При удалении или обновлении автоматически распространять операцию с родительской строки на все дочерние строки, ссылающиеся на неё внешним ключом.
Моделирование данных и нормализация
Организация таблиц таким образом, чтобы каждый факт хранился только в одном месте; это сокращает дублирование и предотвращает ошибки при обновлении.
Схема проекта базы данных, показывающая сущности (обычно таблицы), их атрибуты и связи, например «один ко многим».
Связь таблиц, при которой одной строке первой таблицы соответствуют многие строки второй, но каждая из них относится только к одной строке первой; например клиент и его заказы.
Связь, при которой многие строки одной таблицы могут относиться ко многим строкам другой, например студенты и курсы. Для хранения пар нужна промежуточная таблица.
Намеренное хранение одних данных в нескольких местах или объединение таблиц ради ускорения чтения при условии, что копии придётся поддерживать согласованными.
Один из набора правил проектирования таблиц (1NF, 2NF, 3NF и выше); каждый следующий уровень устраняет определённый вид повторяющихся или неверно размещённых данных.
Либо тип связи между таблицами (один к одному, один ко многим, многие ко многим), либо количество различных значений в столбце.
Индексы и производительность запросов
Дополнительная структура данных по одному или нескольким столбцам, позволяющая быстро находить строки без чтения всей таблицы.
Пошаговая стратегия, которую база данных выбирает для выполнения запроса: используемые индексы, порядок соединения таблиц и ожидаемое число строк.
Часть движка базы данных, которая анализирует запрос и статистику таблиц, выбирает наименее затратный способ выполнения и строит план.
Индекс, определяющий физический порядок хранения строк таблицы; поэтому у таблицы может быть только один кластерный индекс, остальные — некластерные.
Чтение каждой строки таблицы в поиске нужных запросу данных вместо прямого перехода к ним через индекс.
Запрос, выполняющийся дольше согласованного предела и замедляющий приложение или расходующий ресурсы базы данных.
Набор открытых соединений с базой, которые приложение держит готовыми и повторно использует вместо медленного открытия нового соединения для каждого запроса.
Разделение большой таблицы на меньшие части — партиции — по правилу, например диапазону дат или региону; для запросов она при этом выглядит как одна таблица.
Быстрое хранилище копий часто используемых данных или результатов запросов, позволяющее возвращать их без нового обращения к базе.
Работа по ускорению медленных запросов: изучение планов выполнения, добавление индексов, переписывание SQL или изменение настроек базы.
Транзакции и параллельный доступ
Группа операций с базой, обрабатываемая как единое целое: либо все они успешно применяются, либо ни одна.
Завершить транзакцию и сделать все её изменения постоянными, видимыми другим сеансам и сохраняющимися после сбоя.
Отмена транзакции, при которой все её изменения отменяются и данные возвращаются к состоянию до её начала.
Atomicity, Consistency, Isolation, Durability — четыре гарантии надёжности транзакций базы данных при ошибках, сбоях и одновременной работе множества пользователей.
Настройка, определяющая, насколько транзакция видит изменения других транзакций; она задаёт компромисс между защитой данных, скоростью и параллельностью.
Метка, которую база ставит на строку, страницу или таблицу, чтобы другие транзакции не могли изменять её, а иногда и читать, до завершения текущей транзакции.
Ситуация, когда две или более транзакции ждут блокировку, удерживаемую другой транзакцией, и ни одна не может продолжить, пока база не отменит одну из них.
Базы данных NoSQL
Общее название баз данных, которые не используют классическую модель таблиц и SQL, а хранят данные как документы, пары ключ—значение, широкие столбцы или графы.
NoSQL-база, хранящая каждый элемент как самостоятельный документ, обычно в формате, похожем на JSON; связанные данные можно хранить вместе без фиксированных таблиц.
Простейший вид NoSQL-базы, сохраняющий каждое значение под уникальным ключом и быстро находящий его по этому ключу.
Гарантия, что при отсутствии новых изменений все копии данных через некоторое время станут одинаковыми, хотя чтение может временно возвращать устаревшее значение.
Идея о том, что при сетевом сбое, разделяющем распределённую базу, приходится выбирать между согласованностью (одинаковые данные везде) и доступностью (система всегда отвечает).
NoSQL-база, хранящая данные как узлы, соединённые связями; это удобно для быстрого перехода по цепочкам, например поиска друзей друзей.
В документной базе, например MongoDB, группа документов, хранящихся вместе; по назначению похожа на таблицу реляционной базы.
База, хранящая данные преимущественно в оперативной памяти, а не на диске, благодаря чему чтение и запись выполняются очень быстро.
Резервное копирование, репликация и масштабирование
Копия базы данных, сохранённая на определённый момент времени, чтобы восстановить данные после сбоя, ошибки или атаки.
Поддержание копий одной базы данных на нескольких серверах путём передачи изменений с одного сервера на остальные для отказоустойчивости и распределения нагрузки.
Возвращать базу данных из резервной копии, чтобы исправить потерю данных или создать её копию на другом сервере.
Восстановление базы к точному выбранному моменту, например за минуту до ошибочного DELETE, путём применения сохранённых журналов изменений поверх резервной копии.
Копия базы, получающая изменения с основного сервера и предназначенная только для запросов чтения, чтобы снизить нагрузку на основной сервер.
Перенос работы с вышедшего из строя основного сервера базы на резервный сервер или реплику, чтобы приложение продолжало работать.
Разделение большого набора данных между несколькими серверами, каждый из которых хранит отдельную часть строк, чтобы система могла расти за пределы одной машины.
Проектирование системы баз данных так, чтобы она почти не простаивала и продолжала работать при отказе сервера, диска или центра обработки данных.
Файл со структурой и данными базы, записанными в виде SQL-команд или специального формата экспорта, который можно загрузить в другую базу.
Администрирование и безопасность
Database administrator — специалист, отвечающий за установку, защиту, резервное копирование, настройку производительности и бесперебойную работу баз данных компании.
Разрешение, позволяющее пользователю или роли базы выполнить определённое действие, например читать таблицу, добавлять строки или создавать объекты.
Атака, при которой в поле ввода помещают SQL-код, выполняемый приложением и позволяющий читать, менять или удалять данные.
Предоставлять пользователю или роли базы право на действие с помощью SQL-команды GRANT; команда REVOKE отзывает разрешение.
Именованный набор прав базы данных, который можно назначить многим пользователям сразу, например read_only или app_writer, упрощая управление доступом.
Короткий тест: знаете ли вы эти термины?
Десять вопросов из словаря. Выберите правильное значение каждого термина и проверьте результат.
Как изучать лексику: Базы данных и SQL
- Читайте документацию используемой СУБД и сопоставляйте термины с реальными сообщениями об ошибках.
- Учите сочетания: run a query, create an index, restore a database, roll back a transaction.
- Разбирайте SQL-запрос по частям: SELECT определяет выборку, WHERE — условие, ORDER BY — сортировку.
- Сравнивайте близкие понятия: backup и replica, primary key и unique key, WHERE и HAVING.
Частые вопросы
С каких английских терминов баз данных начать?
Начните с database, table, row, column, query, key, index и transaction. Затем переходите к соединениям таблиц, планам выполнения, резервному копированию и репликации.
Как запоминать термин вместе с его употреблением?
Сохраняйте короткую фразу из документации, а не только перевод. Например, commit a transaction и roll back a transaction описывают разные действия с транзакцией.
Термины одинаковы в разных СУБД?
Базовые понятия таблиц, ключей и транзакций общие, но названия возможностей и детали поведения различаются. Изучайте общее понятие, затем проверяйте его реализацию в документации своей СУБД.
Нужны ли русские эквиваленты, если работа ведётся на английском?
Русское объяснение помогает понять понятие, а английская форма — найти его в документации и сообщениях системы. Полезно знать обе формы: primary key — первичный ключ, foreign key — внешний ключ.
В русскоязычной команде говорить о базах данных по-русски или по-английски?
В русскоязычных командах обычно сочетают оба варианта: говорят «таблица», «запрос», «индекс», но часто оставляют названия команд и многие рабочие сочетания на английском — например, run a query или roll back a transaction. Выбирайте форму, понятную коллегам, и знайте английский термин, чтобы читать документацию и сообщения об ошибках.
Смежные отрасли
Закрепляйте лексику чтением
Тексты подходящего уровня помогают запоминать новые слова. Выберите бесплатные книги на английском:
