반응형

[Certification]/[SQLD] Structured Query Language Develop 27

[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. 다른 ..

[SQLD] 2-1. 데이터 모델과 성능 - 정규화와 성능 데이터 모델링, 용어, 정규화 종류

정규화와 성능성능 데이터 모델링 정의1. 데이터베이스 성능 향상을 목적 2. 성능과 관련된 사항들이 데이터 모델링 작업에 반영될 수 있도록 하는 것 3. 작업 유형에 따라 성능 향상 목표를 분명하게 정의해야 정확한 성능향상 모델링을 수행할 수 있음  성능 데이터 모델링 특징1. 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 증가 2. 데이터모델은 성능을 튜닝하면서 변경될 수 있음 3. 분석/설계 단계에서 성능을 고려한 데이터모델링을 수행할 경우 성능 저하에 따른 재설계 비용을 최소화할 수 있는 기회가 됨   데이터 모델 성능 저하 원인1. 데이터 모델 구조에 의해 성능이 저하 2. 데이터가 대용량이 됨으로 인해 불가피하게 성능이 저하 3. 인덱스 특성을 충분히 고려하지 않고 인덱스를 생성  성능..

[SQLD] 1-6. 데이터 모델의 이해 - 예상문제풀이 (Question&Answer)

문제 1. 다음 중 정보시스템을 모델링할 때 세 가지 관점에 해당하지 않는 것은? ① 업무가 어떤 데이터와 관련이 있는지 분석 ② 업무가 실제 하는 일은 무엇인지 또는 무엇을 해야 하는지 분석 ③ 업무가 처리하는 일의 방법에 따라 데이터가 어떻게 영향을 받는지 분석 ④ 업무를 처리할 수 있는 프로그램 구성을 어떻게 해야 하는지 분석  문제 2. 데이터 모델링의 세 가지 중요개념에 속하지 않는 것은? ① 업무가 관여하는 어떤 것(Things) ② 업무가 관여하는 어떤 것의 행위(Events) ③ 업무가 관여하는 어떤 것의 성격(Attributes) ④ 업무가 관여하는 어떤 것의 관계(Relationships)  문제 3. 발생시점에 따라 구분할 수 있는 엔터티의 유형이 아닌 것은? ① 행위 엔터티(Acti..

[SQLD] 1-5. 데이터 모델의 이해 - 식별자(Identifiers) 특징, 분류체계, 고려사항

A. 식별자 정의1. 인스턴스 집합에서 단 하나의 인스턴스를 구별해 낼 수 있는 논리적인 구분자 2. 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성 3. 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재   B. 식별자 특징1. 유일성 - 엔터티 내에 존재하는 각각의 인스턴스 집합은 주식별에 의해 유일하게 구분될 수 있음 2. 최소성 - 유일성을 만족한다면 주식별자를 구성하는 속성의 수는 최소한의 수로 이루어져야 함 3. 불변성 - 엔터티 내 특정 인스턴스에 주 식별자가 한번 정해지면 그 값은 자주 변하지 말아야 한다 4. 존재성 - 주식별자가 지정되면 반드시 데이터 값이 존재해야 한다, Null 허용 불가  C. 식별자 분류체계 D. 주식별자 도출기준  E. 식별자..

[SQLD] 1-4. 데이터 모델의 이해 - 관계(Relationship) 정의, 분류, 표기법

A. 관계 정의1. 엔터티끼리 상호 연관성이 있는 상태를 의미 2. 데이터 모델 내에 존재하는 엔터티 간 논리적인 연관성  B. 관계 분류1. 존재 관계 : 존재 자체로 연관성이 있는 관계 2. 행위 관계 : 특정 행위를 함으로써 연관성이 생기는 관계  C. 관계 표기법 종류1. 관계명(Membership) : 엔터티와 엔터티가 어떠한 관계를 맺고 있는지를 나타내는 문장, 명확한 문장으로 표현하며 현재형 이어야 한다. 2. 관계차수(Cardinality) : 관계에 참여하는 수, 1:1, 1:N, N:M으로 구분 3. 관계선택사양(Optionality) : 필수인지 선택인지의 여부, 필수적 관계는 참여자가 반드시 존재해야 하는 관계, 선택적 관계는 참여자가 없을 수도 있는 관계 D. ERD 관계 표기법1..

[SQLD] 1-3. 데이터 모델의 이해 - 속성(Attribute) 정의, 특징, 도메인

A. 속성 정의 1. 비즈니스에서 필요로 하며, 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 2. 속성은 엔터티에 대한 자세하고 구체적인 정보를 나타냄 3. 각각의 속성은 구체적인 값을 갖게 됨 4. 속성도 집합  B. 데이터 모델 구성 요소 간 관계1. 1개의 엔터티는 2개 이상의 인스턴스 집합 2. 1개의 인스턴스는 2개 이상의 속성을 가짐3. 1개의 속성은 1개의 속성 값을 가짐 C. 속성 명칭 1. 해당 업무에서 사용하는 이름을 부여 2. 서술식 속성명 지양 3. 약어사용은 지양 4. 전체 데이터모델에서 유일한 이름을 사용 (반정규화, 통합 등의 작업 시 혼돈 방지) 5. 애매모호하지 않게, 복합 명사를 사용하여 구체적으로 명명  D. 속성 값1. 각각의 속성은 ..

[SQLD] 1-2. 데이터 모델의 이해 - 엔터티(Entity) 특징, 분류, 명명법

A. 엔터티란?1. 식별이 가능한 객체2. 사람, 사물, 사건, 개념 등의 명사에 해당3. 비즈니스 관점에서 IT 시스템을 통해 관리가 필요한 관심사4. 비즈니스를 구현하기 위해 저장해야 하는 어떤 것  B. 엔터티 특징1. 업무에서 필요로 하는 정보 : 비즈니스 요구 조건 만족을 위해 반드시 필요하고, 저장 및 관리하고자 하는 정보여야 한다.2. 식별 가능해야 함 : 유일한 식별자에 의해 식별이 가능해야 한다.3. 인스턴스의 집합 : 연속적으로 존재하는 2개 이상의 인스턴스 집합이어야 한다.4. 업무 프로세스에 의해 이용 : 엔터티는 비즈니스 프로세스에 의해 반드시 이용되어야 한다. 업무 프로세스에 의해 insert, select, update, delete 등이 발생하지 않는 고립된 엔터티의 경우는 ..

[SQLD] 1-1. 데이터 모델의 이해 - 데이터 모델링, 데이터베이스 스키마, ERD

데이터 모델의 이해 A. 데이터 모델링이란?1. 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법2. 현실 세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정3. 데이터베이스를 구축하기 위한 분석/설계의 과정 => 복잡한 현실 세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법으로 모델을 표현하는 기법   B. 데이터 모델링 필요성 / 목적1. 업무정보를 구성하는 기초가 되는 정보들에 대해 일정한 표기법에 의해 표현2. 분석된 모델을 가지고 데이터베이스를 생성하여 개발 및 데이터 관리에 사용하기 위함3. 데이터모델링 자체로의 업무의 흐름을 설명하고 분석하는 부분에 의미를 가지고 있음  C. 데이터 모델링 특징추상화 : 현실 세계를 일정한 형식으로 표현하는 것, 아이디어나 개념을 간략하게..

반응형