IT/데이터자격증 기록
[SQLD/SQLP] 전문가가이드 1과목 데이터모델링 암기 요약 정리
JJo
2018. 10. 10. 12:15
1과목 데이터모델링 요약 정리
SQLD/SQLP를 준비하면서 객관식/주관식으로 나올 수 있는것들로
꼭 암기 할 필요가 있는것들 정리했습니다.
시험볼 때 애매하게 알 고 있으면 틀리기때문에 정확한 암기 및 이해가필요합니다.
예를들어 분산데이터베이스의 투명성의 종류는? 이라고 나올 때
'병행투명성'이 아닌 '병렬투명성'은 틀린답이 됩니다..
문제를 빠르게 풀고 넘어가기때문에 제대로 암기 및 이해하지 않으면... 조심해야합니다!
-데이터모델링의 세 가지 요소
1) 업무가 관여하는 어떤 것(Things)
2) 어떤 것이 가지는 성격(Attribute)
3) 업무가 관여하는 어떤 것 간의 관계(Relationships)
- 모델링의 정의
복잡한 현실세계를 일정한 표기법에 의해 표현하는일(추상화(모형화,가설적), 단순화, 명확화)
-데이터 모델링 유의점
1) 중복
2) 비유연성
3) 비일관성
-데이터베이스 스키마구조 3단계
외부스키마 : 개개 사용자 단계
개념스키마 : 모든 사용자 관점 통합한 조직 전체관점의 통합적 표현
내부스키마 : 물리적 장치에 데이터가 실제적으로 저장되는 방법 표현
-ERD 작업순서
-유무형에 따른 엔티티분류
1)유형엔티티 : 물리적형태가 있고 안정적, 지속적으로 활용되는 엔티티(ex:사원, 강사, 물품)
2)개념엔티티 : 물리적인형태 없고 관리해야할 개념적 정보(ex:조직,보험상품)
3)사건엔티티 : 업무를 수행함에 따라 발생되는 엔티티 각종통계자료 (ex:주문, 청구, 미납)
-발생시점에 따른 분류
1)기본엔티티 : 업무에 원래 존재하는 정보 독립적생성가능, 타 엔티티의 부모역할(ex:사원, 부소, 고객, 상품)
2)중심엔티티 : 기본엔티티로부터 발생, 업무에 있어 중심적역할, 데이터양이 많이 발생(ex:계약, 사고, 주문)
3)행위엔티티 : 두 개 이상의 부모엔티티로부터 발생 자주 내용이 바뀌거나 데이터량이 증가(ex:주문목록, 사원변경이력)
-주식별자의 특징
1. 유일성
2. 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가되어야함
3. 불변성
4. 존재성
-비식별자 관계
1. 자식엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하기 때문에 부모없는 자식이 생성되는 경우
2. 엔티티별로 데이터의 생명주기를 다르게 관리하는 경우
3. 여러 개의 엔티티가 하나의 엔티티로 통합되어 표현되었는데 각각의 엔티티가 별도의 관계를 가질 때
4. 자식엔티티에서 주식별자로 사용하여도 되지만 별도의 주식별자를 생성하는 것이 더 유리하다고 판단했을 때.
-비식별자 관계 선택 프로세스
1. 관계분석
2. 관계의 강/약 분석 -> 약한관계
3. 자식테이블 독립 PK필요 -> 독립 PK구성
4. SQL복잡도 증가 -> PK속성 단순화
-> 이때 비식별자 관계 고려
- 속성의 특성에 따른 분류
1)기본속성 : 업무로부터 추출한 모든속성 일반적인 속성(ex:제품이름, 제조년월, 제조원가)
2)설계속성 : 업무상 필요 데이터외에 업무를 규칙화하기 위해 변형하여 정의하는 속성 (ex:코드성데이터)
3)파생속성 : 다른속성에 영향을 받아 발생하는 속성 계산된 값(ex:용기의총금액, 이자 (이자율은X))
- 반정규화
1) 테이블의 중복성
테이블병합
- 1:1관계 테이블 병합
- 1:M관계 테이블병합
- 슈퍼/서브타입 테이블 병합
테이블분할
- 수직분할
- 수평분할
테이블추가
- 중복테이블 추가
- 통계테이블 추가
- 이력테이블 추가
- 부분테이블 추가
2) 칼럼의 중복성
- 중복칼럼 추가
- 파생컬람 추가
- 이력테이블 칼럼추가
- PK에 의한 칼럼추가
- 응용시스템 오작동을위한 칼럼 추가
3) 관계의 중복성
- 중복관계 추가
- 슈퍼/서브타입 데이터 모델의 변환타입 비교
-분산 데이터베이스의 투명성
1) 분할 투명성(단편화) : 하나의 논리적인 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 사이트의저장
2) 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요, 위치정보가 System Catalog에 유지되어야함
3) 지역사상 투명성 : 지역 DBMS와 물리적 DB사이의 Mapping보장, 각 지역시스템 이름과 무관한 이름 사용가능
4) 중복 투명성 : DB객체가 여러 site에 중복 되어 있는지 알 필요가 없는 성질
5) 장애 투명성 : 구성요소의 장애에 무관한 트랜잭션의 원자성 유지
6) 병행 투명성 : 다수 트랜잭션 동시 수행시 결과의 일관성 유지
-분산 데이터베이스의 적용기법
가. 테이블 위치 분산 : 테이블 구조 안변하고 테이블의 위치를 각각 다른곳에 위치 시키는것
나. 테이블 분할 분산 : 테이블을 쪼개어 위치를 분산하여 두는 방법(수평/수직) - 드문경우
다. 테이블 복제 분산 : 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리(부분복제/광역복제)
-다이소(각 지사간 데이터를 복제하는데 시간이 걸리므로 실시간 처리보단 야간에 배치작업에 의해 수행)
-부분 복제의경우는 지사에서 데이터에 대한 입력/수정/삭제가 발생하여 본사에서 이용하는 방식
-광역 복제의경우는 본사에서 데이터에 대한 입력/수정/삭제가 발생하여 지사에서 이용하는 방식
라. 테이블 요약분산 : 지약간에 또는 서버간에 데이터가 비슷하지만 서로 다른유형으로 존재하는경우
요약방식의 따라 동일한 테이블 구조를 가지고 있으면서 분산되어있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식의 분석요약 / 분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이털을 산출하는 방식의 통합요약 이 있다. - 판매실적관련
- 분석요약은 지사에 있는 데이터를 이용하여 본사에서 통합하여 요약 데이터를 산정(같은 데이터)
- 통합요약 지사에서 요약한 정보를 본사에서 취합하여 각 지사별로 데이터를 비교하기 위해 이용(서로다른데이터)
-분산 데이터베이스의 장단점
장점
1. 지역자치성, 점증적 시스템 용량확장
2. 신뢰성과 가용성
3. 효용성과 융통성
4. 빠른 응답속도와 통신비용 절감
단점
1. 소프트웨어 개발 비용 증대
2. 오류의 잠재적 증대
3. 처리 비용의 증대
4. 설계, 관리의 복잡성과 비용
5. 불규칙한 응답속도
6. 통제 어려움 및 데이터 무결성에 대한 위협
-관계표기법
관계명 / 관계차수 / 선택성
-정규형
제 1 정규화(정규형) : 모든 속성은 반드시 하나의 값을 가져야 한다(반복 형태가 있어서는 안됨)
제 2 정규화(정규형) : 모든 속성은 반드시 기본키 전부에 종속되어야 한다(기본키 일부에만 종속되어서는 안됨)
제 3 정규화(정규형) : 기본키가 아닌 모든 속성 간에는 서로 종속될 수 없다(속성 간 종속성 배제)
-성능 데이터모델링 진행순서
1. 데이터 모델링을 할 때 정규화를 정확하게 수행한다.
2. 데이터베이스 용량산정을 수행한다.
3. 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
(CRUD 매트릭스, 시퀀스 다이어그램 등을 이용하여 파악
화면에서 처리된 데이터는 이벤트(입력, 수정, 삭제, 조회)에 따라 유추가능 )
4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
5. 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다.
6. 성능관점에서 데이터 모델을 검증한다.
데이터 베이스 3단계 구조와 2개의 독립성은?
구성요소 : 외부,개념,내부 스키마
독립성 : 논리적 데이터 독립성, 물리적 데이터 독립성
좋은 데이터 모델의 요소 나열
완전성, 중복배제, 업무규칙, 데이터 재사용, 의사소통, 통합성