Руководство по SQL. Базовые концепции RDBMS.

RBDMS (Relational Database Management System) – это система для управления базами данных (далее – БД), базирующаяся на реляционной модели.


Таблица

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

Таблица является наиболее общим и наиболее простым способом для хранения данных в реляционной БД (далее – РБД).

Ниже приведён пример таблицы developers:
+–+——————————–+—————–+———–+
| id | name | specialty | salary |
+–+——————————–+—————–+———–+
| 1 | Eugene Suleimanov | Java | 2000 |
| 2 | Peter Romanenko | C++ | 2500 |
| 3 | Asya Suleimanova | Javascript | 1500 |
| 4 | Andrei Komarov | Php | 2000 |
+–+——————————–+—————–+———–+


Поле (колонка)

Каждая таблица состоит из сущностей, которые называются полями. Таблица developers включает в себя следующие поля:

  • id
  • name
  • specialty
  • salary

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


Запись (ряд)

Запись – это каждая отдельный элемент, который хранится в таблице. Например, в нашей таблице developers есть 4 записи.

Возьмём первую:
+–+——————————–+—————–+———–+
| 1 | Eugene Suleimanov | Java | 2000 | |+–+——————————-+—————–+———-+

Мы можем сказать, что запись – это сущность, которая хранится горизонтально.


Колонка

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

Например, в нашей таблице developers, колонка specialty (специальность) представляет специальность каждого разработчика:

+—————–+
| specialty |
+—————–+
| Java |
| C++ |
| Javascript |
| Php |
+—————–+

 


NULL

Значение NULL в таблице – это поле, которое мы видим, как пустое. Это означает, что данное поле таблицы не имеет значения.

Крайне важно понимать, что значение NULL – это не 0 и не поле заполненное пробелами. Поле со значением NULL – это поле, которое остаётся пустым при создании записи.


Констрейнты SQL

Констрейнты SQL – это набор правил, применённый к данным колонок в таблице. Они используются для ограничения типов данных, которые могут храниться в таблице. Это также обеспечивает точность и читабельность данных в БД.

Значения могут применять как к колонке, так и ко всей таблице. Значения колонки применяются только к колонке, в то время, как значения таблицы применяются ко всей таблице.

Ниже приведён список наиболее часто встречающихся значений, доступных в SQL:

Значение Описание
NOT NULL Гарантирует, что данная колонка не может иметь значение NULL.
DEFAULT Обеспечивает значение по умолчанию для колонки, в случае, если данные не указаны.
UNIQUE Гарантирует, что все занчения в данной колонке уникальны.
PRIMARY KEY Уникальный идентификатор каждой записи в таблице БД.
FOREIGN KEY Уникальный идентификатор записи в другой таблице БД.
CHECK Гарантирует, что все занчения в колонке соответствуют определённому условию.
INDEX Используется для крайне быстрого создания и получения данных из БД.

Integrity данных

В каждой RDBMS существуют следующие категории integrity:

Значение Описание
Entity В таблице нет повторяющихся данных.
Domain Использует валидные вводы для указанной колонки путём ограничения типа, формата или диапазона значений.
Referential Записи, которые используются другими записями, не могут быть удалены.
Определённая пользователем Использует некоторые специфические правила, которые не укладываются в три, указанные выше категории.

Нормализации БД

Нормализация БД – это процесс эффективной организации данных в БД. Существует две причины для процесса нормализации:

  1. Выявление ненужных данных, например, хранение одних и тех же данных более, чем в одной таблице.
  2. Гарантирование того, что зависимости между данными имеют значение.

Обе эти цели крайне важны, так как они уменьшают количество памяти, необходимой для БД и гарантируют логическое хранение данных. Нормализации состоит из целого ряда руководств, которые помогают нам создавать эффективные структуры БД.

Руководства по нормализации разделяются на нормальные формы (формат или способ структурирования БД). Цель нормальной формы – организация структуры БД таким образом чтобы она отвечала правилам первой, второй или третьей нормальной формы.

Все эти формы описаны ниже:

На этом мы заканчиваем изучение базовых концепций RDBMS.

В следующей статье мы более подробно рассмотрим базовый синтаксис SQL.