Рубрики

SQL | ПРОВЕРЬТЕ Ограничение

Ограничения SQL
Проверка Ограничение используется для указания предиката, который должен удовлетворять каждый кортеж в данном отношении. Он ограничивает значения, которые столбец может содержать в отношении.

  • Предикат в проверочном ограничении может содержать подзапрос.
  • Проверочное ограничение, определенное для атрибута, ограничивает диапазон значений для этого атрибута.
  • Если значение, добавляемое к атрибуту кортежа, нарушает проверочное ограничение, проверочное ограничение оценивается как ложное, и соответствующее обновление отменяется.
  • Проверочное ограничение обычно задается с помощью команды CREATE TABLE в SQL.

Синтаксис:

CREATE TABLE pets(
        ID INT NOT NULL,
        Name VARCHAR(30) NOT NULL,
        Breed VARCHAR(20) NOT NULL,
        Age INT,
        GENDER VARCHAR(9),
        PRIMARY KEY(ID),
        check(GENDER in ('Male', 'Female', 'Unknown'))
        );

Примечание. Ограничение проверки в приведенной выше команде SQL ограничивает принадлежность GENDER только указанным категориям. Если новый кортеж добавлен или существующий кортеж в отношении обновлен GENDER, который не принадлежит ни к одной из трех упомянутых категорий, то соответствующее обновление базы данных отменяется.

запрос

Ограничение: Только студенты с возрастом> = 17 могут поступить в университет.
Схема базы данных студентов в университете:

CREATE TABLE student(
        StudentID INT NOT NULL,
        Name VARCHAR(30) NOT NULL,
        Age INT NOT NULL,
        GENDER VARCHAR(9),
        PRIMARY KEY(ID),
        check(Age >= 17)
        );

Студенческие отношения:

StudentIDNameAgeGender
1001Ron18Male
1002Sam17Male
1003Georgia17Female
1004Erik19Unknown
1005Christine17Female

Пояснение: В приведенном выше соотношении возраст всех учащихся превышает 17 лет в соответствии с ограничением, указанным в проверочном утверждении в схеме отношения. Однако, если выполняется следующий оператор SQL:

INSERT INTO student(STUDENTID, NAME, AGE, GENDER) 
VALUES (1006, 'Emma', 16, 'Female');

Там не будет никакого обновления базы данных, а возраст <17 лет.

Различные варианты использования Проверить ограничение:

  • С помощью alter: Проверить ограничение также можно добавить к уже созданному отношению, используя синтаксис:
    alter table TABLE_NAME modify COLUMN_NAME check(Predicate);
  • Задание имени переменной для проверки ограничения: Проверке ограничений может быть присвоено имя переменной с использованием синтаксиса:
    alter table TABLE_NAME add constraint CHECK_CONST check (Predicate);
  • Удалить проверочное ограничение: Проверочное ограничение можно удалить из отношения в базе данных с SQL-сервера, используя синтаксис:
    alter table TABLE_NAME drop constraint CHECK_CONSTRAINT_NAME;
  • Отменить проверочное ограничение: Проверочное ограничение можно удалить из отношения в базе данных в MySQL, используя синтаксис:
    alter table TABLE_NAME drop check CHECK_CONSTRAINT_NAME;

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

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

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

SQL | ПРОВЕРЬТЕ Ограничение

0.00 (0%) 0 votes