Primary Key(기본키)

후보키 중에서 선정된 키, 중복된 값을 가질 수 없고, NULL 값을 가질 수 없다. 학번같은 중복 데이터가 존재하면 안되는 곳에 주로 사용된다.

 

Foreign Key(외래키)

두 테이블을 연결하는 키, 다른 테이블의 기본키를 참조하는 키

 

 

예시

먼저 univ_student 테이블을 만들고, id(학번)을 기본키로 지정한다.

 

 

insert로 값을 입력할 시, 중복된 id를 등록하려고 하면, 오류가 뜬다. 기본키는 중복된 값을 가질 수 없다.

 

 

univ_student 테이블 완성

 

 

그리고 univ_camp라는 테이블을 만든 후, camp_id를 univ_student 테이블의 기본키인 id의 외래키로 지정

 

 

univ_student 테이블의 송중기의 학번을 camp_id의 학번으로 등록시킨다.

 

 

부모 테이블인 univ_student의 송중기 학생을 삭제해본다. 그러자 오류가 난다. 부모행을 삭제나 수정할 수 없다.

univ_camp에 송중기 학생의 학번이 등록되었고, 이 외래키 때문에 걸린 제약으로 부모테이블의 송중기 학생을 삭제불가

이게 만약 삭제가 된다면, 자식 테이블인 univ_camp에는 univ_student에 있지도 않은 학생이 캠프에 참가하는게 된다.

그럼 아무 의미없는 데이터가 남게되는 것이다.

 

 

 

'DBMS' 카테고리의 다른 글

[MySQL] LIMIT 와 LIKE  (0) 2023.05.27
[MySQL] auto_increment  (0) 2023.05.25
MySQL WorkBench 사용법  (1) 2023.05.22
[MySQL] 테이블 수정 (ALTER TABLE)  (0) 2023.05.08
데이터베이스 기본 : CRUD, SQL 기본문법  (0) 2023.05.02

+ Recent posts