2008-10-29 8 views

답변

26

예. 고아 (부모가없는 항목)가 없도록하고 사용법에 따라 계단식 삭제를 정의한 경우 부모가 삭제되면 모든 자식도 삭제됩니다.

단점은 다른 외래 키와 마찬가지로 약간의 성능 저하입니다.

+4

"자식없는 고아" ;-) – Yarik

4

예, 외래 키로 지정해야합니다.

이점은 중복성이 적은 더 나은 데이터 모델입니다.

13

예. 그렇습니다. 동일한 데이터베이스에있는 다른 릴레이션의 기본 키 역할을하는 데이터베이스 릴레이션에 애트리뷰트가 있다면, 그것을 FK로 만들어야합니다.

당신은 advantages associated to foreign keys 즐길 수 :

  • 이 관계의 적절한 설계를 가정하면, 외래 키 제약 조건은 더 어려워 프로그래머가 데이터베이스에 불일치를 도입 할 수 있도록.
  • 데이터베이스 서버에 의한 이러한 제한 조건의 점검을 중앙 집중화하면 응용 프로그램 측에서 이러한 점검을 수행 할 필요가 없습니다. 이렇게하면 다른 응용 프로그램이 동일한 방식으로 제약 조건을 검사하지 않을 가능성을 제거합니다.
  • 계단식 업데이트 및 삭제를 사용하면 응용 프로그램 코드를 단순화 할 수 있습니다.
  • 적절히 설계된 외래 키 규칙은 테이블 간의 관계를 문서화하는 데 유용합니다.

단점 :

  • 당신이 외래 키를 정의하면, 때로는 대량 작업을 수행하기 어렵습니다.
  • 더 많은 디스크 사용과 약간의 성능 저하를 의미 할 수도 있습니다.
5

예. (외국 키 등)

장점 :

  • 는 PARENT_ID는
  • 이 아이가, 또는 삭제 폭포 삭제되도록 부모의 실수로 삭제를 방지 테이블에서 실제 행을 참조하도록합니다 아이들은
  • 는 최적화

내가 어떤 진짜 단점 생각할 수 없다 사용할 수있는 정보를 제공합니다.