by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

10.2 관계와 속성 그리고 엔터티

Version 5 by WOOA
on 1월 06, 2018 01:15.


compared with
Current by WOOA
on 1월 06, 2018 01:24.


 
Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 1 changes. View first change.

 h2. 10.2 관계와 속성 그리고 엔터티
  
  - 관계를 속성이(다른 엔터티와 연관성을 알 수 있는 속성, 속성이 존재해야 관계가 성립)
  - 상위(부모) 엔터티의 주 식별자가 하위(자신) 엔터티의 속성 (주 식별자 속성이든 일반 속성이든)으로 관리, 하위 엔터티의 속성으로 관리될 때 만 관계를 표현
  - 속성에 데이터 생성 순서 개념이 존재하는 것이 일반속성과 다른 점, 하위 엔티티 속성의 데이터는 상위 엔티티의 속성(주 식별자)에 데이터로서 존재
  
 !10-7.png!
  
  
  - 사원이 현재 근무하고 있는 부서가 어디인지를 관리
  - 현재근무부서번호 속성이 부서 엔터티와 연관되므로 관계선이 표현(사원 엔티티의 상위 엔티티(사원 엔터티가 참조하는 엔터티)중하나는부서 엔터티)
  - 현재근무부서번호 속성은 (Null)이 허용, 어떤 사원에 대해서는 현재 근무하고 있는 부서를 모른다는 것을 의미
  - 데이터가 생성되는 시점에는 정해지지 않았다는 것을 의미
  - 두 엔티티의 관계는 참조 관계 (Referential Relationships)
  
  
  
 !10-8.png!
 !10-9.png!
 !10-10.png!
 !10-11.png!
 !10-13.png!
 !10-14.png!
 !10-15.png!
 !10-18.png!
   
  
 - 하위 엔터티가 관리될 여지가 있는지끼지 고려해 다수의 관계 속성으로 관리할지,하나의 관계 엔터티로 관리할지를 결정
 - 미래의 업무 변화를 정획히 예측할 수 없으므로 유연하게 대비히는 것도 좋은 방법
 - 다수 속성으로 관리하는것 보다는 하나의 엔터티로 관리하는 것이 더욱 유연한 모델
 - 다수 속성으로 관계를 관리하면 인덱스의 숫자가 늘어나는 단점
 - 단순히 반복 속성의 인스스 몇 개만 늘어나는 것이 문제가 아니라 반복 속성이 결합 인덱스에 사용되면 인덱스 관리는 대단히 힘들어진다.
 - 반면에 관계 엔터티를 사용하면 인스턴스 수가 많이 증가히는 것이 단점이 될 수 있다.
  
 - 다수의 관계 속성으로 관리히는 방법과 하나의 관계 엔터티로 관리히는 방법은 4장(정규화)에서 설명한 1 정규화와 동일한 개념
 - 반복되는 속성은 일대다(1:M) 관계의 새로운 엔터티를 추가 히는 것
 - 때에 따라서 엔터티를 추가히는 대신 반복 속성을 채택해야 할 때도 있음( 필요에 따라서 비정규화를수행)
  
  - 정규형 엔터티 벙법이 일방적으로 좋아 보이나 앞서 밝혔듯이 가장 기본적인 판단 기준은 반복 속성의 개수와 속성이 늘어날 가능성을 염두에 두는 것.
  - 반복 속성도 적고 업무가 변경될 가능성이 없어 속성이 더는 늘어나지 않으며 성능 이슈기가 존재하면, 정규형 엔터티를 채택히는 것이 비람직하지 않을 수 있다.
  - 하지만 일반적으로 관계형 데이터베이에서는 반복 속성을 채택하는 방법보다 정규형 엔터티를 채택히는 것이 효율적