Primary key 와 Unique + not null은 같은걸까?
어디선가 primary key = Unique + not null과 같은 것이다 라고 들어서 정말인가
챗 gpt 선생님에게 물어봤다
질문: -sql에서 primary key랑 unique ,not null이랑 같은거야?-
답변:
Primary key, Unique constraint, Not Null은 SQL에서 데이터 무결성을 보장하는 데 사용되지만, 각각의 역할은 다릅니다.
Primary key(기본 키)는 테이블의 한 열 또는 여러 열로 이루어진 값들의 조합으로, 테이블 내의 각 행을 고유하게 식별하는 데 사용됩니다. 이는 관계형 데이터베이스에서 테이블 간의 참조를 위한 기준으로 사용됩니다. 각 테이블은 하나의 primary key만 가질 수 있습니다.
Unique constraint(고유 제약 조건)은 primary key와 비슷한 역할을 합니다. 하지만 테이블에서 여러 열에 대해 고유 제약 조건을 설정할 수 있으며, null 값을 허용할 수 있습니다.
Not Null(널 제약 조건)은 테이블의 열이 null 값을 포함할 수 없도록 보장합니다. 이는 외래 키 및 primary key와 같은 테이블의 기능에 필수적인 열에 자주 사용됩니다.
요약하면, 이러한 제약 조건은 모두 데이터 무결성을 보장하는 데 사용되지만, 데이터베이스의 신뢰성을 보장하는 데에는 각각의 역할이 있습니다.
----------
요약하면 비슷한 제약조건이지만 primary key 는 테이블 당 1번만 쓸 수 있고
unique + not null은 primary key에 준하는 제약조건이 필요한 다른 테이블에도 쓸 수 있다.
엄연히 다르다
0과 null이 둘다 비어 있어보여도 엄연히 0은 정수값으로 존재하는 데이터듯이 비슷하며 다른 느낌인가보다