База данных
База данных (БД, database) - это организованная структура, предназначенная для хранения, изменения и обработки взаимосвязанной информации. Базы данных обеспечивают эффективное управление большими объёмами данных, их целостность, безопасность и возможность быстрого доступа.
В интернет-маркетинге базы данных используются для хранения информации о клиентах, товарах, заказах, контенте сайтов, результатах рекламных кампаний и аналитических данных. Практически любой современный сайт, особенно интернет-магазин или портал, использует базу данных для своей работы.
Основные понятия
[править]- СУБД (система управления базами данных) - программное обеспечение для создания и управления базами данных (MySQL, PostgreSQL, Oracle, Microsoft SQL Server).
- Таблица - структура, организованная в виде строк и столбцов, где хранятся однотипные данные.
- Поле (столбец) - отдельная характеристика объекта (например, имя, цена, дата).
- Запись (строка) - набор полей, описывающих 1 объект.
- Ключ - поле или набор полей, однозначно идентифицирующих запись.
- Запрос - команда для получения, добавления, изменения или удаления данных.
Типы баз данных
[править]Реляционные базы данных
[править]Наиболее распространённый тип, где данные организованы в виде таблиц, связанных между собой. Для работы с реляционными базами используется язык SQL.
Основные характеристики:
- Данные хранятся в таблицах с фиксированной структурой.
- Таблицы связаны между собой через ключи.
- Обеспечивается целостность данных (заданные правила, ограничения, типы полей).
- Поддерживаются транзакции - группы операций, которые выполняются полностью или не выполняются вовсе.
Популярные реляционные СУБД: MySQL, PostgreSQL, Oracle, Microsoft SQL Server, SQLite.
Нереляционные базы данных (NoSQL)
[править]Базы данных, которые не используют табличную структуру и SQL. Оптимальны для больших объёмов неструктурированных данных и распределённых систем.
Основные типы NoSQL:
- Документо-ориентированные - хранят данные в виде документов (JSON, BSON). Примеры: MongoDB, CouchDB.
- Ключ-значение - простейшие базы, где данные хранятся по ключу. Примеры: Redis, Memcached.
- Колоночные - данные хранятся по колонкам, что оптимизирует аналитические запросы. Примеры: Cassandra, HBase.
- Графовые - для данных со сложными связями (социальные сети, рекомендательные системы). Примеры: Neo4j, Amazon Neptune.
Язык SQL
[править]SQL (Structured Query Language) - стандартный язык для работы с реляционными базами данных. Основные операции:
- SELECT - выборка данных.
- INSERT - добавление новых записей.
- UPDATE - обновление существующих записей.
- DELETE - удаление записей.
- CREATE TABLE - создание таблицы.
- ALTER TABLE - изменение структуры таблицы.
- DROP TABLE - удаление таблицы.
Пример простого запроса:
SELECT name, price FROM products WHERE category_id = 5 ORDER BY price DESC LIMIT 10;
Свойства ACID
[править]Для реляционных баз данных критически важно соблюдение свойств ACID:
- Atomicity (Атомарность). Транзакция выполняется полностью или не выполняется вовсе.
- Consistency (Согласованность). Данные всегда остаются в согласованном состоянии, соблюдаются все правила и ограничения.
- Isolation (Изолированность). Параллельные транзакции не влияют друг на друга.
- Durability (Долговечность). После завершения транзакции данные сохраняются даже при сбое системы.
Индексы
[править]Индексы - это специальные структуры, ускоряющие поиск данных в таблицах. Индекс работает аналогично указателю в книге: позволяет быстро найти нужные строки без полного перебора всей таблицы.
Виды индексов:
- Первичный ключ - уникальный индекс для идентификации записей.
- Уникальный индекс - запрещает дублирование значений.
- Обычный индекс - ускоряет поиск, но допускает дубли.
- Составной индекс - по нескольким полям.
- Полнотекстовый индекс - для поиска по тексту.
Нормализация данных
[править]Нормализация - это процесс организации данных в таблицах для устранения избыточности и обеспечения целостности. Основные нормальные формы:
- Первая нормальная форма (1НФ). Данные атомарны (нет повторяющихся групп).
- Вторая нормальная форма (2НФ). Таблица находится в 1НФ и все неключевые поля зависят от полного первичного ключа.
- Третья нормальная форма (3НФ). Таблица находится в 2НФ и отсутствуют транзитивные зависимости (неключевые поля не зависят от других неключевых полей).
Резервное копирование
[править]Регулярное создание резервных копий критически важно для защиты данных. Основные методы:
- Полное резервное копирование. Создание копии всей базы данных.
- Инкрементальное копирование. Копирование только изменений с момента последнего копирования.
- Дифференциальное копирование. Копирование изменений с момента последнего полного копирования.
