다른 스키마의 테이블에 대한 외부 키 참조
다른 스키마의 테이블 열을 참조하여 테이블 중 하나에 외부 키를 생성하려고 했습니다.
뭐 이런 거:
ALTER TABLE my_schema.my_table ADD (
CONSTRAINT my_fk
FOREIGN KEY (my_id)
REFERENCES other_schema.other_table(other_id)
)
필요한 보조금이 있었기 때문에, 이것은 잘 되었다.
다른 스키마의 테이블을 참조하지 않는 이유나 주의해야 할 점이 있는지 궁금합니다.
이거 하는 데 문제 없습니다.테이블 간에 외부 키 관계를 확립할 때 스키마는 실제로 영향을 미치지 않습니다.사용하려는 스키마에 필요한 권한이 적절한 사용자에게 있는지 확인하십시오.
서로 다른 사용자가 다른 스키마에 대한 권한을 가지고 있는 조직이라면 다른 스키마에게 자신의 제약을 비활성화하거나 삭제 및 재작성할 수 있는 권한을 부여하는 것이 좋다고 생각합니다.
예를 들어 테이블을 삭제하거나 잘라낸 후 새로고침하여 (매우 이상한) 지원 문제를 처리해야 할 수 있습니다.한밤중에 전화를 받고 싶지 않은 경우, 일시적으로 자신의 제약을 제거할 수 있는 기능을 제공하는 것이 좋습니다(또한 외부 제약이 비활성화되거나 해제되었는지 여부를 알 수 있도록 자체 경보를 설정하는 것도 좋습니다).조직/스킴 라인을 넘나들 때는 다른 사람과 잘 놀고 싶어합니다.빈센트가 말한 지표는 또 다른 부분이다.
이는 자체 스키마 내의 테이블을 참조하는 외부 키와 동일하게 작동합니다.
일반 외부 키와 마찬가지로 색인화하는 것을 잊지 마십시오.my_id
부모 키가 갱신된 경우 또는 부모 테이블에서 엔트리를 삭제한 경우(인덱스되지 않은 외부 키는 대규모 경합의 원인이 될 수 있으며 인덱스는 일반적으로 유용합니다).
다른 스키마에 권한이 있는지 확인하는 것밖에 할 수 없었습니다.일반적인 정보 - 어떤 이유로든 해당 권한이 사라지면 그에 대한 정보를 듣게 됩니다.
이로 인해 문제가 발생할 수 있는 이유 중 하나는 올바른 순서로 삭제하도록 주의해야 한다는 것입니다.이것은 식탁에 고아들을 두지 않는 것이 얼마나 중요한가에 따라 좋을 수도 있고 나쁠 수도 있다.
언급URL : https://stackoverflow.com/questions/2095268/foreign-key-reference-to-table-in-another-schema
'source' 카테고리의 다른 글
스프링 부트 시 TLS 1.2를 활성화하려면 어떻게 해야 합니까? (0) | 2023.02.10 |
---|---|
redux, react-redux, redux-thunk의 차이점은 무엇입니까? (0) | 2023.02.10 |
get_categories()는 사용 중인 카테고리만 반환합니다. (0) | 2023.02.10 |
ng-init을 사용하여 스코프 속성을 설정하려면 어떻게 해야 합니까? (0) | 2023.02.10 |
mysql 클라이언트(Linux)만 설치하는 방법이 있나요? (0) | 2023.02.06 |