상세 컨텐츠

본문 제목

[sql] 유니크키가 뭐엿지

카테고리 없음

by esoesmio 2024. 5. 10. 13:12

본문

SQL에서 "유니크 키(Unique Key)"는 데이터베이스 테이블 내에서 각 로우(row)가 고유하도록 보장하는 제약 조건입니다. 유니크 키는 테이블 내의 한 컬럼(column) 또는 여러 컬럼의 조합에 적용될 수 있으며, 이 컬럼들의 조합에 중복된 값이 존재하지 않도록 합니다. 이는 데이터의 무결성을 유지하는 데 중요한 역할을 합니다.

### 유니크 키의 특징

1. **식별성**: 유니크 키는 해당 필드의 값이 테이블 내에서 유일해야 한다는 것을 보장합니다. 이는 데이터의 식별성을 향상시킵니다.
2. **중복 방지**: 중복된 데이터의 입력을 방지하여 데이터의 정확성과 신뢰성을 보장합니다.
3. **선택적 Null 값 허용**: 유니크 키는 Null 값을 허용할 수 있습니다. SQL 표준에 따라, 유니크 키로 지정된 컬럼은 하나 이상의 Null 값을 가질 수 있습니다 (단, DBMS에 따라 다를 수 있음).
4. **복수의 유니크 키**: 한 테이블에 여러 유니크 키를 설정할 수 있습니다. 각각 다른 목적을 가지고 여러 조합의 컬럼에 유니크 키를 적용할 수 있습니다.

### 유니크 키와 기본 키의 차이

유니크 키와 종종 비교되는 개념은 "기본 키(Primary Key)"입니다. 기본 키도 테이블 내에서 각 로우를 고유하게 식별하는 역할을 하지만, 기본 키는 Null 값을 허용하지 않습니다. 또한, 하나의 테이블에는 오직 하나의 기본 키만 존재할 수 있으나, 유니크 키는 여러 개가 존재할 수 있습니다.

### 예제

**유니크 키 설정 예제**

다음은 학생들의 데이터를 저장하는 테이블에 유니크 키를 설정하는 SQL 예제입니다:

```sql

CREATE TABLE Students (
    StudentID INT,
    LastName VARCHAR(255),
    FirstName VARCHAR(255),
    Email VARCHAR(255),
    UNIQUE (Email)
);


```
이 예제에서 `Email` 컬럼에 유니크 키를 설정했습니다. 이는 학생들의 이메일 주소가 테이블 내에서 고유해야 함을 의미합니다.

**복합 유니크 키 설정 예제**

두 개 이상의 컬럼으로 유니크 키를 설정할 수도 있습니다. 예를 들어, `LastName`과 `FirstName`의 조합으로 유니크 키를 설정할 수 있습니다:

```sql

CREATE TABLE Students (
    StudentID INT,
    LastName VARCHAR(255),
    FirstName VARCHAR(255),
    Email VARCHAR(255),
    UNIQUE (LastName, FirstName)
);


```
이 경우, `LastName`과 `FirstName`의 조합이 테이블 내에서 유일해야 합니다. 즉, 같은 이름과 성을 가진 두 명의 학생이 동시에 존재할 수 없습니다.

유니크 키는 데이터의 일관성과 정확성을 유지하는 데 매우 중요한 도구입니다. 데이터베이스 설계 시 적절한 컬럼에 유니크 키를 적용하여 데이터 관리의 효율성을 높일 수 있습니다.

댓글 영역