SQL | 제약
SQL 제약조건 의 필수 요소입니다 관계형 데이터베이스 디자인 보장하는 진실성 정확성 그리고 신뢰할 수 있음 데이터베이스에 저장된 데이터 중. SQL 제약 조건은 테이블 열에 특정 규칙을 적용하여 잘못된 데이터 입력을 방지하고 쿼리 성능을 최적화하면서 데이터 일관성을 유지하는 데 도움이 됩니다.
이 기사에서는 가장 일반적인 SQL 제약 조건을 자세히 설명하고 명확한 예를 제공하고 이를 효과적으로 구현하는 방법을 설명합니다.
SQL 제약조건이란 무엇입니까?
SQL 제약조건 에 적용되는 규칙입니다 기둥 또는 테이블 에 관계형 데이터베이스 가능한 데이터 유형을 제한하기 위해 삽입됨 업데이트됨 또는 삭제됨 . 이러한 규칙은 데이터가 일관되고 유효하며 비즈니스 논리를 준수하는지 확인합니다. 데이터베이스 요구 사항 . 제약 조건은 테이블 생성 중이나 나중에 다음을 사용하여 적용할 수 있습니다. ALTER TABLE 성명. 이는 데이터베이스의 품질과 무결성을 유지하는 데 중요한 역할을 합니다.
SQL 제약조건의 유형
SQL은 데이터 무결성의 다양한 측면을 관리하기 위해 여러 유형의 제약 조건을 제공합니다. 이러한 제약은 데이터가 요구 사항을 충족하는지 확인하는 데 필수적입니다. 정확성 일관성 그리고 효력 . 자세한 설명과 예시를 통해 각각을 살펴보겠습니다.
1. NOT NULL 제약조건
그만큼 NULL이 아님 제약 조건은 열에 NULL 값이 포함될 수 없도록 보장합니다. 이는 레코드를 식별하거나 계산을 수행하는 데 값이 필수적인 열의 경우 특히 중요합니다. 열이 다음과 같이 정의된 경우 NULL이 아님 모든 행에는 해당 열의 값이 포함되어야 합니다.
예:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);설명: 위의 예에서는 두 가지 모두
ID그리고NAME열은 다음과 같이 정의됩니다. NULL이 아님 제약이란 모든 학생이 다음을 가져야 함을 의미합니다.ID그리고NAME값.2. 고유 제약
그만큼 고유한 제약 조건은 열의 모든 값이 테이블의 모든 행에서 고유하도록 보장합니다. 와 달리 기본 키 고유성이 필요하고 NULL을 허용하지 않는 UNIQUE 제약 조건은 NULL 값을 허용하지만 NULL이 아닌 항목에 대해서는 여전히 고유성을 적용합니다.
예:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);설명 : 여기에서는
ID열에는 두 명의 학생이 동일한 값을 공유할 수 없도록 고유한 값이 있어야 합니다.ID. 우리는 하나 이상을 가질 수 있습니다 고유한 테이블의 제약 조건.3. 기본 키 제약
에이 기본 키 제약 조건은 다음의 조합입니다. NULL이 아님 그리고 고유한 제약. 이는 테이블의 각 행을 고유하게 식별합니다. 테이블은 하나만 가질 수 있습니다 기본 키 NULL 값을 허용할 수 없습니다. 이는 일반적으로 레코드 식별자 역할을 하는 열에 사용됩니다.
예:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);설명: 이 경우에는
ID열은 각 학생의 ID가 고유하고 NULL이 될 수 없도록 기본 키로 설정됩니다.4. FOREIGN KEY 제약 조건
에이 외래 키 제약 조건은 한 테이블의 열을 기본 키 다른 테이블에. 이 관계는 유지하는 데 도움이 됩니다. 참조 무결성 해당 값이 외래 키 열이 참조된 테이블의 유효한 레코드와 일치합니다.
주문 테이블:
| O_ID | 주문_번호 | C_ID |
|---|---|---|
| 1 | 2253 | 3 |
| 2 | 3325 | 3 |
| 3 | 4521 | 2 |
| 4 | 8532 | 1 |
고객 테이블:
| C_ID | 이름 | 주소 |
|---|---|---|
| 1 | 라메쉬 | 델리 |
| 2 | 수레쉬 | 노이다 |
| 3 | 다르메쉬 | 구르가온 |
우리가 분명히 알 수 있듯이 해당 분야는 C_ID ~에 주문 테이블 은 기본 키 즉, Customers 테이블의 각 행을 고유하게 식별합니다. 고객 테이블. 따라서 Orders 테이블의 외래 키입니다.
예:
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)
)설명: 이 예에서는
C_ID열의Orders테이블은 다음을 참조하는 외래 키입니다.C_ID열의Customers테이블. 이렇게 하면 유효한 고객 ID만Orders테이블.5. 제약 조건 확인
그만큼 확인하다 제약 조건을 사용하면 데이터가 테이블에 삽입되기 전에 충족해야 하는 조건을 지정할 수 있습니다. 이는 열의 값이 특정 기준(예: 연령은 18세 이상이어야 함)을 충족하는지 확인하는 등의 규칙을 적용하는 데 사용될 수 있습니다.
예:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);설명: 위의 표에서는 확인하다 제약 조건은 18세 이상의 학생만 테이블에 삽입할 수 있도록 보장합니다.
6. 기본 제약
그만큼 기본 제약 조건은 삽입 중에 값이 지정되지 않은 경우 열에 대한 기본값을 제공합니다. 이는 사용자가 값을 제공하지 않더라도 특정 열이 항상 의미 있는 값을 갖도록 하는 데 유용합니다.
예:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);설명: 여기에 값이 제공되지 않은 경우
AGE삽입하는 동안 기본값인 18이 자동으로 할당됩니다.SQL에서 제약 조건을 지정하는 방법
제약 조건은 테이블 생성 프로세스 중에 다음을 사용하여 지정할 수 있습니다.
CREATE TABLE성명. 또한 다음을 사용하여 제약 조건을 수정하거나 기존 테이블에 추가할 수 있습니다.ALTER TABLE성명.제약 조건 생성 구문:
CREATE TABLE 테이블 이름
(
컬럼1 data_type [제약조건_이름]
컬럼2 data_type [제약조건_이름]
컬럼3 data_type [제약조건_이름]
...
);
테이블이 생성된 후에 제약 조건을 추가하거나 제거할 수도 있습니다.
제약 조건 추가 예:
ALTER TABLE Student
ADD CONSTRAINT unique_student_id UNIQUE (ID);결론
SQL 제약조건은 유지 관리에 필수적입니다. 데이터 무결성 관계형 데이터베이스의 일관성을 보장합니다. 이러한 제약 조건을 효과적으로 이해하고 구현하면 오류 없는 강력한 데이터베이스를 설계하는 데 도움이 됩니다. 활용하여 NOT NULL 고유 기본 키 외래 키 기본값 및 인덱스 확인 데이터베이스가 다음에 맞게 최적화되었는지 확인할 수 있습니다. 정확성 그리고 성능 .
퀴즈 만들기