db 외래키 예제

On agosto 1, 2019 by adminmg

트랜잭션 격리와 함께 나타나는 또 다른 중요한 제한 사항: 행에 대한 변경 내용은 트랜잭션이 “볼 수 없는” 데이터에 의해 참조되므로 행이 완전히 계단식으로 배열되지 않을 수 있으므로 행에 계단식으로 배열되지 않을 수 있습니다. 예: 트랜잭션이 고객 계정의 번호를 다시 매기려고 시도하는 동안 동시 트랜잭션이 동일한 고객에 대해 새 송장을 만들려고 시도하는 경우입니다. CASCADE 규칙은 트랜잭션이 볼 수 있는 모든 송장 행을 수정하여 번호가 다시 매겨진 고객 행과 일관되게 유지하지만 다른 트랜잭션에 도달하지 못하여 데이터를 수정합니다. 데이터베이스는 두 트랜잭션이 커밋될 때 일관된 데이터를 보장할 수 없기 때문에 그 중 하나가 강제로 롤백되어야 합니다(종종 선착순으로). 첫 번째 다이어그램을 예로 들어 SalesOrderHeader.CurrencyRateID가 통화환율 테이블에 아직 없는 경우 입력할 수 없습니다. 또 다른 예는 외래 키 검사를 사용하지 않도록 설정하지 않으면 외래 키 제약 조건에 의해 참조되는 테이블을 삭제할 수 없다는 것입니다. 테이블을 놓으면 테이블에 대해 정의한 모든 제약 조건도 제거됩니다. 외래 키와 구현은 기본 키보다 더 복잡합니다. 외래키 사람폰.PhoneNumberTypeID는 기본 키 전화 번호 유형.PhoneNumberTypeID와 관련이 있습니다. 외부 키는 저장 프로시저 문으로 정의할 수 있습니다. [추가 설명 필요] 외래 키는 데이터베이스 디자인에서 중요한 역할을 합니다.

데이터베이스 디자인의 중요한 부분 중 하나는 외래 키를 사용하여 한 테이블에서 다른 테이블로 참조하는 참조를 사용하여 실제 엔터티 간의 관계가 데이터베이스에 반영되도록 하는 것입니다. [9] 데이터베이스 디자인의 또 다른 중요한 부분은 테이블이 분리되고 외래 키를 사용하여 테이블을 재구성할 수 있도록 하는 데이터베이스 정규화입니다. [10] 다음 예제는 dbdemo 데이터베이스와 두 개의 테이블( 범주 및 제품)을 만듭니다. 각 범주에는 하나 이상의 제품이 있으며 각 제품은 하나의 범주에만 속합니다. 제품 테이블의 cat_id 필드는 CASCADE UPDATE ON CAS 및 DELETE ON 제한 작업과 함께 외래 키로 정의됩니다. 외래 키는 데이터의 일관성과 무결성을 자동으로 유지하는 데 도움이 되는 참조 무결성을 적용합니다.

Comments are closed.