Programming

; develop a program

DataBase/MariaDB

[DB] UNIQUE 제약 조건

Clloud_ 2023. 6. 13. 08:14
반응형

이번 포스팅에서는 데이터베이스 테이블의 열(컬럼)에 대한 제약 조건(Constraint)인 UNIQUE에 대하여 공부를 해보고자 한다.

 


UNIQUE란

UNIQUE는 해당 열에 중복된 값을 허용하지 않는 것을 보장한다.
이를 통해 데이터의 일관성과 정확성을 유지할 수 있다.

 

또한 UNIQUE는 기본 키(primary key) 역할을 할 수도 있다.
기본 키는 테이블에서 각 행을 고유하게 식별하는 역할을 수행한다.

 

UNIQUE 제약을 생성하려면 CREATE TABLE 문에서 열 정의에 UNIQUE 키워드를 사용하거나 ALTER TABLE 문에서 추가할 수 있다.

UNIQUE 제약은 데이터의 무결성을 보장하기 위해 사용된다.
중복된 데이터가 저장되는 것을 방지하여 데이터베이스의 일관성을 유지하고, 검색 및 필터링 작업을 보다 효율적으로 수행할 수 있도록 도와준다.

 


UNIQUE  제약 조건의 특징

유일성 보장

  • UNIQUE 제약은 테이블의 열에 중복된 값을 허용하지 않는다.
  • 즉, UNIQUE 제약이 설정된 열에는 각각의 값이 고유해야 한다.
  • 이는 데이터의 일관성을 유지하기 위해 중요하다.

 

NULL 값

  • UNIQUE 제약은 "알 수 없음"이나 "데이터 없음"을 의미하는 NULL 값을 허용한다.
  • UNIQUE 제약이 설정된 열에는 여러 개의 NULL 값이 허용되지만, NULL 값은 고유하지 않은 값으로 간주된다.
  • 즉, NULL 값은 중복으로 간주되지 않는다. 

 

다중 열 UNIQUE 제약

  • MariaDB에서는 UNIQUE 제약을 여러 열에 동시에 적용할 수도 있다.
  • 이를 다중 열 UNIQUE 제약이라고 한다.
  • 다중 열 UNIQUE 제약은 해당 열들의 조합이 고유해야 함을 의미한다.
  • 즉, 각 열의 조합이 중복되지 않아야 한다.

 


예시

1. "users" 테이블에서 "email" 열에 UNIQUE 제약을 추가하는 경우

CREATE TABLE users (
    id INT PRIMARY KEY,
    email VARCHAR(255) UNIQUE,
    -- 다른 열들...
);

 

 

2. 이미 존재하는 테이블에 UNIQUE 제약을 추가하려면 다음과 같이 ALTER TABLE 문을 사용한다.

ALTER TABLE users
ADD CONSTRAINT unique_email UNIQUE (email);

 

 

3. "users" 테이블에서 "first_name"과 "last_name" 열의 조합이 고유해야 한다고 가정했을 때, 이러한 다중 열 UNIQUE 제약을 설정하는 예시 쿼리문

CREATE TABLE users (
    id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    UNIQUE (first_name, last_name)
);
위의 예제에서는 "first_name"과 "last_name" 열의 조합이 고유해야 한다.
즉, 같은 "first_name"과 "last_name" 값을 가진 두 개의 행을 삽입하려고 하면 오류가 발생한다.

 


반응형

'DataBase > MariaDB' 카테고리의 다른 글

[DB] CAST 함수  (0) 2023.06.23
[DB] DISTINCT  (0) 2023.06.22
[DB] 와일드카드 문자  (0) 2023.06.12
[DB] STR_TO_DATE 함수  (0) 2023.06.11
[DB] Maria DB  (0) 2023.06.11