본문 바로가기

DAP

[데이터 모델링] 반정규화, 중복 테이블 Q.281 다음 중 반정규화의 한 방법으로 테이블이나 칼럼에 대한 중복을 고려할 때에 대한 설명으로 부적절한 것을 모두 고르시오. 1. 다량의 범위를 자주 처리함으로써 수행 속도 저하가 우려되는 경우 집계 테이블 추가를 고려한다. 2. 자주 사용되는 중복 테이블 유형으로는 집계(통계) 테이블과 진행 테이블이 있다. 3. 클러스터링, 결합인덱스, 고단위SQL 등을 적절하게 활용하면 집계 테이블이 없어도 양호한 수행 속도를 낼 수 있기 때문에 집계테이블 고려시에 반드시 먼저 고려되어야 한다. 4. 검색 조건이 여러 테이블에 걸쳐 다양하게 사용되어 복잡하고 처리량이 많은 경우에는 진행 테이블 추가를 고려한다. 정답) 없음 Q.274. 반정규화의 한 방법으로 테이블이나 칼럼에 대한 중복을 수행하고자 할 때, 다.. 더보기
[데이터베이스 설계와 이용] 저장공간 설계 1. 테이블 설계 가. Heap-Organized Table : - 데이터 값의 순서에 관계없이 데이터를 저장하는 일반 테이블 나. Index Organized Table or Clustered Index Table : - 키 값의 순서대로 데이터를 저장 (PK 값이나 인덱스의 순서대로 데이터 저장) - 저장구조는 B-Tree 구조로 Leaf 노드에 데이터가 존재한다. - 일반적으로 인덱스를 이용하는 테이블보다 접근 경로가 단축됨 - 소량의 데이터에 대한 랜덤 액세스에서 성능이 탁월 다. Partitioned Table : - 테이블을 파티션으로 나눠서 데이터를 저장한다. - 데이터 처리 대상은 테이블이며, 저장은 파티션 별로 수행 - 키 칼럼 값에 의해서 범위(Range), 해시값(Hash), 목록(L.. 더보기
[데이터베이스 설계와 이용] 분산데이터 베이스 설계 Q1. 지역별로 데이터베이스를 구축하고자 한다. 각 지역에서 취급하는 상품은 중복되지 않고, 동일한 속성을 가질때, 다음 중 분산설계에 대한 설명으로 부적합한것은? 1. 상품 테이블의 모든 데이터를 대상으로 분할하여야 한다. 2. 분할된 상품은 전체 집합으로 재구성될 수 있어야 한다. 3. 수평 분할하여 분산된 테이블을 통합하여도 식별자가 중복되지 않아야 한다. 4. 수직 분할하여 위치 투명성을 제공하여야 한다. 해설) - 상기 문제는 테이블 수평 분할을 의미한다. (상품은 중복되지 않고 동일한 속성을 가짐) 1. 수평 분할은 모든 데이터를 기준으로 분할해야함 2. 분할된 상품들은 각각 row를 합치면 하나의 통합된 집합이 됨 3. 수평 분할하는경우 식별자는 중복되지 않는다. 4. 수직 분할에 관한 내용.. 더보기
[데이터베이스 설계 와 이용] 데이터베이스 복구 메커니즘 Q : 다음 중 데이터베이스 복구 메커니즘에 대한 설명으로 적절한 것은? 1. 트랜잭션 실행 내용이 데이터베이스 버퍼에 비동기적으로 기록될 때 복구 작업에 NO-UNDO/REDO 작업을 실시한다. 2. 논리 백업에 의한 복구는 UNDO/REDO의 논리적 수행이다. 3. 복구작업은 데이터베이스 오픈 상태에서 가능하다. 4. 로그파일 내용에는 트랜잭션 식별자를 포함한 데이터베이스 스키마 정보가 있다. 정답) 1 해설) 1. 비동기적 갱신의 경우에 NO-UNDO/REDO 즉, 취소할 필요 없음(기록되지 않앗으므로), 재시작 할필요 잇음(트랜잭션을 다시 시작해서 정상으로 완료할 수 있도록 함) 2. 논리적 백업에 의한 복구는 백업 시점 상태로 데이터 생성하는 것이므로 UNOD/REDO가 필요 없음 3. 복구 작.. 더보기
[데이너베이스 설계 와 이용] 데이터 베이스 저장 구조 Q : 데이터베이스의 기본 목적은 관련 정보를 저장하고 탐색하는데 있다. 이러한 데이터베이스의 목적을 효율적으로 지원하기 위해서 대부분의 데이터베이스 관리 시스템에서는 데이터의 저장구조를 논리적인 구조와 물리적인 구조로 나누어서 관리하고 있다. 다음중 논리적 데이터베이스 영역 할당에 대한 설명으로 틀린것은? 1. 테이블 스페이스는 데이터베이스를 논리적으로 분리한 것으로 물리적 저장 구조인 여러 개의 데이터파일을 가진다. 2. 세그먼트는 특정 논리적 저장영역 구조를 위하여 할당된 데이터 확장 영역의 집합으로써 테이블을 위한 테이블 세그먼트와 인덱스를 위한 인덱스 세그먼트 등이 있다. 3. 확장 영역은 특정 유형의 정보를 저장하기 위하여 할당된 연속된 데이터 블록으로, 예약된 데이터 블록을 모두 사용하면 자.. 더보기
[데이터베이스 설계와 이용] Locking 을 이용한 읽기 일관성 문제 (328) Q : 읽기 일관성을 유지하기 위해서 Locking을 사용하지만 지나치게 Locking을 강화하면 작업의 동시성이 떨어지게 된다. 다음중 Locking을 통해서 읽기 일관성이 보장되지 않을 경우에 발생할 수 있는 문제점에 대한 설명으로 틀린것은? 1. 문장 수준의 읽기 일관성이 보장되지 않을경우, 트랜잭션 A(잔액 = 잔액 + 1000)와 트랜잭션 B(잔액 = 잔액 + 2000)가 동시에 잔액을 읽어 들인 후 수행하게 되면 잔액이 11,000원 혹은 12,000원이 되는데 이를 Lost Update라고 한다. 2. 아직 커밋되지 않고 수정중인 데이터에 대해 '읽기' 를 허용할 경우, 어떤 원인에 의해 수정사항이 롤백 된다면 '데이터 읽기' 트랜잭션은 잘못된 수행 결과를 초래하게 되는데 이러한 현상을 'D.. 더보기
[데이터베이스 설계 이용] Tkprof 분석 예제 2 1. 쿼리 select count(subobject_name) from big_table.big_table 2. Tkprof 분석 내용 call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 1 0.00 0.01 0 3 0 0 Execute 1 0.00 0.00 0 0 0 0 Fetch 2 99.36 262.10 1840758 1840797 0 1 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 4 99.36 262.11 1.. 더보기
[데이터베이스 설계 이용] Tkprof 분석 예제 1. 다음 통계 결과 분석으로 적절하지 못한것은 call count cpu elapsed disk query current rows ---- ----- ---- ------- ------ ----- -------- ----- parse 92946 809.39 1017.69 52 5851 1832 0 Execute 136965 227.29 274.50 1631 79767 50174 5763 Fetch 200694 3291.63 4178.38 725075 20716520 139014 240450 ---- ----- ---- ------- ------ ----- -------- ----- total 430605 4328.31 5470.57 726758 20802138 191020 246213 1. Parsin.. 더보기