RDBMS
-
Primary Key, Unique Index 에 대하여Technique/RDBMS 2015. 12. 23. 23:04
Primary Key를 아무생각없이 넣거나,단순히 개발의 용이성과, 유지보수의 편의성때문에 Unique Index를 당연시 여기거나 하는가? 항목 Primary key Unique Index 목적 Constraint + Index Index 공통점 유일성 보장 유일성 보장 참조 무결성 PK/FK에 의해 지정가능 지정 불가능 테이블당 개수 1개만 가능 여러개 가능 인덱스 생성 Unique Index 생성 Unique Index 생성 역공학 적용 시 PK 인식가능 PK 인식 불가능 Null 허용 허용 안됨 허용됨 PK와 UI가 비슷한 것 같지만 세부적인 애용에 잉서서는 차이가 분명히 있다. Unique Index만을 이용하였을 때 장단점 장점 단점 - PK/FK가 존재하지 않아 DBA가 데이터베이스를 관리하..
-
엔티티타입, 통합? 분리?Technique/RDBMS 2015. 12. 23. 22:15
데이터 모델링을 하다보면 1:1관계 1:M 관계, M:M 관계를 통한 엔티티타 간에분리된 형태의 많은 엔티티타입들이 도출된다.반대로 하나의 엔티티타입 안에 비슷하지만 트랜잭션의 ㅓ리 패턴에 따라 다르게 처리되는 컬럼들이 뭉쳐서 설계되는 경우도 있다. 통합과, 분리는 결정하는 기준은 무엇인가?적절한 기준에 따라 엔티티타입의 통합과 분리를 결정하는 것은 전문적인 모델링을 전개하는 사람에게 매우 필요한 기술이다.엔티티타입의 통합과 분리도 단순하게 엔티티타입의 모습만을 보고 결정하는 것이 아니다.분석의 대상이 되는 업무 패턴을 먼저 이해하고 해당 업무에서 날아오는 트랜잭션의 패턴을 분석한 다음 엔티티타입의 통합과 분리를 결정해야 한다. ■ 무조건 통합하지 말라통합을 하다보면 데이터 모델이 단순해지고 구축하면 많..
-
이력 유형 데이터 모델링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 실행 시 성능 저하 현상이 나타날 수 있다- 많은 인덱스가 생성되므로 입력/수정/삭제..