[문과 코린이의 IT 기록장] MSSQL - 기본키, 외래키 ( 기본키 (Primary Key) , 외래키 (Foreign Key), 관계형 데이터베이스란?)
< 참고 강의 영상 >
1. 기본키 (Primary Key) (= 주키)
- 고유한 식별값을 가질 수 있는 열을 기본키라고 한다.
* 즉, 기본키는 지정 가능함.
- 당연히 중복되어서는 안된다.
1) 기본키가 필요한 이유는?
- 기본키인 열의 구분을 활용해, 어떤 특정 레코드(행)을 찾고자 할 때 도움이 되기 때문이다.
- 기본 키를 지정함으로써 제약을 걸 수 있게 된다. ex. 중복되는 값 입력 X / NULL값 허용 X
2) 기본키 실습
a. pubs DB의 authors테이블의 디자인 들어가기
b. 기본키 확인
c. 레코드 실제 확인
d. 레코드 추가
2. 외래키 (Foreign Key)
- SQL DB는 특정한 열을 외래키로 지정할 수 있다.
- 외래키는 어떤 테이블에 있는 특정 열이, 다른 테이블에 있는 열(보통 기본키)를 참조하는 것이다.
ex. 매출테이블의 상품코드열이, 상품테이블의 상품코드 열(기본키)를 참조한다.(가리킨다)
* 매출테이블의 매출코드 1번은, 상품코드 4를 가리키고 있음 -> 따라서 이는 배를 나타내고 있는 것
* 즉, 매출테이블의 상품코드 열은, 상품테이블을 가리키는 외래키가 된다.
- 외래키를 지정하면 흔히 부모/자식 테이블의 관계라고 부른다. * 외래키 테이블이 자식 테이블
1) 목적
: 두 테이블에 공통으로 들어있는 자료를 서로 확실하게 이어주기 위함이다.
(=> 무결성에 위배되지 않도록. 즉 참조무결하도록)
2) 주의
: 참조되는 테이블이 먼저 만들어지고 값도 입력되어 있어야 한다.
: 이 때 외래 키로 참조되는 부모 테이블의 열은, 보통 기본키로 지정된다.
* 즉, 외래 키로 참조되는 테이블은 NULL 값을 허용하지 않아야 한다.
3) 특징
- 외래키는 다른 테이블의 데이터를 참조할 때 없는 값을 참조하지 않도록 제약을 해준다.
* 없는 값을 입력하려고 하면 에러가 난다. -> 참조 무결성 위배
3. 관계형 데이터베이스란?
- 결국 관계형 데이터베이스란, 여러 테이블간의 데이터가 기본키와 외래키의 설정으로 관계가 맺어진다는 것이다.
- 이러한 관계설정이 관계형 데이터베이스의 가장 핵심이다.
* 유의사항 - 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다. - 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다. - 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :) |