-
Foreign key ( 외래키 )Sql 2023. 3. 17. 11:41
외래키 ( Foreign key )
: 여러개의 테이블이 있을 때 데이터 무결성을 유지하기 위해 중요하다.
외래키를 설정하면 참조 무결성을 강제할 수 있으며, 다른 테이블의 데이터를 변경할 때 해당 외래키를
참조하는 모든 테이블의 데이터도 함께 변경된다. 이를 통해 데이터 일관성과 정확성을 유지할 수 있다.
- 외래키로 설정하기 위해서는 기본적으로 primary key 설정이 되어있어야한다.
- 외래키와 기본키의 타입이 일치해야한다.
- 다음과 같이 예를 들 수 있다.
위 예시에서는 orders 테이블의 product_id 피륻가 products 테이블의 product_id 필드를 참조하도록 외래키 제약조건을 설정했다.
orders 테이블의 product_id 필드는 products 테이블의 product_id 필드와 관계를 맺게 되며,
products 테이블의 product_id 값이 변경될 때 orders 테이블의 해당 값을 참조하는 모든 레코드가 영향을 받는다.
** 외래키 제약조건에서 참조할 필드와 참조할 테이블의 이름을 모두 명시해야하며, 이 때 참조할 필드는 소괄호로
묶어야한다.
alter table board add constraint foreign key (id) references member (id); 또는 테이블을 생성할 때 Foreign key (필드명) references 참조테이블(참조필드);
- member와 board 테이블을 다음과 같이 설정
- member table의 value
외래키 명령어 - board 의 id 필드가 member의 id 필드가 외래키로 참조하고 있기 때문에, member 테이블에 존재하지 않는
id는 board 데이터베이스에 insert 할 수 없다. ( 게시판에 글을 쓸 수 없다고 봐야함 )
-> id 'abcd' 로 insert 했을 때만 board 테이블에 행이 추가됐다.
** board 게시판을 create 할 때 no 에 auto_increament와 regdate 에 default now() 같은 요소도 주의하자
'Sql' 카테고리의 다른 글
My Sql 첫걸음 CH08. 트랜잭션 (0) 2023.03.17 My Sql 첫걸음 CH08. 데이터베이스 설계 (0) 2023.03.17 SQL 첫걸음 CH07. 복수의 테이블 다루기 (0) 2023.03.17 SQL 첫걸음 CH05. 집계와 서브쿼리 (0) 2023.03.15 SQL 첫걸음 CH04. 데이터의 추가, 삭제, 갱신 (0) 2023.03.15