BD для QA. База по базам.
В 1974 году Дональд Д. Чамберлин и Рэймонд Ф. Бойс из IBM разработали первый прототип языка, который они назвали SEQUEL (Structured English Query Language). SEQUEL был создан для реализации идей Эдгара Ф. Кодда и предоставления удобного способа взаимодействия с реляционными базами данных. Позже название было изменено на SQL из-за конфликтов с торговой маркой. Давайте разбираться что такое база данных и как с ней взаимодействовать.
БД и ее типы
База данных (БД) – это организованная коллекция данных, которая позволяет эффективно хранить, управлять и извлекать информацию. Существует несколько типов баз данных:
1. Реляционные базы данных – наиболее распространенный тип, основанный на принципах реляционной модели. Данные хранятся в таблицах, связанных между собой через ключи (Primary Key). Примеры таких СУБД (систем управления базами данных): MySQL, PostgreSQL, Oracle.
2. Нереляционные базы данных (NoSQL) – этот тип появился сравнительно недавно и используется там, где традиционные реляционные базы данных не справляются с большими объемами данных или специфическими требованиями к производительности. К ним относятся документоориентированные базы данных (например, MongoDB), графовые базы данных (Neo4j) и другие.
3. Объектно-реляционные базы данных – попытка объединить принципы объектно-ориентированного программирования и реляционных моделей. Такие системы позволяют работать с объектами напрямую, но при этом сохраняют структуру таблиц и связей. Пример: PostgreSQL с поддержкой объектных расширений.
Это конечно не все типы, но этого достаточно.
Основные программы для работы с базами данных
Для взаимодействия с базами данных используются специальные программы – системы управления базами данных (СУБД). Вот некоторые:
1. MySQL – одна из самых популярных бесплатных СУБД, широко используемая в веб-разработке благодаря своей простоте и совместимости с PHP.
2. PostgreSQL – мощная и гибкая система, поддерживающая множество функций, включая сложные запросы и работу с географическими данными.
3. Oracle Database – коммерческая СУБД от компании Oracle, известная своими высокими показателями надежности и безопасности.
4. Microsoft SQL Server – продукт Microsoft, ориентированный на корпоративную среду и интеграцию с другими продуктами компании.
Основные команды
Работа с базой данных подразумевает выполнение различных операций над данными. Эти операции обычно обозначаются аббревиатурой CRUD:
- Create (создание)
- Read (чтение)
- Update (обновление)
- Delete (удаление)
Рассмотрим основные команды.
SELECT
Этот оператор используется для выбора определенных столбцов или выражений из таблицы или объединения нескольких таблиц. Например:
FROM
Указывает, из какой таблицы брать данные. Например:
JOIN
Объединяет две таблицы на основе совпадающих значений в определенных столбцах. Существует несколько типов join:
- INNER JOIN: выбирает строки, где значения столбцов совпадают в обеих таблицах.
- LEFT JOIN: включает все строки из первой таблицы, даже если нет соответствующих строк во второй таблице.
- RIGHT JOIN: наоборот, включает все строки из второй таблицы.
- FULL OUTER JOIN: включает все строки из обеих таблиц.
Пример:
ON
Устанавливает условия соединения двух таблиц. Например:
WHERE
Фильтрует строки по определенному условию. Например:
ORDER BY
Сортирует строки по указанным столбцам. Например:
LIMIT
Ограничивает количество возвращаемых строк. Например:
UPDATE
Изменяет значения в существующей таблице. Например:
INSERT INTO
Добавляет новые строки в таблицу. Например:
DELETE FROM
Удаляет строки из таблицы. Например:
TRUNCATE TABLE
Удаляет все строки из таблицы, включая автоматически увеличивающиеся идентификаторы. Например:
DROP TABLE
Удаляет всю таблицу и ее данные. Например:
Агрегатные функции
SQL COUNT()
Подсчитывает количество строк в таблице или группе строк. Например:
SQL MIN()
Возвращает минимальное значение указанного столбца. Например:
SQL MAX()
Возвращает максимальное значение указанного столбца. Например:
SQL AVG()
Вычисляет среднее значение указанного столбца. Например:
SQL SUM()
Суммирует значения указанного столбца. Например: