awilum.ru
Статьи Курсы Об авторе

Введение в SQL

Курсы / SQL Базовый уровень / Основы

SQL (Structured Query Language) — декларативный язык программирования, является стандартным языком для работы с реляционными базами данных. Он используется для создания, изменения и управления структурой базы данных, а также для выполнения запросов к базе данных и получения данных из нее.

SQL используется в большинстве современных СУБД (Системы Управления Базами Данных) такие как MySQL, Microsoft SQL Server, Oracle и многие другие. 

Краткая история SQL

Язык SQL появился после реляционной алгебры, и его прототип был разработан в конце 70-х годов в компании IBM Research. Он был реализован в первом прототипе реляционной СУБД фирмы IBM System R. С тех пор этот язык использовался многими коммерческими СУБД и был настолько популярен, что постепенно стал де-факто стандартным языком манипулирования данными в реляционных СУБД.

Реляционная алгебра — замкнутая система операций над отношениями в реляционной модели данных.
Операции реляционной алгебры также называют реляционными операциями.

Первоначально язык назывался SEQUEL (Structured English Query Language), но потом слово "English" пропало из этого словосочетания. С одной стороны, SQL ориентирован на то, чтобы сделать запросы к реляционным базам данных удобными и понятными для пользователей. С другой стороны, его почти с самого начала называли "полным языком баз данных". 

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

NULL в SQL Базе данных — специальное значение, которое может быть записано в поле таблицы базы данных (БД).

NULL соответствует понятию "пустое поле", то есть "поле, не содержащее никакого значения". Введено для того, чтобы различать в полях БД пустые (визуально не отображаемые) значения (например, строку нулевой длины) и отсутствующие значения (когда в поле не записано вообще никакого значения, даже пустого).

NULL означает отсутствие, неизвестность информации.

Правила ограничения

В SQL Базе данных есть различные правила ограничения, которые используются для обеспечения целостности и соответствия данных в базе данных.

Основы Руководство по стилю SQL
Записаться на курс