Database
 sql >> база данни >  >> RDS >> Database

SQL ОГРАНИЧЕНИЯ

SQL Constraints определя правилата/ограниченията/ограниченията за данните, присъстващи в таблицата. SQL ограниченията се задават в момента на създаване на таблица или след създаването на таблица с помощта на команда ALTER. Има два типа ограничения ограничение на ниво колона и ограничение на ниво таблица .Както нивото на колона за име посочва, то посочва конкретна колона. В ограничение на ниво таблица той посочва повече от една колона или всички колони в таблицата.НЕ НУЛВО: Това гарантира, че определената стойност на колоната не може да бъде NULL.УНИКАЛНО: Той гарантира, че всяка стойност в колоната е различна.ПРАВИЛЕН КЛЮЧ: Първичният ключ гарантира, че NOT NULL и UNIQUE. Това означава, че стойността не може да бъде нула и трябва да се различава една от друга. Следователно първичният ключ идентифицира уникално всеки запис в таблицата.ВЪНШЕН КЛЮЧ: Той уникално идентифицира запис от друга таблица. Външният ключ е препратка към другата таблица и е като първичен ключ от друга таблица.ПО ПОДРАЗБИРАНЕ: Задава стойност по подразбиране, когато стойността не е дадена.ПРОВЕРЕТЕ: Той гарантира, че всички стойности в колоната отговарят на условие.ИНДЕКС: Индексът се създава и използва за извличане на данни от базата данни.

НЕ НУЛВО

Стойността по подразбиране за всяка колона е NULL. Ограниченията Not Null гарантират, че стойността на колоната не трябва да е нула. Това ограничение винаги гарантира, че колоната има някаква стойност. Не позволява вмъкване или актуализиране на запис без да се упоменава стойност в това поле. Потребителят може да добави това ограничение към една или няколко или всички колони на таблицата.Синтаксис: CREATE  TABLE table_name (тип данни в колона 1 NOT NULL,………);Пример: Създаване на таблица STUDENT(id_id int NOT NULL,student_name varchar(10),student_dept varchar(10) NOT NULL,classyear int); В горния пример NOT NULL ограничението се прилага върху две колони student_id и student_dept в таблица STUDENT, докато се създава таблица. Описание на таблицата STUDENT показва кои колони могат да бъдат NULL или не могат да бъдат NULL. Вижте изходния екран в момента на вмъкване на стойности в таблицата, ограничението не null не позволява въвеждане на стойност NULL в тези полета, върху които е приложено ограничението.УНИКАЛНО Уникалното ограничение избягва дублиращи се записи в колоната. Една таблица може да има няколко уникални ключа.Синтаксис: CREATE  TABLE table_name (тип данни в колона 1 UNIQUE,………);Пример: създаване на таблица student(student_id int Unique,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ); Можете да напишете по-горе заявка в друга форма. Създайте таблица student(student_id int,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ,unique (id_student));# дефинирайте няколко колони, уникални наведнъж Синтаксис: CREATE  TABLE table_name(колона 1 тип данни, ……… колона n, ограничение име на ограничение Уникален (колона1,..));Пример: създаване на таблица student(student_id int,student_name varchar(10) unique,student_dept varchar(10) not null,classyear int ,Ограничение cs_studentunique (id_student, student_name)); # Добавете УНИКАЛНО ограничение с помощта на оператор ALTERСинтаксис: Промяна на таблица table_nameAdd Unique (column_name);Пример: Променете таблицата StudentAdd Unique (id_student);Синтаксис: Промяна на таблица table_nameAdd Constraint constraint_name Уникален (колона1,колона2);Пример: Промяна на таблицата StudentAdd Constraint cs_student Unique (student_id,student_name);Primary Key Първичният ключ идентифицира уникално всеки запис в колоната, една таблица има един първичен ключ. Първичният ключ може да бъде една колона или група от колони.Синтаксис: Създаване на таблица table_name( тип данни на колона Първичен ключ, тип данни колона2,………);Пример: Създайте таблица STUDENT(student_id int Primary Key,student_name varchar(20),student_dept varchar(20),classyear int); Синтаксис: Създаване на таблица table_name( тип данни колона 1, тип данни колона 2,……… тип данни колона n, първичен ключ (име на колона));Пример: Създаване на таблица Student(id_id int,student_name varchar(10),student_dept varchar(10),classyear int,първичен ключ (id_student_id)); # Използване на оператор ALTER Синтаксис: alter table table_nameadd първичен ключ (име_на_колона); Пример: alter table studentadd първичен ключ (student_id); Синтаксис: alter table table_namedrop първичен ключ;Пример: промяна на таблицата studentdrop първичен ключ;

ПО ПОДРАЗБИРАНЕ

Ограничението DEFAULT се използва за задаване на стойността по подразбиране на колоната. Това ограничение може да се приложи върху една колона или няколко колони. NULL е стойност по подразбиране за всички колони в таблицата. Когато потребителят приложи ненулево или основно ограничение към която и да е колона, тогава стойността по подразбиране се променя.Синтаксис: Създайте таблица table_name (тип данни на колона,……. Стойност по подразбиране за тип данни на колона);Пример: Създаване на таблица student (student_id int,student_name varchar(20),student_dept varchar(20) default 'IT',classyear int); Екранът за изход показва стойността по подразбиране ‘IT’ присвоен на колона student_dept. „ИТ“ зададена стойност на колоната student_dept когато не е предоставена стойност за колоната student_dept .  # Добавяне на ограничение DEFAULT към колона с помощта на оператор ALTER   Синтаксис: alter table table_namealter column_nameset стойност по подразбиране;Пример: alter table studentalter student_deptset по подразбиране 'CS'; Синтаксис: alter table table_namealter column_namedrop по подразбиране;Пример: alter table studentalter student_deptdrop default; Външен ключ Външният ключ е връзка между две таблици. Първичният ключ на една таблица може да бъде референтен/външен ключ на друга таблица. Таблицата, която съдържа външен ключ, наречен дъщерна таблица и друга таблица, чийто първичен ключ се посочва като препратка, че таблицата е родителска таблица. Потребителят трябва да въведе записи в родителската таблица преди дъщерната таблица, ако няма данни в родителската таблица. Една таблица може да има един първичен ключ.Таблица DEPARTMENT
DEPT_ID DEPT_NAME DEPT_HEAD DEPT_LOC
0001 ИТ Г-н С.К. Мишра 06
0002 CS Г-н Д.П. Патил 04
0003 EXTC Г-жа С.К. Bhosale 05
0004 MECH Г-н A.B. Джа 07
СТУДЕНТСКА маса
STUDENT_ID STUDENT_NAME DEPT_NAME CLASSYEAR
10001 RAM ИТ 02
10002 КИРАН ИТ 04
10003 NEHA CS 01
10004 ROOPA MECH 01
УЧЕНИК Първичен ключ   student_idForeign key   dept_nameDEPARTMENT Първичен ключ   dept_name Тук DEPARTMENT е родителска таблица, а STUDENT е дъщерна таблица. Първичен ключ на таблицата DEPARTMENT, посочен като външен ключ в таблицата на студентите, наречена dept_name. Възможно е две таблици да имат колона със същото име. Да предположим, че в таблицата на студентите dept_name присъства с различно име като student_dept или каквото и да е, че не създава никакъв проблем. Таблицата може да съдържа един или повече външни ключа.# Прилагане на ограничение при създаването на таблица Синтаксис: //  Таблицата родител трябва да съдържа първичен ключ Създаване на таблица table_name(тип данни на колона Първичен ключ,Колона ……..,Колона n тип данни);// дъщерната таблица съдържа външен ключ Създаване на таблица table_name(тип данни на колона,…………,Външен ключ(име_на_колона)Справки име на_таблица на родител(име_на_колона на първичен ключ));Пример: Създайте отдел на таблица(dept_id int,dept_name varchar(30) Първичен ключ,dept_head varchar(50),dept_loc int);Създайте таблица student(student_id int първичен ключ,student_name varchar(30),dept_name varchar(30),classyear int,Foreign ключ (dept_name) Отдел за справки (dept_name)); # Прилагане на ограничение за външен ключ с помощта на оператор Alter Синтаксис: alter table table_nameadd външен ключ (име_колона) препратки parent_table_name (име_на_колона на първичния ключ);Пример: alter table studentadd външен ключ (dept_name)reference department(dept_name);Синтаксис: alter table table_nameadd ограничение constraint_nameforeign key (column_name)references parent_table_name (име_на_колона на първичния ключ);Пример: alter table studentadd ограничение fk_studentforeign key (dept_name)references department(dept_name);# DROP ограничение Синтаксис: alter table table_namedrop външен ключ име на ограничение;Пример: alter table studentdrop външен ключ fk_student;Създаване на таблица student (student_id int, student_name varchar(50) не е нула, student_dept varchar(30) по подразбиране 'IT', classyear int check (classyear<5 и classyear>0), първичен ключ (student_id)) );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Анализиране на данни от QuickBooks в Dundas BI

  2. „Тайно ли е? Безопасно ли е?" Работа с чувствителни данни във вашето моделиране на данни

  3. Използване на изрази за филтриране на данни от базата данни

  4. Промените в записваем дял може да се провалят неочаквано

  5. Извличане на пълни съобщения за грешка в isql