Technique/RDBMS
-
이력 유형 데이터 모델링Technique/RDBMS 2015. 12. 21. 22:06
이력 : 시간에 따라 발생하는 데이터 형식이력 데이터 : 시간에 따라 발생하고, 동일한 컬럼의 유형에 발생한다. 또는 시간에 따라 반복적으로 발생하기 때문에 다른 테이블에 비해 대량의 데이터가 테이블에 적재될 가능성이 크다.이러한 특성으로 인해 데이터베이스에 발생하는 트랜잭션의 성능 저하로 이어지는 경우가 빈번한다. 이력의 유형은 테이블 구분에 따라, 컬럼과 로우 단위에 따라, 이력 데이터의 발생 방법에 따라 분류 할 수 있다. 1.테이블 구분에 따라 구분하는 방법1.내부 스탭샷 이력 - 별도의 테이블 없이 시간에 따라 자기 자신의 테이블에 데이터가 발생되는 구조- 이력 테이블이 마스터이므로 관계를 통해 PK구조도 모두 상속됨- 특징 : 일부 속성값이 변경되어도 전체 속성값 생성 2.1:M 스냅샷 전체 ..
-
식별자관계와 비식별자관계 설정Technique/RDBMS 2015. 12. 21. 21:45
만약 엔티티 간의 관계 설정에서 식별자관계와 비식별자관계를 잘 모르고 데이터 모델링을 진행하면 다음과 같은 오류에 빠질 수 있다. - 식별자관계만을 이용하여 데이터 모델링을 전개할 경우, PK 속성의 숫자가 증가할 수록 관련된 SQL 구문이 복잡해져 복잡성으로 인한 개발 오류를 유발하게된다.- 비식벼라관계만을 이용하여 데이터 모델링을 전개할 경우, 테이블 간의 과다한 조인을 유발하여 조인에 의한 성능 저하를 불러오게 된다. 이를 해결하기 위해서는- 데이터 모델 관계 도출시 식별자관계와 비식별자관계의 의미를 정확하게 이해 해야한다- 업무적 특징, 조인 관계, PK 구성을 고려하여 식별자관계/비식별관계를 결정 해야한다. 데이터 모델링 수행에서 식별자/비식별자관계의 구분 설정은 데이터 모델링 초기단계인 분석 ..
-
PK 컬럼 순서, 대충 하지 말자Technique/RDBMS 2015. 12. 20. 21:13
데이터베이스를 생성할 때 [ 분석-> 설계-> 구축-> 테스트-> 이행 ]의 프로세스를 거치는데 설계 단계 이후 완성된 데이터 모델을 토대로, 물리적인 테이블을 정해진 DBMS에 맞게 생성하게 된다.보통 사용화된 데이터 모델링 툴 을 이용해 모델을 만들고 DDL(Data Definition Language) 을 생성하기 때문에 설계 단계에서 데이터베이스를 생성할 때 PK 컬럼의 순서는 그다지 신경쓰지 않고 생성하게 되는 경우가 많다. PK의 순서를 신경쓰지 않은채 테이블을 만들 시 발생할 수 있는 문제- 인덱스 구성에서 의도하지 않은 순서의 Primary Key Unique Index가 생성된다- 그에 따른 조회 SQL 실행 시 성능 저하 현상이 나타날 수 있다- 많은 인덱스가 생성되므로 입력/수정/삭제..