이것은 자기 참조 외래 키의 경우와 같습니다. (oracle)
일반적으로 사용되는 예제는 Employee-Manager 관계입니다. 주어진 직원은 (다른 직원에게) 관리자가 될 수 있으며 관리자 (또는 그가 사장 인 경우 관리자가 될 수 있음)가있을 수 있습니다.
테이블 정의 및 제약 조건 정의는 다음과 같습니다.
CREATE TABLE EMP
(
EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10 BYTE),
JOB VARCHAR2(9 BYTE),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
)
과 제약 조건이 될 것이다 ..
alter table emp add constraint fk_emp_mgr
foreign key mgr references emp(empno);
이 해당 직원에 대한 관리자 이드 자신이 직원해야 함을 나타냅니다. 다음은 샘플 데이터입니다.
EMPNO ENAME JOB MGR
7369 SMITH CLERK 7902
7499 ALLEN SALESMAN 7698
7521 WARD SALESMAN 7698
7566 JONES MANAGER 7839
7654 MARTIN SALESMAN 7698
7698 BLAKE MANAGER 7839
7782 CLARK MANAGER 7839
7788 SCOTT ANALYST 7566
7839 KING PRESIDENT
7844 TURNER SALESMAN 7698
7876 ADAMS CLERK 7788
7900 JAMES CLERK 7698
7902 FORD ANALYST 7566
7934 MILLER CLERK 7782
보시다시피, 모든 직원에게는 관리자 (회사의 보스 인 KING 제외)가 있습니다. 이들 각각은 직원입니다.
OLTP 스타일 시스템에 적합하고 적합한 모델이라는 점에 유의하십시오. 중복 데이터가 없으며 데이터 무결성 제약 조건이 처리됩니다.