Рубрики

SQL | Ограничения

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

Доступные ограничения в SQL:

  • NOT NULL : это ограничение говорит о том, что мы не можем хранить нулевое значение в столбце. То есть, если столбец указан как NOT NULL, мы больше не сможем хранить ноль в этом конкретном столбце.
  • UNIQUE : Это ограничение, если оно указано в столбце, говорит о том, что все значения в столбце должны быть уникальными. То есть значения в любой строке столбца не должны повторяться.
  • ПЕРВИЧНЫЙ КЛЮЧ : Первичный ключ — это поле, которое может однозначно идентифицировать каждую строку в таблице. И это ограничение используется для указания поля в таблице в качестве первичного ключа.
  • ИНОСТРАННЫЙ КЛЮЧ : Внешний ключ — это поле, которое может однозначно идентифицировать каждую строку в другой таблице. И это ограничение используется для указания поля в качестве внешнего ключа.
  • ПРОВЕРКА : Это ограничение помогает проверять значения столбца на соответствие определенному условию. Таким образом, это помогает гарантировать, что значение, хранящееся в столбце, соответствует определенному условию.
  • ПО УМОЛЧАНИЮ : Это ограничение указывает значение по умолчанию для столбца, если пользователь не указал никакого значения.

Как указать ограничения?
Мы можем указать ограничения во время создания таблицы с помощью оператора CREATE TABLE. Мы также можем указать ограничения после создания таблицы, используя инструкцию ALTER TABLE.

Синтаксис :
Ниже приведен синтаксис для создания ограничений с использованием оператора CREATE TABLE во время создания таблицы.

CREATE TABLE sample_table
(
column1 data_type(size) constraint_name,
column2 data_type(size) constraint_name,
column3 data_type(size) constraint_name,
....
);

sample_table: Name of the table to be created.
data_type: Type of data that can be stored in the field.
constraint_name: Name of the constraint. for example- NOT NULL, UNIQUE, PRIMARY KEY etc. 

Давайте рассмотрим каждое из ограничений в деталях.

  1. НЕ НОЛЬ
    Если мы укажем поле в таблице как NOT NULL. Тогда поле никогда не примет нулевое значение. То есть вам не разрешено вставлять новую строку в таблицу без указания какого-либо значения для этого поля.
    Например, приведенный ниже запрос создает таблицу Student с полями ID и NAME как NOT NULL. То есть мы обязаны указывать значения для этих двух полей каждый раз, когда хотим вставить новую строку.
    CREATE TABLE Student
    (
    ID int(6) NOT NULL,
    NAME varchar(10) NOT NULL,
    ADDRESS varchar(20)
    );
    
  2. УНИКАЛЬНАЯ
    Это ограничение помогает однозначно идентифицировать каждую строку в таблице. то есть для определенного столбца все строки должны иметь уникальные значения. У нас может быть более одного уникального столбца в таблице.
    Например, приведенный ниже запрос создает рассказ Стьюдента, в котором идентификатор поля указан как UNIQUE. то есть, никакие два студента не могут иметь одинаковый идентификатор. Уникальное ограничение в деталях.
    CREATE TABLE Student
    (
    ID int(6) NOT NULL UNIQUE,
    NAME varchar(10),
    ADDRESS varchar(20)
    );
    
  3. ПЕРВИЧНЫЙ КЛЮЧ
    Первичный ключ — это поле, которое однозначно идентифицирует каждую строку в таблице. Если поле в таблице является первичным ключом, то поле не сможет содержать значения NULL, а все строки должны иметь уникальные значения для этого поля. Итак, другими словами, мы можем сказать, что это комбинация ограничений NOT NULL и UNIQUE.
    Таблица может иметь только одно поле в качестве первичного ключа. При запросе ниже будет создана таблица с именем Student и указан идентификатор поля в качестве первичного ключа.
    CREATE TABLE Student
    (
    ID int(6) NOT NULL UNIQUE,
    NAME varchar(10),
    ADDRESS varchar(20),
    PRIMARY KEY(ID)
    );
    
  4. ИНОСТРАННЫЙ КЛЮЧ
    Внешний ключ — это поле в таблице, которое однозначно идентифицирует каждую строку другой таблицы. То есть это поле указывает на первичный ключ другой таблицы. Это обычно создает некую связь между таблицами.
    Рассмотрим две таблицы, как показано ниже:

    заказы

    O_IDORDER_NOC_ID
    122533
    233253
    345212
    485321

    Клиенты

    C_IDNAMEADDRESS
    1RAMESHDELHI
    2SURESHNOIDA
    3DHARMESHGURGAON

    Как мы можем ясно видеть, поле C_ID в таблице Orders является первичным ключом в таблице Customers, то есть однозначно идентифицирует каждую строку в таблице Customers. Следовательно, это внешний ключ в таблице заказов.
    Синтаксис:

    CREATE TABLE Orders
    (
    O_ID int NOT NULL,
    ORDER_NO int NOT NULL,
    C_ID int,
    PRIMARY KEY (O_ID),
    FOREIGN KEY (C_ID) REFERENCES Customers(C_ID)
    )
    
  5. ПРОВЕРИТЬ
    Используя ограничение CHECK, мы можем указать условие для поля, которое должно быть выполнено во время ввода значений для этого поля.
    Например, приведенный ниже запрос создает таблицу Student и задает условие для поля AGE как (AGE> = 18). То есть пользователю не будет разрешено вводить какие-либо записи в таблицу с возрастом <18. Проверьте подробности ограничения
    CREATE TABLE Student
    (
    ID int(6) NOT NULL,
    NAME varchar(10) NOT NULL,
    AGE int NOT NULL CHECK (AGE >= 18)
    );
    
  6. ДЕФОЛТ
    Это ограничение используется для предоставления значения по умолчанию для полей. То есть, если во время ввода новых записей в таблицу пользователь не указал какое-либо значение для этих полей, ему будет присвоено значение по умолчанию.
    Например, приведенный ниже запрос создаст таблицу с именем Student и задает значение по умолчанию для поля AGE как 18.
    CREATE TABLE Student
    (
    ID int(6) NOT NULL,
    NAME varchar(10) NOT NULL,
    AGE int DEFAULT 18
    );
    

Эта статья предоставлена Суровым Агарвалом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

SQL | Ограничения

0.00 (0%) 0 votes