일반적으로 PK 혹은 AK (unique key) 에 대해서
이럴 탐조하는 컬럼은 FK 로 정의할 수 이쓴데요..
이 FK 컬럼에 대한 데이타는 내부적으로 참조컬럼에서 해당값이 있나는 채크해서 입력하게 되는데요
만일 없는 값이 나오면 에러를 내겠고요..
이런 원리로
PK 는 일반 컬럼이고 FK 컬럼은 배열컬럼으로 PK 의 값들이 요소로 들어갑니다.
이 배열 요소요소들은 모두가 PK 값이 존재해야 하는 그런 구조라고 할때
이럴 FK 처럼 내부적으로 동작하게 할 수 있는 좋은 방법이 없을까요?
어쩔수 없이 함수로 만들어 이럴 채크하게 하는 check constraint 형태로 제약을 거는 수 밖에 없는 건가요?
그리고 CASCADE 문제는 또 어찌 하는게 좋을까요.. 그럼 아예 트리거를 만들어야 하는 것일까요...?
FK 처럼 좀 깔끔한 방법이 여엉 떠오르질 않는군요.
(물론 별도 테이블로 구성하여 일반컬럼으로 만들면 되긴 합니다만 그런거 말고요....
|