이 포스트에서는 DBMS에서 Primary key와 Foreign key의 차이점을 이해할 것입니다.
기본 키
-
특정 열의 데이터가 고유한지 확인하는 데 사용됩니다.
-
관계형 데이터베이스의 레코드를 고유하게 식별하는 데 도움이 됩니다.
-
테이블에는 하나의 기본 키만 허용됩니다.
-
'UNIQUE'와 'Not Null' 제약 조건의 조합입니다.
-
즉, NULL 값이 될 수 없습니다.
-
그 값은 상위 테이블에서 삭제할 수 없습니다.
-
제약 조건은 임시 테이블에 대해 암시적으로 정의될 수 있습니다.
예제- SQL:
CREATE TABLE table_name ( col_name int NOT NULL PRIMARY KEY, …. );
외래 키
-
관계형 데이터베이스 테이블의 열 또는 열 그룹입니다.
-
두 테이블의 데이터 사이에 링크를 제공합니다.
-
다른 테이블의 기본 키와 유사한 테이블의 필드입니다.
-
한 테이블에 둘 이상의 외래 키가 허용됩니다.
-
관계형 데이터베이스에 중복 값이 포함될 수 있습니다.
-
NULL 값을 포함할 수 있습니다.
-
그 값은 자식 테이블에서 삭제할 수 있습니다.
-
제약 조건은 로컬 또는 전역 임시 테이블에 정의할 수 없습니다.
예제- SQL:
CREATE TABLE table_name ( col_name int NOT NULL PRIMARY KEY, col_name int FOREIGN KEY REFERENCES Persons(col_name) );