1. Universal relaction
- E-R 모델링에서 테이블 R들로 변환을 하였는데 다른 approach를 알아본다.
- 모든 속성을 포함하는 single relation을 하나 만드는데 이를 universal relation라고 한다.
- 이 single table을 함수종속에 기반해서 쪼개어 normalization을 수행하는 방법이 다른 한가지의 approach이다.
2. Denormalization
- BCNF를 만드는 방법을 배웠지만 꼭 모든 테이블이 BCNF여야 하는 것은 아니다. 이것은 설계자가 판단한다.
- 만약 모든 테이블을 BCNF로 쪼개버리면 나중에 검색,조회시, 분리된 두 테이블간의 join연산이 필요할 수 있다.
- 따라서 검색,조회가 빈번하고 높은 성능이 필요하다면 선택적으로 decomposition을 수행하지 않을 수 있다.
- 즉 정규화 입장에서 데이터의 중복이 생기니 좋은 형태는 아니지만 응용 입장에서는 장점이 있다. 따라서 설계자의 판단이 중요하다.
3. Other design issue
- bncf가 만능은 아니다. 모든 테이블이 bcnf라고 하더라도 잡지 못하는 bad design이 있을 수 있다.
- 회사의 2004년도 수입 테이블, 2005년도 수입테이블, 2006년도 수입테이블은 각각 모두 bcnf이지만 년도가 지날수록 테이블이 하나씩 생긴다는 점은 좋지 못한 설계이다.
- 마찬가지로 년도별 수입을 속성으로 넣더라도 매년 새로운 속성이 추가되는 문제가 생긴다. 이 또한 bcnf지만 좋은 디자인은 아니다.
3. Normal Form
- 제1정규형 : 임의의 레코드와 임의의 column이 교차하는 지점에서 값이 하나로 결정되는 형태
- RDB의 기본 요건으로 이를 만족 못하면 애초에 RDB가 아니다.
- 3정규형, BCNF가 주로 사용된다.
'ComputerScience > Database' 카테고리의 다른 글
DB - 20. Intermediate SQL - View (0) | 2021.11.30 |
---|---|
DB - 19. Intermediate SQL - Join (0) | 2021.11.30 |
DB - 17. Boyce Codd Normal Form (0) | 2021.11.24 |
DB - 16. Normalization (0) | 2021.11.23 |
DB - 15. University Enterprise ER -> RDB (0) | 2021.11.23 |