제약조건 PK UQ NM

Juju·2023년 2월 18일
0

제약조건(constraint)

PK 란?

Primary key / pk 라고도 하며 논리적개념에 속한다.
해당 컬럼이 그 테이블의 식별자임을 나타내는 것
자신과 다른 레코드가 서로 다른 인스턴임을 확인 할 수 있게 해주는 역할.
프라이머리 키로 설정한 컬럼에는 중복허용, null이 불가하다.
데이터의 유일성이 보장되어야 한다.

제약조건의 PK 란?

Primary Key constraint 는 물리적 개념이다.
이 컬럼(들)은 다른 레코드와 구분짓는 식별자 역할을 하는 중복 허용 불가 unique, notnull이라는 속성을 DB에게 정보를 준다.
unique index, not null constraint 가 자동적으로 생성되는 이유이다.

인덱스와 PK의 상관관계에 있어서 unique 이든 non-unique 이든 인덱스는 PK 컬럼의 unique 성을 보장하기 위해 사용하는 하나의 도구이다.

그렇다면 한 컬럼에 not null constraint 와 unique index를 생성하면 primary key와 똑같지 않냐?

원래 primary key는 “이 컬럼(들)이 테이블의 식별자(identifier)이므로 중복을 허용해서는 안 되고, null값을 허용해서도 안 된다”라는 의미론적(semantic) 인 의미에서 정의하는 것이며, DBMS는 이를 효과적으로 처리하기 위해서 index를 자동생성해서 사용하고 not null constraint를 정의하는 것.

NN - Not Null(빈값) 못들어옴

UQ - Unique, 중복 값을 넣을 수 없음

그렇다면 PK와 UQ 를 중복체크 한다면 어떤값이 들어가는가? 그냥 하지마 pk notnull만 써 이자식아

PK와 UQ 의 차이는? 좀 더 이해한 후에 다시 찾아오도록 하겠다.

unique keym primary keym foreign key 정리
PK와 유니크 인덱스의 차이점 > 기술자료 | 해피정닷컴)

profile
짤막한 기록들..

1개의 댓글