ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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() 같은 요소도 주의하자

Designed by Tistory.