>데이터 베이스 >MySQL 튜토리얼 >MySQL 학습 외래 키에 대한 자세한 그래픽 및 텍스트 설명

MySQL 학습 외래 키에 대한 자세한 그래픽 및 텍스트 설명

黄舟
黄舟원래의
2017-09-08 14:04:171859검색

1. 예를 들어 "카테고리 테이블"과 "제품 테이블"이라는 두 개의 테이블이 있습니다. 일반적으로 제품이 어떤 카테고리에 속하는지 나타내기 위해 제품 테이블에 분류 CID 정보를 저장하는 열을 추가합니다. 외래 키라고 합니다.

이때, 분류 테이블 카테고리를 메인 테이블, cid를 기본 키라고 하고, product 테이블을 슬레이브 테이블, Category_id를 외래 키라고 합니다.

외래 키의 특징: 1) 보조 테이블의 외래 키 값은 기본 테이블의 기본 키에 대한 참조입니다

   2) 보조 테이블의 외래 키 유형은 기본 테이블과 일치해야 합니다 기본 테이블의 키입니다.

외래 키 사용 목적: 데이터 무결성 보장

2. 먼저 명령 프롬프트에서 데이터베이스 web09를 만들고 두 개의 테이블 카테고리와 제품을 만듭니다.

여러 조각을 삽입합니다.

eg.insert into category(cid,cname) values('c001','家电');
insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');

는 각각 다음과 같이 표시됩니다.

3. 외래 키 제약 조건 선언

구문: alter table add [제약 조건] [외래 키 이름] 외래 키(테이블의 외래 키 필드 이름) 참조 main table (메인 테이블의 기본 키);

[외래 키 이름]은 외래 키 제약 조건을 삭제하는 데 사용됩니다. 일반적으로 "_fk"

제약 조건이 선언된 후 원하는 경우로 끝나는 것이 좋습니다. 카테고리 테이블에서 cid=c003의 데이터를 삭제하려면 삭제할 수 없습니다

4. 제약 조건을 해제합니다

Syntax: alter table drop 외래 키 외래 키 이름을 테이블에서

계속 삭제합니다. 카테고리 테이블의 cid=c003 데이터는 삭제할 수 있습니다

주의: 슬레이브 테이블의 외래 키는 마스터 테이블에 없는 레코드를 추가할 수 없습니다.

  마스터 테이블은 참조된 레코드를 삭제할 수 없습니다. 노예 테이블.

5. 일대다 테이블 생성 원칙:

6. 다대다 테이블 생성 원칙:

위 내용은 MySQL 학습 외래 키에 대한 자세한 그래픽 및 텍스트 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.