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 |