반응형
이번 포스팅에서는 데이터베이스 테이블의 열(컬럼)에 대한 제약 조건(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 |