반응형

2024/09/07 6

[SQLD] 3-1. SQL 기본 - 관계형 데이터베이스 개요

A. 데이터 베이스란?1 넓은 의미에서의 데이터베이스: 일상적인 정보들을 모아 놓은 것 자체2 일반적인 의미에서의 데이터베이스 : 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미   B. 데이터 베이스의 발전1960 년대 - 플로우차트 중심의 개발 방법을 사용하였으며 파일 구조를 통해 데이터를 저장하고 관리1970 년대 - 데이터베이스 관리 기법이 처음 태동되던 시기였으며 계층형(Hierarchical) 데이터 베이스, 망형(Network) 데이터베이스 같은 제품들이 사용화1980 년대 - 현재 대부분의 기업에서 사용되고 있는 관계형 데이터베이스가 상용화되었으며 Oracle, Sybase,DB2와 같은 제품이 사용1990 년대 - Oracle, Sybase, I..

[SQLD] 2-5. 데이터 모델과 성능 - 예상문제풀이 (Question&Answer)

문제 1. 데이터 모델을 다음과 같이 만들었는데 학번, 과목번호 } 결정자이면서 PK이고 성적, 지도교수명, 학과명 } 종속자이다. 속성 중 과목번호가 결정자이고 지도교수명, 학과명 이 과목번호에만 함수종속성을 가진다면 이는 몇 차 정규형에 속하고 몇 차 정규화의 대상인가? ① 1 차 정규형 - 2 차 정규화대상 ② 2 차 정규형 - 3 차 정규화대상 ③ 3 차 정규형 - 보이스코드 정규화대상 ④ 보이스코드 정규형 - 4 차 정규화대상  문제 2. 다음 모델에서 배송 엔터티에서 고객의 정보를 찾을 때 성능향상과 SQL 문장을 단순화하게 할 수 있도록 가장 적절한 반정규화 방법은 무엇인가? (전제사항 : 주문목록 엔터티에서는 고객의 주식별자를 상속받기를 원하지 않음, 배송 엔터티에서는 고객 엔터티의 모든 ..

[SQLD] 2-4. 데이터 모델과 성능 - 분산DB 데이터에 따른 성능, 테이블 분할 분산, 테이블 복제 분산, 테이블 요약 분산, 통합 요약

A. 분산 데이터베이스의 개요 1. 여러 곳에 분산되어있는 데이터베이스를 하나의 가상 시스템으로 구축 2. 논리적으로 동일한 시스템 3. 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임 4. 물리적 Site 분산,논리적으로 사용자 통합/공유 5. 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화시킨 데이터베이스  B. 분산 데이터베이스의 투명성 분할투명성(단편화) - 하나의 논리적 Relation이 여러 단편으로 분할되어 사본이 여러 site에 저장위치투명성 - 위치정보가 System Catalog에 유지되어야 함지역사상 투명성 - 지역 DBMS와 물리적 DB사이의 Mapping이 보장되고 지역시스템 이름과 무관한 이름 사용 가능중복투명성 - DB ..

[SQLD] 2-4. 데이터 모델과 성능 - DB 구조와 성능, 슈퍼/서브타입, PK/FK칼럼

A. DB 구조에 따른 성능 개선 방안1. 슈퍼타입/서브타입 모델 구현에 따른 성능 2. 인덱스 특성을 고려한 PK/FK 데이터베이스 성능 향상 3. 테이블과 FK제약 여부에 따른 성능  B. 슈퍼타입/서브타입 모델의 성능 【슈퍼 서브타입 데이터 모델의 개요 】 1. 업무 데이터의 특징을 공통과 차이점을 표현 2. 공통 속성을 슈퍼 타입으로 모델링 3. 차이점이 속성을 별도의 서브 엔터티로 표현 4. 물리 데이터 모델 테이블로 변환을 할 때 선택의 폭을 넓힐 수 있음 5. 물리 데이터 모델 테이블을 설계하는 단계에서 슈퍼 서브타입 데이터 모델을 일정한 기준에 의해 변환  【슈퍼 서브타입 데이터 모델의 변환 】 1. 슈퍼 서브타입을 물리 데이터 모델 테이블로 변환을 잘못하면 성능이 저하 2. 트랜잭션 특성..

[SQLD] 2-3. 데이터 모델과 성능 - 대용량 데이터에 따른 성능, 수평분할, 수직분할, 테이블 분리, 로우체이닝

A. 대량 데이터 발생에 따른 테이블 분할 개요1. 업무에 자주 사용되는 특정 데이터가 한 군데에 몰리는 현상에 의해 발생 2. 중요한 업무에 해당되는 데이터가 특정 테이블에 있는 경우에 발생 3. 트랜잭션이 분산 처리될 수 있도록 테이블단위에서 분할의 방법 적용 필요   B. 컬럼 수가 많은 테이블 성능1. 데이터가 디스크에 넓게 분포할 가능성이 커져 디스크 I/O 가 대량 발생 가능성 있음 2. 트랜잭션 유형을 파악하여 자주 접근하는 칼럼과 접근 빈도가 낮은 칼럼을 1:1로 수직 분할 3. 필수 입력 속성인 컬럼들은 테이블 앞에 위치시켜 로우 길이를 줄일 수 있음 4. Null 값으로 존재하는 속성들을 재분석하여 데이터모델 재설계를 고려 5. 로우체이닝 발생 가능성이 증가  C. 대용량 데이터에 따른..

[SQLD] 2-2. 데이터 모델과 성능 - 반정규화 정의, 절차, 분류

A. 반정규화 정의 1. 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능 향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 의미 2. 데이터를 중복하여 성능을 향상시키기 위한 기법 3. 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정 4. 데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화 5. 데이터를 조회할 때 디스크 I/O 량이 많아서 성능이 저하되거나 경로가 너무 멀어 조인으로 인한 성능저하가 예상되거나 칼럼을 계산하여 읽을 때 성능이 저하될 것이 예상될 때 수행  B. 반정규화 절차 1. 반정규화 대상조사 : 범위처리 빈도수 조사, 대량 범위 처리 조사, 통계성 프로세스 조사, 테이블 조인 개수 2. 다른 ..

반응형