논리 데이터 저장소 확인
데이터 모델
1) 데이터 모델 개념
데이터 모델은 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델이다.
데이터 모델 표시요소
- 연산(Operation)
- 구조(Structure)
- 제약 조건(Constraint)
데이터 모델 절차
- 개념적 데이터 모델: 사용자의 요구에 대한 트랜잭션을 모델링 하는 단계, 추상적, 개념적으로 표현, 개체관계 다이어그램이 있다
- 논리적 데이터 모델: 트랜잭션의 인터페이스를 설계하는 단계, 논리적 스키마를 설계하는 단계, 논리적 설계 단계에서 정규화 수행
- 물리적 데이터 모델: 논리 데이터 모델을 특정 DBMS 특성 및 성능 고려하여 물리적 스키마 만드는 단계, 성능 측면에서 반 정규화 수행
(반 정규화 - 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법)
논리 데이터 모델 검증
1) 관계 데이터 모델
관계 데이터 모델은 데이터를 행과 열로 구성된 2차원 테이블 형태로 구성한 모델이다.
관계 데이터 모델의 구성요소
- 릴레이션: 행과 열로 구성된 테이블
- 튜플: 릴레이션의 행(row)에 해당되는 요소
- 속성: 릴레이션의 열(column)에 해당되는 요소
- 카디널리티: 튜플의 수
- 차수: 속성의 수
- 스키마: 데이터베이스의 구조, 제약 조건 등의 정보를 담고 있는 기본적인 구조
- 인스턴스: 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합
관계 대수
: 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어이다.
관계 대수 연산자의 종류
- 일반 집합 연산자
연산자 | 표현 | 설명 |
합집합(Union) | R U S | 합병 가능한 두 릴레이션 의 합집합 |
교집합(Intersection) | R ∩ S | 두 릴레이션에 속하는 모든 튜플로 결과 릴레이션 구성 |
차집합(Difference) | R - S | R에 존재하고 S에 존재하지 않는 튜플로 결과 구성 |
카티션 프로덕트 | R X S | R과 S에 속한 모든 튜플 연결해 만들어진 새로운 튜플로 릴레이션 구성 |
- 순수 관계 연산자
연산자 | 표현 | 설명 |
설렉트(Select) | ![]() |
릴레이션 R에서 조건을 만족하는 튜플 반환 |
프로젝트(Project) | ![]() |
릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환 |
조인(Join) | ![]() |
공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환 |
디비전(Division) | ![]() |
릴레이션 S의 모든 튜플과 관련 있는 R 튜플 반환 |
2) 논리 데이터 모델링 속성
- 개체: 관리할 대상이 되는 실체
- 속성: 관리할 정보의 구체적 항목
- 관계: 개체 간의 대응 관계
3) 개체-관계(E-R) 모델
현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델이다.
기호
구성 | 기호 |
개체 | 사각형 |
관계 | 마름모 |
속성 | 타원 |
다중 값 속성 | 이중타원 |
관계-속성 연결 | 선 |
4) 정규화
정규화는 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정이다.
이상 현상
: 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상
이상 현상 | 설명 |
삽입 이상 | 저장 시 해당 정보의 불필요한 세부정보 입력해야 하는 경우 |
삭제 이상 | 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우 |
갱신 이상 | 중복 데이터 중 특정 부분만 수정되어 중복된 값이 모순 일으키는 경우 |
데이터베이스 정규화 단계
단계 | 조건 |
1정규형(1NF) | 원자값으로 구성 |
2정규형(2NF) | 부분 함수 종속 제거(완전 함수적 종속 관계) |
3정규형(3NF) | 이행함수 종속 제거 |
BCNF | 결정자 후보키가 아닌 함수 종속 제거 |
4정규형(4NF) | 다치(다중 값) 종속 제거 |
5정규형(5NF) | 조인 종속 제거 |
5) 반 정규화
정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법이다.
반 정규화 기법
- 테이블
- 테이블 병합
- 테이블 분할 - 수평 분할, 수직 분할
- 중복 테이블 추가 - 집계 테이블 추가, 진행 테이블 추가, 특정 부분만을 포함하는 테이블 추가
- 컬럼
- 컬럼 중복화
- 관계
- 중복 관계 추가
물리 데이터 저장소 설계
테이블 제약 조건 설계
1) 참조무결성 제약 조건
- 제한: 참조무결성 원칙 위배하는 연산을 거절하는 옵션
- 연쇄(Cascade): 참조되는 릴레이션에서 튜플 삭제하고, 참조되는 릴레이션에서 이 튜플을 참조하는 튜플들도 함께 삭제
- 널 값(Nullify): 참조되는 릴레이션에서 튜플 삭제하고 참조하는 릴레이션에서 해당 튜플을 참조하는 튜플들의 외래키에 NULL 값을 넣는다. (만약 NOT NULL 이 애트리뷰트에 되어 있으면 연산 거절한다)
2) 인덱스 설계
인덱스 적용 기준, 컬럼 선정 등 고려해 설계한다
개념: 검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터구조이다.
3) 뷰 설계
뷰 속성
- replace: 뷰가 이미 존재하는 경우 재생성
- force: 테이블 존재 여부에 관계없이 뷰 생성
- noforce: 기본 테이블이 존재할 때 뷰 생성
- with check option: 서브 쿼리 내의 조건을 만족하는 행만 변경
- with read only: 데이터 조작어(DML) 작업 불가
4) 파티션 설계
파티션의 종류
- 레인지 파티셔닝: 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝 기법, 관리 시간의 단축 가능
- 해시 파티셔닝: 파티션 키의 해시 함수 값에 의한 파티셔닝 기법, 균등한 데이터 분할 가능
- 리스트 파티셔닝: 특정 파티션에 저장 될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법, 분포도가 비슷하고 데이터가 많은 sql에서 컬럼의 조건이 많이 들어오는 경우 유용
- 컴포지트 파티셔닝: 레인지, 해시, 리스트 파티셔닝 중 2개 이상의 파티셔닝을 결합하는 파티셔닝 기법
- 라운드로빈 파티셔닝: 라운드로빈 분할로 회전하면서 새로운 행이 파티션에 할당하는 방식, 파티션에 행의 고른 분포를 원할 때 사용
파티션의 장점
- 성능 향상
- 가용성 향상
- 백업 가능
- 경합 감소
데이터 베이스 기초 활용하기
데이터베이스 종류
1) 데이터베이스
데이터베이스 정의
- 통합된 데이터
- 저장된 데이터
- 운영 데이터
- 공용 데이터
2) DBMS
유형
- 키- 값(key-value) DBMS
- 컬럼 기반 데이터 저장 (Column Family Data Store) DBMS
- 문서 저장(Document Store) DBMS
- 그래프(Graph) DBMS
특징
- 데이터 무결성: 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
- 데이터 일관성: 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정
- 데이터 회복성: 장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질
- 데이터 보안성: 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
- 데이터 효율성: 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족시켜야 하는 성질
3) 빅데이터
특성
- 데이터의 양 (Volume)
- 데이터의 다양성(Variety)
- 데이터의 속도(Velocity)
4) 데이터 마이닝
개념: 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술이다.
텍스트 마이닝, 웹 마이닝과 함께 다양한 분야에서 활용된다.
'▸정보처리기사' 카테고리의 다른 글
[정보처리기사 실기 요약정리] 6. SQL 응용 (0) | 2023.04.18 |
---|---|
[정보처리기사 실기 요약정리] 5. 인터페이스 구현 (2) | 2023.04.17 |
[정보처리기사 실기 요약정리] 4. 통합 구현 (0) | 2023.04.16 |
[정보처리기사 실기 요약정리] 2. 화면 설계 (0) | 2023.04.13 |
[정보처리기사 실기 요약정리] 1. 요구사항 확인 (2) | 2023.04.12 |