본문 바로가기

정보처리기사(실기)

끄적이는 개념요약 (데이터 입-출력 구현)

데이터모델 :  현실세계의 정보들을 컴퓨터에 표현하기 위해서 단순화 추상화 하여 체계적으로 표현한 개념적 모형이다. 

 

데이터 모델의 구성요소 

  • 개체  : 사람이 생각하는 개념이나 정보 단위 같은 현실세계 대상체
  • 속성 : 데이터의 가장 작은 논리적 단위 
  • 관계  : 개체 간의 관계 또는 속성 간의 논리적 연결의미

데이터 모델 표시할 요소 

  • 구조 : 논리적으로 표현된 개체타입들 간의 관계
  • 연산 : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세 
  • 제약조건 : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약조건 

1. 개념적 데이터 모델 : 현실세계의 대해 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정 (E-R모델)

2. 논리적 데이터 모델  :  개념적 구조를 컴퓨터 세계 환경에 맞도록 변화 하는 과정 (단순히 데이터모델이라 하면 논리적 데이터모델임)


이상 : 테이블에서 일부 속성들이 종속으로 인해 데이터 중복으로 인해 문제가 발생하는 현상 

 

  • 삽입이상 :  원하지 않은 값들로 인해 삽입할 수 없는 현상 
  • 삭제이상 : 한튜플을 삭제 할때 상관 없는 값도 같이 삭제 되는 현상 
  • 갱신이상 : 속성 값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 불일치성이 생기는 현상 

 

함수적 종속 : 속성 X의 값 각각에 대해 항상 속성 Y의 값이 오직 하나만 연관되어 있을때 Y는 X에 함수적 종속 또는 X가 Y를 함수적으로 결정한다고 하고 X->Y로 표기 한다. 

X -> Y 일때 X를 결정자 Y를 종속자 라고 부른다. 

 

정규화 : 테이블의 속성들이 상호종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해 하는 과정이다. 

이상 발생의 가능성을 줄이는 과정이다. 

 

제1정규화 모든 속성의 도메인이 원자값으로만 되어 있는 정규형이다. 
제2정규화 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형
제3정규화  기본키가 아닌 모든 속성이 기본키에 대하여 이행적 함수적 종속을 만족하지 않는 정규형
BCNF 모든 결정자가 후보키인 정규형 
제4정규화  다중값 종속 
제 5정규화 조인종속이 후보티를 통해서만 성립 

두 : 도메인 원자값

부 : 부분적 함수 종속제거 

이 : 이행적 함수 종속 제거

걸 : 결정자 이면서 후보키 아닌것 제거 

다 : 다중값 종속 

줘 : 조인종속성 이용


테이블 

속성명 (컬럼) 속성명 (컬럼) 속성명 (컬럼) 속성명 (컬럼)
값(튜플,인스턴스,어커런스) +기본키 값(튜플,인스턴스,어커런스) 값(튜플,인스턴스,어커런스) 값(튜플,인스턴스,어커런스)
값(튜플,인스턴스,어커런스)+기본키 값(튜플,인스턴스,어커런스) 값(튜플,인스턴스,어커런스) 값(튜플,인스턴스,어커런스)
값(튜플,인스턴스,어커런스)+기본키 값(튜플,인스턴스,어커런스) 값(튜플,인스턴스,어커런스) 값(튜플,인스턴스,어커런스)

테이블 정의서 : 전체 테이블을 목록으로 요약 관리 하는 문서 


반정규화 :  시스템의 성능 향상을 위해 의도적으로 정규화 원칙을 위배하는 행위 

 

  • 테이블 통합 : 두개의 테이블에서 발생하는 프로세스가 동일하게 자주 처리 되는 경우 통합 
  •  테이블 분할 : 수평분할(레코드 기준 빈도에 따라 분할) , 수직분할( 속성을 기준으로 분할)
  •  중복 테이블 추가 : 많은 범위 데이터 자주 처리시 , 특정범위 데이터 자주 처리시 
  •  중복 속성 추가 : 자주 사용하는 속성 추가 

인덱스 : 데이터 레코드를 빠르게 접근하기 위해 <키 값,포인터 > 쌍으로 구성되는 데이터 구조이다. 

 

  •  클러스터드 인데스 : 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 방식 
  • 넌클러스터드 인덱스 : 인덱스의 키값만 정렬되어 있을뿐 실제 데이터는 정렬되지 않는 방식 
  • 트리기반 인덱스 : 인덱스를 저장하는 블록들이 트리 구조를 이루고 있는것 
  • 비트맵 인덱스 : 인덱스 컬럼의 데이터 를 Bit값인 0이나1로 변환 하여 인덱스 키로 사용 하는 방식 
  • 함수기반 인덱스 : 컬럼의 값 대신 특정 함수나 수식을 정용하여 산출되는 값을 사용하는 것 
  • 비트맵 조인 인덱스 : 다수의 조인된 객체로 구성된 인덱스
  • 도메인 인덱스 : 개발자가 필요한 인덱스를 직접 만들어 사용하는 방식 

뷰 : 자료를 제한적으로 보여주기 위해 이름을 가진 가상 테이블 이다. 

- 기본테이블과 같은 형태 구조 

- 물리적으로 구현은 안됨 

- 데이터 안전하게 보호 

- 논리적 데이터 독립성 제공 


클러스터드 : 데이터 저장시 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장방식 

- 데이터 조회 속도 향상 

- 데이터 입력 수정 삭제 성능 저하 

- 데이터 분포도가 넓을수록 유리하다. 

- 분포도가 넙ㄹ은 테이블을 클러스터링 하면 저장공간을 절약한다. 

- 처리 범위가 넓으면 단일 테이블 클러스터링을, 조인이 많이 발생하는 경우 다중 테이블 클러스터링을 사용한다. 


파티션 : 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나눈는 것을 말함 

- 성능저하 방지 

- 데이터 관리 쉬워짐 

- 쿼리 성능 향상 

- 디스크 성능 향상 

- 속도가 빠르다. 

- 비용 증가

- 세심한 관리 요구됨 

- 용량이 작은 테이블에 파티셔닝 하면 오히려 성능 저하 

 

1. 범위 분할 : 지정한 열의 값을 기준으로 분할 

2. 해시분할: 해시함수를 적용한 값을 기준으로 분할 

3. 조합분할 :  범위 분할 후 해시분할 방법