Реляционная база данных (RDB) — это тип базы данных, которая организует данные в виде таблиц с строками и столбцами. Такие базы также называют SQL — как язык программирования. В такой базе данные упорядочиваются с использованием табличных форм, содержащих сведения об их сущности. Строки и столбцы в таких таблицах представляют заранее установленные категории данных.
Бд устанавливает взаимосвязи между различными наборами данных и использует эти связи для управления и обращения к связанным данным.
Основное отношение: родительская (ссылочная) таблица -> дочерняя таблица. Отношения формируются итерационно приведением к нормальным формам для устранения избыточности. Выполняют улучшение структуры данных путем декомпозиции существующих отношений, добавляют атрибуты для оптимизации и т.п.
Информацию в базе можно связать, даже если она находится в разных таблицах. В таблицах есть поле для внешнего ключа со ссылками на другие таблицы. Это отличает реляционные базы от остальных.
Основные концепции
Таблицы
Данные в реляционной базе данных хранятся в виде таблиц. Каждая таблица состоит из строк (кортежей) и столбцов (атрибутов). Кортежи – не изменяемый тип данных, поэтому атрибуты постоянны в рамках таблицы.
Таблица с внешним ключом называется дочерней таблицей, а таблица с первичным ключом называется ссылочной или родительской таблицей.
Ключи
Естественные, искусственные, суррогатные.
Если состоит из более двух атрибутов, ключ составной.
Ключ – поле или набор полей (столбцов) для того, чтобы избежать неоднозначности при поиске в таблицах. Служит для контроля целостности данных (один из механизмов).
- Первичный ключ — ключевое поле, уникальный идентификатор строки в таблице, который однозначно определяет запись (строку таблицы).
- Внешний ключ — ссылка на первичный ключ другой таблицы, обеспечивающая связь между таблицами.
Правило внешнего ключа гарантирует, что при создании записей в дочерней таблице, значение поля, являющегося внешним ключом, есть в родительской таблице.
Наличие первичного ключа не обязательно, а целостность данных может определяться, к примеру, на уровне приложения.
Вообще, для работы такой БД не обязательно наличие ключей.
Нормализация
Нормализация — (нормирование) это процесс структурирования данных для минимизации избыточности и предотвращения аномалий обновления. В нормализованной базе нет повторяющихся данных. Ее проще сопровождать, изменять.
В процессе нормализации данные преобразуют, чтобы они занимали меньше места, а поиск по элементам был быстрым и результативным. Для этого создают дополнительные таблицы и связывают друг с другом ключами — колонками, в которых нет повторяющихся элементов.
При проектировании баз и создании структур данных таблицы приводят разному порядку нормальных форм.
Что даёт нормализация данных и как она упрощает работу с базами:
- Уменьшает объём базы данных и экономит место. За счёт отдельных таблиц для категорий и повторяющихся элементов можно уменьшить размер записей в базе данных, а значит, и её вес.
- Упрощает поиск и делает работу с базой удобнее. Нормализованную базу данных, которая состоит из связанных таблиц, можно оптимизировать для задач без дополнительных действий.
- Уменьшает вероятность ошибок и аномалий. Нормальные формы данных в таблицах взаимосвязаны. Например, если нужно изменить или удалить данные в одной таблице, то остальные связанные с ней данные автоматически обновятся.
Для нормализации данных нет специального программного обеспечения. Данные в базе преобразуют по правилам.
Правила нормализации баз данных
По правилам нормализации есть семь нормальных форм баз данных: 1, 2, 3, нормальная форма Бойса-Кодда, 4, 5, 6. Приводить данные к нормальным формам можно только последовательно. Чаще всего трудно без усложнения структуры и снижения производительности довести базу до идеала. Поэтому выбирают оптимальную форму для каждого случая.
Язык SQL
Для управления реляционной базой данных используется язык SQL (Structured Query Language), который позволяет выполнять запросы, изменять структуру данных и управлять доступом.
Преимущества
- Гибкость и удобство работы с данными.
- Обеспечение целостности и согласованности информации.
- Поддержка сложных запросов и транзакций.
Популярные системы управления
Некоторые известные СУБД (системы управления базами данных), основанные на реляционной модели:
- MySQL
- PostgreSQL
- Microsoft SQL Server
- Oracle Database