본문 바로가기
IT

[정보 처리 기사 실기 공부] 논리적 데이터 모델링, 데이터베이스 정규화 단계, 물리적 데이터 모델링, 파티션 종류

by 배애앰이 좋아 2022. 4. 13.
반응형

데이터 모델 : 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있돌고 추상화하여 표현한 모델

데이터 모델 표시 요소 : 논리적 데이터 구조(정적 성질), 연산(릴레이션 조작), 제약 조건(개체의 무결성, 참조 무결성)

 

데이터 모델 절차 : 요개논물 : 요괴(개)의 눈(논)물

- 요구사항 분석, 개념적 데이터 모델(개체 관계 다이어그램), 논리적 데이터 모델(정규화), 물리적 데이터 모델(반 정규화/테이블 정의서)

 

1. 논리적 데이터 모델링 :

- 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스

- 개념 모델로부터 업무 데이터 및 규칙을 구체적으로 표현

- 종류 : 관계 데이터 모델(2차원 테이블 형태 / 1:1, 1:N, N:M), 계층 데이터 모델(트리 형태 / 상하관계 / 1:N), 네트워크 데이터 모델(그래프 형태 / N:M)

 

< 관계 데이터 모델 >

: 데이터를 행과 열로 구성된 2차원 텡블 형태로 구성한 모델

- 구성 요소 : 릴레이션, 튜플, 속성, 카디널리티(튜플/행의 수), 차수(열의 수), 스키마, 인스턴스

- 데이터 간의 관계를 기본 키와 이를 참조하는 외래키로 표현

 

+

관계 대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가 기술적인 절차적 정형 언어

-> 일반 집합 연산자(합교차카) : 합집합(union) / 교집합(intersection) / 차집합(difference) / 카티션 프로덕트(cartesian product)

-> 순수 관계 연산자(셀프조디) : 셀렉트(select) / 프로젝트(project) / 조인(join) / 디비전(division)

 

+

셀렉트(select) : 릴레이션 R에서 조건을 만족하는 튜플 반환

프로젝트(project) : 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환

조인(join) : 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환

디비전(division) : 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환

 

+ 관계 해석 : 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어

 

논리적 데이터 모델링 속성 : 객체(사각형), 속성(타원형), 관계(마름모)

- 객체-관계(E-R) 모델 

- 정규화 : 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정

- 이상현상(anomaly) : 데이터의 중복성으로 릴레이션을 조작할 때 발생하는 비합리적 현상 -> 총 3가지 : 삽입 이상 , 삭제 이상, 갱신 이상

 

< 데이터베이스 정규화 단계 : 원부이 결다조 >

1정규형 1NF : 원자값으로 구성

2정규형 2NF : 부분 함수 종속 제거 (완전 함수적 종속 관계)

3정규형 3NF : 이행함수 종속 제거

보이스-코드 정규형 BCNF : 결정자 후보 키가 아닌 함수 종속 제거

4 정규형 4NF : 다치(다중 값) 종속 제거

5 정규형 5NF : 조인 종속 제거

 

반 정규화 

: 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법 / 비정규화, 역정규화라고 불림.

장점 : 성능 향상과 관리의 효율성 증가

단점 : 데이터 일관성 및 정합성 저하 / 유지를 위한 비용 별도 발생 -> 성능 저하

기법 : 테병분중 컬중 관중 (테이블 병합 / 분할 / 중복 / 컬럼 중복 / 관계 중복)

 

- 개체 데이터 모델에서는 연산을 이용하여 실제 데이터 처리 작업에 대한 명세를 나타내는데 논리 데이터 모델에서는 속성을 어떻게 나타낼 것인지 표현

 

2. 물리적 데이터 모델링 :

- 논리 모델을 적용하고자 하는 기술에 맞도록 상세화해가는 과정

- DDL(Data Definition Language : 데이터 정의어 ) : 데이터를 정의하는 언어

- 물리 데이터 모델링 변환 절차 : 객체를 테이블로 변환 -> 속성을 컬럼으로 변환 -> UID를 기본키로 변환 -> 관계를 외래키로 변환 -> 컬럼 유형과 길이 정의 -> 반 정규화 수행

 

참조 무결성  :

- 릴레이션과 릴레이션 사이에 대해 참조의 일관성을 보장하기 위한 조건

- 두 개의 릴레이션이 기본키, 외래키를 통해 참조 관계를 형성할 경우, 참조하는 외래키 값은 항상 참조되는 릴레이션에 기본키로 존재

- (1) 제한 : 참조무결성 원칙을 위배하는 연산을 거절하는 옵션

- (2) 연쇄 : 참조되는 릴레이션에서 튜플을 삭제하고, 참조되는 릴레이션에서 이 튜플을 참조하는 튜플들도 함계 삭제하는 옵션

- (3) 널 값 : 참조되는 릴레이션에서 튜플을 삭제하고 외래키에 NULL 값을 넣는 옵션

 

인덱스 :

- 검색 연산의 최척화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터구조 or 전체 데이터의 검색없이 필요한 정보를 신속히 조회가 가능하게 하는 데이터 구조

- 인덱스 분포도가 10~15% 이내인 경우 :

      분포도 = ( 1/ (컬럼 값의 종류)) x 100

      분포도= (컬럼 값의 평균 Row 수) / (테이블의 총 Row 수) x 100

- 분포도가 좋은 컬럼은 단독적으로 생성

- 자주 조합되어 사용되는 컬럼은 결합 인덱스로 생성

- 지나치게 많은 인덱스는 오버헤드 작용

 

- 뷰 속성 : REPLACE , FORCE, NOFORCE, WITH CHECK OPTION, WITH READ ONLY

- DML (Data Manipulation Language) : 데이터 조작어 / 데이터베이스에서 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어 -> SELECT, INSERT, DELETE, UPDATE

 

- 클러스터 : 대상이 되는 범위(모집단)의 요소를 몇 개 모은 단위체

 

파티션 종류 : 레해리컴라

- 레인지 파티셔닝(=범위 파티셔닝)(연속적인 숫자, 날짜 기준), 해시 파티셔닝(해시 함수), 리스트 파티셔닝(=목록 파티셔닝)(명시적 제어 가능), 컴포지트 파티셔닝(=조합 파티셔닝)(함수 적용하여 재분할), 라운드로빈 파티셔닝(회전하면서 새로운 행이 파티션에 할당)

파티션 장점 : 성능 향상, 가용성 향상, 백업 가능, 경합 감소

 

반응형

댓글