SQL (Structured Query Language) — декларативный язык программирования, является стандартным языком для работы с реляционными базами данных. Он используется для создания, изменения и управления структурой базы данных, а также для выполнения запросов к базе данных и получения данных из нее.
SQL используется в большинстве современных СУБД (Системы Управления Базами Данных) такие как MySQL, Microsoft SQL Server, Oracle и многие другие.
Язык SQL появился после реляционной алгебры, и его прототип был разработан в конце 70-х годов в компании IBM Research. Он был реализован в первом прототипе реляционной СУБД фирмы IBM System R. С тех пор этот язык использовался многими коммерческими СУБД и был настолько популярен, что постепенно стал де-факто стандартным языком манипулирования данными в реляционных СУБД.
Реляционная алгебра — замкнутая система операций над отношениями в реляционной модели данных.
Операции реляционной алгебры также называют реляционными операциями.
Первоначально язык назывался SEQUEL (Structured English Query Language), но потом слово "English" пропало из этого словосочетания. С одной стороны, SQL ориентирован на то, чтобы сделать запросы к реляционным базам данных удобными и понятными для пользователей. С другой стороны, его почти с самого начала называли "полным языком баз данных".
SQL включает в себя:
SQL Базы данных (SQL Databases) — это системы для хранения и обработки данных, которые используют SQL (Structured Query Language) для доступа и управления данными.
В реляционной SQL базе данных данные хранятся в таблицах, которые состоят из строк и столбцов. Каждая строка таблицы представляет собой запись, а каждый столбец представляет собой отдельное поле этой записи. Таким образом, таблицы в реляционной базе данных можно сравнить с таблицами в электронных таблицах или таблицами в бумажных базах данных.
Реляционные базы данных обладают множеством преимуществ, включая поддержку стандартного языка запросов SQL, возможность обеспечить целостность данных и контроль доступа, простоту масштабирования и поддержку транзакций.
Реляционные базы данных также предлагают множество возможностей для связывания таблиц друг с другом через внешние ключи. Это обеспечивает связность данных и позволяет избежать дублирования информации. Реляционные базы данных также позволяют создавать индексы для ускорения поиска и выборки данных.
Существует множество реализаций реляционных СУБД, которые используются в различных областях и имеют свои собственные функциональные возможности и преимущества.
СУБД (RDBMS) означает Relational Database Management System. СУБД является основой для SQL, так и для всех современных систем баз данных , таких как MySQL, MS SQL Server, Oracle, PostgreSQL, SQLite и многие другие.
Таблица (table) в SQL Базе данных — это основной контейнер для хранения данных в реляционной базе данных.
Каждая таблица состоит из строк и столбцов. Каждая строка таблицы соответствует одной записи в базе данных, а каждый столбец представляет собой отдельное поле этой записи.
Например, если у нас есть база данных для хранения информации о фильмах, то мы можем создать таблицу с именем movies
, которая будет содержать столбцы такие как id
, title
, release_year
, genre
, rating
,и т.д. Каждая строка в этой таблице будет соответствовать одному фильму, и каждый столбец будет содержать соответствующую информацию о фильме.
Таблица movies
id | title | release_year | genre | rating |
---|---|---|---|---|
1 | The Shawshank Redemption | 1994 | Drama | 9 |
2 | The Godfather | 1972 | Crime | 9 |
3 | The Godfather: Part II | 1974 | Crime | 9 |
4 | The Dark Knight | 2008 | Action | 9 |
5 | 12 Angry Men | 1957 | Drama | 8 |
6 | Schindlers List | 1993 | Biography | 8 |
7 | Pulp Fiction | 1994 | Crime | 8 |
8 | The Lord of the Rings: The Return of the King | 2003 | Adventure | 8 |
9 | Fight Club | 1999 | Drama | 8 |
10 | The Good, the Bad and the Ugly | 1966 | Western | 8 |
Ячейка (item) в SQL Базе данных — это самый маленький элемент данных, который может быть сохранен в таблице.
Ячейки располагаются в строках таблицы, где каждая строка представляет собой запись.
Ячейки содержат значение определенного типа данных, которое может быть числом, строкой, датой, временем и т.д. Например, ячейка в столбце title
может содержать строку, а ячейка в столбце rating
может содержать целое число.
The Shawshank Redemption |
Запись (record) или строка в SQL Базе данных — это отдельная строка в таблице, которая содержит данные для одной единицы информации.
Например, в таблице movies
каждая строка будет представлять собой отдельный фильм с его собственными значениями для каждого столбца.
Таблица movies
id | title | release_year | genre | rating |
---|---|---|---|---|
1 | The Shawshank Redemption | 1994 | Drama | 9 |
В таблице movies
имеются следующие столбцы: id
, title
, release_year
, genre
, rating
Столбец (column) в SQL Базе данных — это одна из колонок в таблице, которая используется для хранения данных одного типа. Каждый столбец в таблице имеет свое имя и тип данных, который может принимать. Например, в таблице фильмов может быть столбец title
с типом данных VARCHAR
.
Термин "столбец" и "поле" часто используются как синонимы друг друга и они означают одно и то же.
Таблица movies
title |
---|
The Shawshank Redemption |
The Godfather |
The Godfather: Part II |
The Dark Knight |
12 Angry Men |
Schindlers List |
Pulp Fiction |
The Lord of the Rings: The Return of the King |
Fight Club |
The Good, the Bad and the Ugly |
Первичный ключ (primary key) — это уникальный идентификатор для каждой записи в таблице базы данных. Он используется для идентификации строк и обеспечения целостности данных в таблице. Первичный ключ должен быть уникальным и не может принимать значение NULL.
В таблице фильмов movies
, мы можем задать колонку id
как первичный ключ. Каждая строка в таблице будет иметь уникальное значение в этой колонке, и будет использоваться для идентификации соответствующего фильма в базе данных.
Таблица movies
id | title | release_year | genre | rating |
---|---|---|---|---|
1 | The Shawshank Redemption | 1994 | Drama | 9 |
2 | The Godfather | 1972 | Crime | 9 |
3 | The Godfather: Part II | 1974 | Crime | 9 |
4 | The Dark Knight | 2008 | Action | 9 |
5 | 12 Angry Men | 1957 | Drama | 8 |
6 | Schindlers List | 1993 | Biography | 8 |
7 | Pulp Fiction | 1994 | Crime | 8 |
8 | The Lord of the Rings: The Return of the King | 2003 | Adventure | 8 |
9 | Fight Club | 1999 | Drama | 8 |
10 | The Good, the Bad and the Ugly | 1966 | Western | 8 |
Внешний ключ (foreign key) - это способ связывания данных в различных таблицах базы данных. Он используется для обеспечения целостности данных и соответствия между таблицами.
Например: В таблице reviews
есть поле movie_id
, которое является внешним ключом связывающим данную таблицу с таблицей movies
по столбцу id
.
Таблица reviews
id | movie_id | review |
---|---|---|
1 | 1 | This is an amazing movie with great acting and a compelling story. |
2 | 2 | A classic crime drama with iconic performances and a timeless plot. |
3 | 3 | A worthy sequel to The Godfather that expands on the original story. |
4 | 4 | A thrilling superhero movie with incredible action and a great villain. |
5 | 5 | A powerful drama about the flaws in the justice system and the power of persistence. |
NULL в SQL Базе данных — специальное значение, которое может быть записано в поле таблицы базы данных (БД).
NULL соответствует понятию "пустое поле", то есть "поле, не содержащее никакого значения". Введено для того, чтобы различать в полях БД пустые (визуально не отображаемые) значения (например, строку нулевой длины) и отсутствующие значения (когда в поле не записано вообще никакого значения, даже пустого).
NULL означает отсутствие, неизвестность информации.
В SQL Базе данных есть различные правила ограничения, которые используются для обеспечения целостности и соответствия данных в базе данных.