>  기사  >  데이터 베이스  >  navicat에서 외래 키를 생성하는 방법

navicat에서 외래 키를 생성하는 방법

angryTom
angryTom원래의
2019-08-08 11:59:599996검색

navicat에서 외래 키를 생성하는 방법

  데이터베이스 외래 키는 두 관계 간의 관련 연결을 나타냅니다. 다른 관계의 외래 키를 기본 키로 갖는 테이블을 마스터 테이블이라 하고, 외래 키를 갖는 테이블을 마스터 테이블의 슬레이브 테이블이라 한다. 아래에서는 navicat에서 외래 키를 생성하는 방법을 소개합니다.

추천 튜토리얼: MySQL 소개 동영상 튜토리얼

1 navicat을 열고 조작하려는 데이터베이스 테이블을 선택한 후 마우스 오른쪽 버튼을 클릭하고 Design Table을 선택합니다.

navicat에서 외래 키를 생성하는 방법

2. 외래 키 설정을 시작하려면 외래 키 옵션을 클릭하세요.

navicat에서 외래 키를 생성하는 방법

총 7개의 열이 있습니다. 이 열의 의미를 간략하게 소개하겠습니다.

  "이름": 입력할 필요가 없습니다. 성공적으로 저장하면 시스템이 자동으로 생성합니다.

  "필드": 외래 키로 설정하려는 키를 의미합니다.

 "참조 데이터베이스": 외래 키와 연관된 데이터베이스입니다.

  "참조 테이블": 연관 테이블

"참조 필드": 연관 필드,

"삭제 시": 삭제 시 선택되는 동작입니다.

 "업데이트 시": 업데이트 시 선택되는 동작입니다.

확장 정보: 외래 키의 역할

 데이터 일관성과 무결성을 유지하는 주요 목적은 외래 키 테이블에 저장된 데이터를 제어하는 ​​것입니다. 두 테이블을 연결하려면 외래 키는 테이블의 열 값만 참조하거나 null 값을 사용할 수 있습니다.

 외래 키를 사용하지 않는 경우 표 2의 학생 ID 필드에 값(예: 20140999999)이 삽입되지만 이 값은 표 1에는 존재하지 않습니다. 이때 데이터베이스는 삽입을 허용하고 수행하지 않습니다. 삽입된 데이터에 대한 관계를 확인합니다. 단, 외래키 설정 시 표 2의 학번 항목에 입력한 값이 표 1의 학번 항목에서 나와야 합니다. 동시에, 표 1의 학생 번호 필드를 삭제하려면 표 2에 해당 필드 값을 참조하는 열이 없는지 확인해야 합니다. 그렇지 않으면 삭제되지 않습니다. 이를 데이터 일관성 및 무결성 유지라고 합니다. 오른쪽에 표시된 것처럼 표 2가 여전히 표 1의 특정 학생 ID를 참조하고 있지만 표 1의 학생 ID를 삭제하면 표 2는 해당 학생 ID가 어떤 학생에 해당하는지 알 수 없습니다.

  데이터베이스의 테이블은 데이터 중복, 삽입 이상, 삭제 이상 및 기타 현상을 방지하기 위해 사양을 준수해야 합니다. 정식 프로세스는 테이블을 분해하는 프로세스입니다. 분해 후에는 한 사물의 대표적인 속성이 다른 테이블에 나타납니다. 분명히 일관성이 있어야 합니다. 예를 들어, 학생의 대표 데이터는 학생 번호 012인데, 학생 테이블에서는 012이고 성적 테이블에서도 012여야 합니다. 이러한 일관성은 외래 키를 통해 달성됩니다. 외래 키의 기능은 다음과 같습니다. 해당 값은 다른 테이블의 기본 키 값이어야 합니다. 학생 번호는 학생 테이블의 기본 키이고 성적 테이블의 외래 키입니다. 성적목록의 학생번호는 학생목록의 학생번호와 같아야 합니다. 따라서 학생 테이블의 학생 번호와 성적 테이블의 학생 번호가 일치합니다. 외래 키의 기능은 서로 다른 테이블에서 동일한 부호 일관성을 달성하는 것임을 직관적으로 이해할 수 있습니다. 2가지 기능 구현: 외래 키로 연결된 두 테이블. 별도로 작동할 때 외래 키 기능은 두 가지 방법으로 구현됩니다. [4]: ​​​​

블록 실행

●테이블에서 새 행을 삽입하고, 해당 외래 키 값이 메인 테이블의 기본 키 값이 아닌 경우 삽입이 차단됩니다.

 ● 슬레이브 테이블의 외래 키 값을 수정하고 새 값이 메인 테이블의 기본 키 값이 아닙니다. 이므로 수정이 차단됩니다.

 ● 마스터 테이블은 해당 행을 삭제하고 해당 기본 키 값이 슬레이브 테이블에 있는 경우 삭제가 방지됩니다. (삭제하려면 먼저 해당 행을 삭제해야 합니다.)

 ● 마스터 테이블은 기본 키 값을 수정하며, 이전 값이 슬레이브 테이블에 존재할 경우 수정이 불가능합니다. (수정하려면 먼저 슬레이브 테이블을 삭제해야 합니다.) 관련 라인).

계단식 실행

 ●메인 테이블에서 행 삭제, 슬레이브 테이블에서 관련 행 함께 삭제

 ●마스터 테이블의 기본 키 값 수정, 관련 행의 외래 키 값 수정; 슬레이브 테이블의 행을 함께 가져옵니다. 사용자가 선택할 수 있는 두 가지 방법이 제공됩니다. 어떤 방법을 선택하든 테이블에 추가 행이 없습니다. 다른 관점에서 보면 슬레이브 테이블과 마스터 테이블의 플래그 간의 불일치를 거부하여 마스터 테이블의 플래그와의 일관성을 달성함으로써 동일한 결과를 얻을 수 있습니다.

 ●두 가지 구현 방법은 다음 방법 중 하나를 선택하세요.

 ●인터페이스: 계단식 업데이트와 계단식 삭제를 위한 두 가지 선택 상자를 설정합니다. 선택하면 계단식 실행이 수행되고, 선택하지 않으면 실행이 차단됩니다. ●Command: Set E)kSCM)E와 RESTRICT는 두 가지 선택 옵션입니다. CASCADE는 계단식 실행을 위한 것이고 RESTRICT는 실행을 방지하기 위한 것입니다.

위 내용은 navicat에서 외래 키를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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