기본키(PRIMARY KEY)
-중복되지 않는 고유 값만 허용한다.
-NULL 값은 허용하지 않는다.
-테이블 당 하나의 기본키만 지정 가능하다.
칼럼 뒤에 PRIMARY KEY를 붙여 기본키를 생성한다.
또는 칼럼 선언 후 PRIMARY KEY(칼럼명) 으로 기본키를 생성한다.
고유키(UNIQUE)
-중복을 제한한다.
-NULL값이 허용된다.
생성 방법은 PRIMARY KEY와 같이 칼럼 뒤에 붙이거나 칼럼 선언 후 괄호 안에 넣어 생성한다.
외래키(FOREIGN KEY)
-외래키는 NULL값이거나 또는 부모 테이블의 기본키 값과 같아야 한다.
기본적으로 테이블에 중복 데이터가 쌓이는 것을 방지하기 위해 사용한다.
변경되지 않는 데이터와 변경되는 데이터가 한 테이블 한에 있으면 대량의 데이터가 중복이되는 상황이 발생한다.
가령 어떤 물품을 배송 주문할 때, 동일 인물이 여러번에 걸쳐서 물품을 주문한다면
배송자의 정보는 매번 동일할 것이고, 배송 날짜나 배송 물품,수량 등은 매번 달라질 것이다.
이 모든 데이터를 한 테이블에 저장하게되면 매 주문시 마다
배송자의 정보인 변경되지 않는 데이터가 중복으로 쌓이게 된다.
중복 데이터가 많다는 것은 하나의 데이터를 찾는데 더 많은 시간이 들며 데이터를 저장하기 위한 공간도 그만큼
많이 필요하다는 뜻이다.
이런 상황을 방지하기 위해서는 변경되지 않는 데이터와 변경되는 데이터를 각각 다른 테이블에 저장해야한다.
이 때, 두 테이블 중 물품 정보에 대한 테이블에는 누가 주문한 것인지에 대한 정보를 추가해주어야 하며,
해당 정보는 또 다른 테이블인 배송자 정보 테이블의 기본키(PRIMARY KEY)가 된다.
이렇게 되면 서로 다른 테이블이지만 물품 정보 테이블에서 배송자 정보 테이블의 기본키를 조회하게되는데,
이 때 물품 정보에 추가된 배송자 정보 테이블의 기본키를 외래키(FOREIGN KEY)라고 한다.
즉, 외래키는 두 테이블을 연결시켜주는 '연결다리' 역할을 한다.
외래키는 다른 테이블의 정보를 참조할수 있게 해주는 기능인 것이다.
이렇게 외래키를 통하여 중복 데이터를 방지할 수 있다.
'Database' 카테고리의 다른 글
[Database]RDBMS,noSQL (0) | 2022.12.05 |
---|---|
[Database]DDL,DML,DCL,TCL (0) | 2022.11.17 |
댓글