SQLD자격증독학

[SQLD자격증독학] 17. 데이터베이스 구조와 성능

i-moo 2017. 1. 21. 17:05
반응형

Extended ER모델 = 슈퍼/서브타입 데이터 모델

- 공통의 부분을 슈퍼타입으로 모델링하고 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성에 대해서는 별도의 서브엔터티로 구분하여 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모델로 변환을 할 때 선택의 폭을 넓힐 수 있는 장점

- 분석단계에서 많이 쓰이는 모델


-  슈퍼/서브타입을 아무런 기준없이 변환하는 것 자체가 성능이 저하될 수 있는 위험이 있음을 기억해야 한다


슈퍼/서브타입 데이터 모델의 변환

- 데이터 보관주기에 따라 쉽게 삭제하는 기능은 제공 될 수 X


1. 트랜잭션은 항상 일괄로 처리하는데 테이블은 개벼로 유지되어 Union연산에 의해 성능이 저하될 수 있다

2. 트랜잭션은 항상 서브타입 개별로 처리하는데 테이블은 하나로 통합되어 있어 불필요하게 많은 양의 데이터가 집약되어 있어 성능이 저하되는 경우가 있다

3. 트랜잭션은 항상 슈퍼+서브 타입을 공통으로 처리하는데 개별로 유지되어 있거나 하나의 테이블로 집약되어 있어 성능이 저하되는 경우가 있다


- 슈퍼/서브타입 변환 기준 : 데이터 양 & 트랜잭션의 유형


- 논리적인 데이터 모델에서 설계한 슈퍼/서브타입 모델을 물리적인 데이터 모델로 전환할 때 주로 어떤 유형의 트랜잭션이 발생하는가?

1. OneToOne Type : 개별로 발생되는 트랜잭션에 대해서는 개별 테이블로 구성

2. Plus Type : 슈퍼타입 + 서브타입에 대해 발생되는 트랜잭션에 대해서는 슈퍼타입+서브타입 테이블로 구성

> 슈퍼타입+각서브타입을 하나로 묶어 별도의 테이블로 구성하는 것이 효율적

3. Single Type : 전체를 하나로 묶어 트랜잭션이 발생할 때는 하나의 테이블로 구성


인덱스 특성에 따른 PK/FK 순서

- PK : 해당테이블의 데이터를 접근할 가장 빈번하게 사용되는 유일한 인덱스를 모두 자동 생성한다

- 테이블에 발생되는 트랜잭션의 조회 패턴에 따라 PK/FK 칼럼의 순서를 조정해야 함

- 앞쪽에 위치한 속성의 값이 비교자로 있어야 인덱스가 좋은 효율을 낼 수 있다 ('=', 'BETWWEN', '< >')


- WHERE 주문번호 = "1002"

'


- WHERE 주문일자 = "2008.1.1"



반응형