Основы реляционных баз данных

Эти понятия должен знать каждый

Введение

В реляционной базе данных вы моделируете наборы сущностей из реального мира в виде таблиц. Таблица содержит строки, и каждая строка представляет один экземпляр сущности.

Помимо таблиц, реляционная база данных может содержать другие структуры, помогающие оптимизировать организацию данных, инкапсулировать программные действия и повысить скорость доступа. Некоторыми из них являются представления, хранимые процедуры и индексы. В этой статье я расскажу о каждом из них.

Реляционные базы данных — это формат структурированных данных. В каждом столбце хранятся данные определенного типа данных. Структурированные данные соответствуют общей схеме, поэтому все данные имеют одинаковые поля или свойства. Чаще всего схема для структурированных объектов является табличной.

Нормализация данных

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

Простое определение для практических целей выглядит следующим образом:
1. Разделить каждый объект на отдельную таблицу
2. Разделить каждый отдельный атрибут на отдельный столбец
3. Уникально идентифицировать каждый экземпляр объекта (строку ) с использованием первичного ключа
4. Используйте столбцы внешнего ключа для связи связанных объектов.

В некоторых случаях ключ (первичный или внешний) может быть определен как составной ключ на основе уникальной комбинации нескольких столбцов.

Стандартный язык запросов (SQL)

SQL означает Стандартный язык запросов и используется для связи с реляционной базой данных. Некоторые распространенные системы управления реляционными базами данных, использующие SQL, включают:
- Microsoft SQL Server
- MySQL
- PostgreSQL
- MariaDB
- Oracle

Некоторые популярные диалекты SQL включают:
- Transact-SQL (T-SQL) — используется Microsoft SQL Server и службами SQL Azure.
- pgSQL — используется PostgreSQL
PL/SQL (процедурный язык/SQL) — используется Oracle

Операторы SQL сгруппированы в три основные логические группы:
— язык определения данных (DDL)
— язык управления данными (DCL)
— язык управления данными (DML)

Операторы DDL используются для создания, изменения и удаления таблиц и других объектов в базах данных. Некоторые из наиболее часто используемых операторов: CREATE, ALTER, DROP и RENAME.

Операторы DCL используются для управления доступом к объектам в базе данных путем предоставления, отказа или отзыва разрешений для определенных пользователей или групп. Три основных оператора DCL: GRANT, DENY и REVOKE.

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

Взгляды

Представление — это виртуальная таблица, основанная на результатах запроса SELECT. Вы можете запрашивать представление и фильтровать данные почти так же, как и таблицу. Вот некоторые примеры:

Создание представления:

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

Хранимые процедуры

Хранимая процедура определяет операторы SQL, которые можно запускать по команде. Они используются для инкапсуляции программной логики в базе данных для действий, которые приложения должны выполнять при работе с данными. Вот пример:

Создание процедуры с именем «RenameProduct» с двумя параметрами:

Затем для вызова процедуры:

Индексы

Индекс помогает вам искать данные в таблице. Когда вы создаете индекс, вы должны указать столбец из таблицы, а индекс содержит копию этих данных в отсортированном порядке с указателями на соответствующие строки в таблице.

Когда пользователь выполняет запрос, указывающий этот столбец в предложении WHERE, система управления базами данных может использовать этот индекс для более быстрого извлечения данных, чем если бы ей приходилось просматривать всю таблицу построчно.

Вот пример того, как создать индекс:

Индекс создает древовидную структуру, которую оптимизатор запросов системы баз данных может использовать для быстрого поиска строк:

Но есть одна загвоздка. Вы не можете просто добавить бесконечные индексы ко всем своим столбцам, это дорого обходится. Каждый индекс занимает место для хранения, и каждый раз, когда вы вставляете, обновляете или удаляете данные в таблице, необходимо поддерживать индексы для этой таблицы. Это может замедлить выполнение операторов DML.

Заключение

Это все основные понятия, которые вам необходимо знать для работы с реляционными базами данных. Спасибо за прочтение статьи и до встречи в следующей. Кроме того, не забудьте поставить несколько хлопков, если вам понравилось.