CREATETABLE 문에서 테이블을 정의할 때 기본, 대체 및 외부 키를 지정할 수 있어요.
기본 키는 키워드 PRIMARYKEY로 지정됩니다. 기본 키 없이 테이블을 정의할 수 있지만 각 테이블을 식별하는 기본 키를 선택하는 것이 좋습니다. 모든 테이블에 지정할 수 있는 기본 키는 하나만 있습니다.이 설정은 다양한 스튜디오에서도 수행할 수 있습니다.
(예) 기본 키(고객 ID)
→ 기본 키를 사용하여 고객 ID 특성을 지정해요.
(예) 기본 키(고객, 제품 주문)
→ 주문된 고객 및 제품의 특성에 대한 기본 키를 제공해요.
교체 키는 키워드 UNIQUE로 지정됩니다. 대체 키에는 각 테이블을 태스크로 식별하는 속성이 있습니다.기본 키. 교체 버튼을 통해 지정된 속성 값은 표에 중복되지 않고 진행 중이어야 합니다. 기본 키로 지정된 속성과는 달리 값을 눌러야 얻을 수 있습니다. 테이블에서 여러 에이전트 키를 지정할 수 있습니다.
(예) 작업(고객 이름)
→ 고객 이름 속성을 대체 키로 지정해요.
외부 키를 외부 키로 지정해요. 외부 키를 지정할 때는 소스가 선명해야 해요. 즉, 키워드 뒤에 외부 키가 참조하는 테이블을 명확하게 지정해야 합니다. 이는 참조 일관성에 대한 제한을 유지하기 위한 것입니다. 이렇게 하면 참조된 테이블에서 테이블을 실수로 삭제하거나 변경할 수 없습니다. 또한 참조 테이블에서 테이블을 삭제하거나 변경할 수 있는 다양한 처리 옵션도 있습니다. 예를 들어볼까요?
테이블 직원의 세그먼트 특성은 세그먼트 테이블의 세그먼트 번호 특성에 매핑되는 외부 키예요. 섹터 테이블에서 PR 세그먼트 테이블을 삭제하려면 다음 4가지 방법 중 하나를 사용하여 처리할 수 있어요. 직원 테이블을 정의하는 CREATETABLE 문을 작성하는 경우 이러한 문 중 하나를 지정할 수 있지만 특수 정의가 없는 한 작업은 기본적으로 DELETE에서 선택되지 않아요.
① 삭제할 때 동작 없음
섹터를 참조하는 직원 테이블이 있으므로 테이블 내의 테이블을 삭제하지 마셔요.
② ONDELETECASCADE(해당 테이블 삭제)
홍보부에서 활동 중인 두 명의 인식 제고 행위자도 직원 명단에서 삭제되었다.
③ ONDELETESET NULL(해당 테이블의 외부 키 값을 NULL로 변경)
직원 테이블의 Tupel 속성 값을 NULL로 변경
④ ONDELETESETDEFAULT(관련 테이블의 외부 키 값을 사전 정의된 기본값으로 변경)
Personal Table Public Relationship 부서에서 일하는 감정 직원 부서의 속성 값이 사전 정의된 기본값으로 변경되었습니다.
참조 테이블의 테이블이 변경되더라도 다음 네 가지 방법 중 하나로 처리할 수 있습니다. 직원 테이블을 정의하는 CREATETABLE 문을 작성할 때 네 가지 방법 중 하나를 지정할 수 있지만 정의되지 않은 경우 ONUPDATE NOOOCTION이 기본적으로 선택돼요.
① 업데이트 중 조작 없음
② ONUPDATE CASCADE(관련 테이블이 외부 키 값을 함께 변경)
③ ONUPDATESETNULL(관련 토플의 외부 키 값을 NULL로 변경)
④ ONUPDATEETDEFLITE(관련 테이블의 외부 키 값을 사전 정의된 기본값으로 변경)
(예) 외국어 키 참조(세그먼트 번호)
업데이트 캐스케이드에 대한 Delite Cascade(영어)
→ 부서 속성은 세그먼트 테이블의 세그먼트 번호 특성을 참조하는 외부 키이며 ONDELETECASCADE 방법 및 ONUPDATE CASCADE 방법에 의해 처리됩니다.
(예) 외국어 키 참조(세그먼트 번호)
→ 세그먼트 속성은 세그먼트 테이블 내의 세그먼트 번호 속성을 참조하는 외부 키입니다.
'데이터베이스' 카테고리의 다른 글
| SQL을 이용한 데이터 정의 (0) | 2022.08.09 |
|---|---|
| 데이터베이스 언어 SQL (0) | 2022.08.08 |
| 확장된 관계 대수 연산자 (0) | 2022.08.07 |
| 순수 관계 연산자[2] (0) | 2022.08.06 |
| 순수 관계 연산자 (0) | 2022.08.05 |