C++

printf("Hello, World!");

PHP

int main()

if

CREATE TABLE

else

console.log

UPDATE

function

1

0

1

0

1

dev

г. Тверь

Меню

Ключи в базе данных SQL

Ключи в базе данных SQL

Общие сведения

Ключи в базе данных SQL — это специальные поля или наборы полей, которые помогают идентифицировать и устанавливать связи между записями в разных таблицах. Они обеспечивают уникальность, поддерживают целостность данных и позволяют выполнять эффективные запросы и манипуляции с данными.

В базе данных MySQL используются внутренние (PRIMARY KEY, INDEX KEY, UNIQUE KEY) и внешние ключи (FOREIGN KEY). Давайте подробнее рассмотрим каждый из них.

Первичный ключ (PRIMARY KEY)

PRIMARY KEY — это особое поле в таблице, которое позволяет однозначно идентифицировать каждую запись в таблице. Это поле должно быть уникальным, не пустым и может содержать только одно значение в таблице. PRIMARY KEY используется для хранения уникальных идентификаторов объектов, перечисленных в таблице.


CREATE TABLE users (
 user_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
 username VARCHAR(30) NOT NULL,
 email VARCHAR(50) NOT NULL,
 birthdate DATE NOT NULL,
 registration_date DATETIME NOT NULL
);

В этом примере поле user_id является первичным ключом, который уникально идентифицирует каждую запись пользователя.

Индекс (INDEX KEY)

INDEX KEY — это индекс, который ускоряет поиск данных в таблице. Индекс представляет собой поле или комбинацию полей, по которым оптимизирован поиск. Индекс занимает место на диске, поэтому индексировать нужно только те поля, по которым происходит выборка.


CREATE INDEX idx_customer_name ON Customers (CustomerName);

В этом примере создаётся индекс idx_customer_name для таблицы Customers на основе столбца CustomerName. Теперь при выполнении запросов, использующих условие WHERE CustomerName = ‘значение’, индекс будет использоваться для ускорения поиска и повышения производительности запроса.

Уникальный ключ (UNIQUE KEY)

UNIQUE KEY — это ограничение, которое гарантирует уникальность всех значений в столбце таблицы. Это ключевое ограничение, которое применяется к одному или нескольким столбцам таблицы и предотвращает появление повторяющихся значений. Уникальные ключи используются для поддержания целостности и надёжности базы данных, а также для хранения информации в организованном виде.


CREATE TABLE Customers (
 Id INT PRIMARY KEY AUTO_INCREMENT,
 Age INT,
 FirstName VARCHAR(20),
 LastName VARCHAR(20),
 Phone VARCHAR(13) UNIQUE
);

В этом примере столбец Phone будет содержать только уникальные значения, и мы не сможем добавить в таблицу две строки с совпадающими значениями для этого столбца.

Внешний ключ (FOREIGN KEY)

Внешний ключ (FOREIGN KEY) — ссылка на первичный ключ другой таблицы, которая обеспечивает связь между таблицами и гарантирует ссылочную целостность данных. Внешний ключ может иметь значение NULL и состоять из одного столбца или комбинации столбцов.


CREATE TABLE orders (
 order_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
 customer_id INT NOT NULL,
 FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

В этом примере столбец customer_id в таблице orders является внешним ключом, который ссылается на столбец customer_id в таблице customers. Это обеспечивает связь между заказами и клиентами и гарантирует ссылочную целостность данных.