> 안녕하세요.
> 이 글을 읽어 주셔서 감사합니다.
>
> postgresql에서 primary key지원이 되는데 foreign key 아직 지원이 되
는
> 않는다고 하는데 설명서에 보니까 trigger을 통하여 이 기능을 구현 할
수
> 있다고 하는데 아시는 분은 좀 알려 주세요..
> 감사합니다.
PostgreSQL 에서는 아직 foreign key는 지원되지 않고 있습니다.
Trigger를 이용하여 꽁수로 구현 할 수는 있습니다.
이것은 방법론적인 얘기만 하겠습니다.
일단 Trigger라는 것은 insert/update/delete/select 등의 동작을
하기 전에 미리 정의한 어떤함수를 실행하는 것입니다.
물론 위의 동작을 행한 후에 실행할 수도 있습니다. 그러니 간단한
예는 각각의 동작에 대해 로그를 만든다던지 할 경우 사용할 수
있겠지요. 이것을 이용하면 Foreign key가 하는 역할을 미리
함수로 정의해 두었다가 위의 동작들을 실행시에 그 함수를 실행
해 주면 뭔가 Foreign key가 하는 역할을 할수 있을것이라는
생각이 들지 않는가요.
물론 이것도 한계는 어느정도 가지지만 그나마 Foreign 키가 하는
역할을 흉내 낼수 있는 방법인 것 같습니다.
man create_function
man create_trigger
두가지 맨페이지를 참고 바랍니다.
|