01 논리 데이터 저장소 확인
데이터모델 개념
⦁ 현실세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
데이터 모델 절차 (요개논물)
요구조건분석 -> 개념적 데이터 모델 -> 논리적 데이터 모델 -> 물리적 데이터 모델
개념적 설계 : 요구사항 명세서를 기반으로 개념적 데이터 모델을 표현하며 E-R 다이어그램으로 표현할 수 있다
논리적 설계 : 목표 DBMS 에 맞는 스키마 설계, 트랜잭션 인터페이스를 설계하는 정규화 과정을 수행함
물리적 설계 : 특정 DBMS 의 특성 및 성능을 고려하여 데이터 베이스 저장 구조로 변환하는 과정으로 결과로 나오는 명세서는 테이블 정의서 등이 있음
논리 데이터 모델링 개념
⦁ 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스이다
⦁ 속성은 개체, 속성, 관계로 구성된다
논리적 데이터 모델링 종류
⦁ 관계 데이터 모델 : 논리적 구조가 2차원 테이블 형태로 구성됨
⦁ 계층 데이터 모델 : 논리적 구조가 트리 형태로 구성된 모델
⦁ 네트워크 데이터 모델 : 논리적 구조가 그래프 형태로 구성된 모델
관계 대수⭐⭐
⦁ 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어
일반 집합 연산자 (합교차카): 합집합, 교집합, 차집합(-), 카디션 프로덕트(X)
순수 관계 연산자 (셀프조디): 셀렉트(튜플반환), 프로젝트(속성값반환), 조인, 디비전
종류 | 특징 | 기호 |
Select | ✓ 릴레이션에 조재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산 ✓ 릴레이션의 행에 해당하는 튜플을 구하는 것이므로 수평 연산이라고도 함 |
시그마(σ) |
Project | ✓ 주어진 릴레이션에서 속성 리스트에 제시된 속성 값만 추출하여 새로운 릴레이션을 만드는 연산 ✓ 연산 결과에 중복이 발생하면 중복이 제거됨 ✓ 릴레이션의 열에 해당하는 속성을 추출하는 것이므로 수직 연산자라고도 함 |
파이(π) |
Join | ✓ 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산 ✓ Join의 결과는 교차곱을 수행한 다음 Select를 수행한 것과 같음 |
▷◁ |
Division | X ⊃ Y인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산 | ÷ |
관계해석
⦁ 튜플 관계 해석, 도메인 관계 해석을 하는 비절차적 언어
정규화
⦁ 관계형 데이터 모델에서 데이터 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정이다
이상현상
⦁ 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상이다
⦁ 삽입 이상 : 정보 저장 시 해당 정보의 불필요한 세부정보를 입력해야 하는 경우
⦁ 삭제 이상 : 중복 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
⦁ 갱신 이상 : 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
정규화의 단계⭐⭐ (도부이결다조)
⦁ 1정규형(INF) : 도메인이 원자값으로 구성
⦁ 2정규형(2NF) : 부분 함수 종속 제거(완전 함수적 종속 관계)
⦁ 3정규형(3NF) : 이행 함수 종속 제거
⦁ 보이스-코드 정규형(BCNF) : 결정자 후보키가 아닌 함수 종속 제거
⦁ 4정규형(4NF) : 다중값 종속 제거
⦁ 5정규형(5NF) : 조인 종속 제거
함수종속
⦁ 부분 함수 종속 (Partial Functional Dependency) : 릴레이션에서 기본 키가 복합키일 경우 키를 구성하는 속성 중 일부에게 종속 된 경우
- 예) {학번, 과목번호} -> 성적
⦁ 완전 함수 종속 (Full Functional Dependency) : 릴레이션에서 X->Y 관계가 있을때, Y 는 X의 전체 속성에 대해 종속하고, 부분 집합 속성에 종속하지 않는 경우
- 예) 학번 -> 학년
⦁ 이행 함수 종속 (Transitive Functional Dependency) : 릴레이션에서 X->Y, Y->Z 종속 관계가 있을때 X->Z 성립되는 경우
반정규화(비정규화)⭐⭐⭐
⦁ 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법이다
⦁ 반정규화 기법: 테이블 병합, 테이블 분할, 중복테이블 추가, 컬럼 중복화, 중복관계 추가
02 물리 데이터 저장소 확인
물리 데이터 모델링
⦁ 논리 모델을 적용하고자 하는 기술에 맞도록 상세화해가는 과정이다.
데이터 무결성 개념
⦁ 데이터베이스 저장된 데이터 값과 그것이 표현하는 현실세계의 값이 일치하는 성질이다
데이터베이스 무결성 종류 (개참속사키)
⦁ 개체 무결성(Entity Integrity)
한 엔터티에서 같은 기본 키(PK)를 가질 수 없거나, 기본 키(PK)의 속성이 NULL 을 허용할 수 없는 제약조건
주요기법 : 기본키 (Primary Key) , 유니크 인덱스(Unique Index)
⦁ 참조 무결성(Referential Integrity)
외래키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키 값이나 NULL 이여야하는 제약조건
주요기법 : 외래키 (Foreign Key)
⦁ 속성 무결성(Attribute Integrity)
속성의 값은 기본값, NULL, 도메인, 데이터 타입 이 지정된 규칙을 준수해야하는 조건
주요기법 : 체크, NULL, NOT NULL
⦁ 사용자 정의 무결성(User-Defined Integrity)
시용자의 의미적 요구사항을 준수해야 하는 제약 조건
주요기법: 트리거, 사용자 정의 데이터 타입
⦁ 키 무결성 (Key Integrity)
한 릴레이션에 같은 키값을 가진 튜플들을 허용할 수 없는 제약조건
주요기법 : UNIQUE
참조 무결성 제약조건
⦁ 제한(Restricted) : 참조 무결성 원칙을 위배하는 연산을 거절하는 옵션이다, 모테이블 데이터 제거 시 자식 테이블에 데이터 존제하기 때문에 참조 무결성 위배로 삭제 거절
⦁ 연쇄(Cascade) : 참조되는 릴레이션에서 튜플을 삭제하고, 참조되는 릴레이션에서 이 튜플을 참조하는 튜플들도 함께 삭제하는 옵션이다
⦁ 널값(Nullify) : 참조되는 릴레이션에서 튜플을 삭제하고, 참조하는 릴레이션에서 해당 튜플을 참조하는 튜플들의 외래키에 NULL 값을 넣는 옵션이다
키 특성
⦁유일성 (UNIQUE): 식별자에 의해 엔터티 타입 내에 모든 엔터티들이 유일하게 구분
⦁최소성 (Minimality) : 최소한의 속성으로 식별자 구성
키종류
⦁기본키 (Primary Key) : 테이블의 각 튜플들을 고유하게 식별하는 컬럼
⦁대체키 (Alternate Key): 후보 키 중에서 키본키로 설정되지 않은 키
⦁후보키 (Condidate Key): 테이블에서 각 튜플을 구별하는데 기준이 되는 컬럼
기본키와 대체 키를 합친키(유일성과 최소성을 만족)
⦁슈퍼키 (Super Key): 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못하는 키
⦁외래키 (Foreign Key): 테이블간의 참조 데이터 무결성을 위한 제약조건
파티셔닝 (레헤리컴라)
⦁ 테이블 또는 인덱스 데이터를 파티션 단위로 나누어 저장하는 기법이다
⦁레인지 파티셔닝 : 연속된 숫자나 날짜를 기준으로 하는 파티셔닝 기법, 시간단축 가능(우편번호,일월)
⦁해시 파티셔닝 : 파티션 키의 해시 함수 값에 의한 파티셔닝 기법(파티션을 위한 범위가 없는 데이터에 적합)
⦁리스트 파티셔닝 : 특정 파티션에 저장될 데이터에 대한 명시적 제어가 가능한 기법, 데이터가 많은 sql 에서 컬럼의 조건이 많이 들어오는 경우 유용
⦁컴포지트 파티셔닝 : 레인지 파티셔닝, 해시 파티셔닝, 리스트트 파티셔닝 중 2개 이상의 파티셔닝을 결합하는 기법
⦁라운드로빈 : 라운드로빈으로 회전하면서 새로운 행을 파티션에 할당하는 기법
파티션 장점 : 성능향상, 가용성 향상, 백업 가능, 경합 감소
03 데이터 베이스 기초 활용하기
데이터 베이스⭐
⦁ 데이터 베이스는 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합이다
데이터 베이스 정의 (통저운공)
⦁ 통합된 데이터: 자료의 중복을 배제한 데이터의 모임
⦁ 저장된 데이터: 저장 매체에 저장된 데이터
⦁ 운영 데이터 : 조직의 업무를 수행하는데 필요한 데이터
⦁ 공용 데이터 : 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터
데이터 베이스 특성⭐
⦁ 실시간접근성: 쿼리에 대하여 실시간 응답이 가능해야함
⦁ 계속적인 변화: 새로운 데이터의 삽입, 삭제, 갱신으로 향상 최신 데이터를 유지함
⦁ 동시 공용 : 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야함
⦁ 내용 참조 : 사용자가 요구하는 데이터 내용으로 데이터를 찾는다
DBMS , NoSQL유형 (키컬로그)
⦁ Key-Value Store DBMS
⦁ Column Family Data Store DBMS
⦁ Document Store DBMS
⦁ Graph Store DBMS
DBMS 특징
⦁ 데이터 무결성, 데이터 일관성, 데이터 회복성, 데이터 보안성, 데이터 효율성
빅데이터⭐
시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리가 가능한 수십 페타바이트 크기의 비정형 데이터
⦁ HDFS : 대용량의 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템
⦁ 맵 리듀스(Map Reduce) : 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅 처리하기 위한 목적으로 제작해 2004년에 발표한 소프트 프레임 워크
⦁ 빅데이터 의 특성 : 양, 다양성, 속도
NoSQL⭐
⦁ 스키마가 필요하지 않고
조인 연산을 사용할 수 없으며,
수평적으로 확장이 가능한 DBMS
NoSQL의 특성(BASE)
⦁ Basically Available : 언제든지 데이터는 접근할 수 있어야하는 속성
⦁ Soft-State : 노드의 상태는 외부에서 전송된 정보를 통해 결정되는 속성
⦁ Eventually Consistency : 일정 시간이 지나면 데이터의 일관성이 유지
시맨틱 웹(Semantic Web)
⦁기계가 이해할 수 있는 온톨로지 형태로 표현하고 자동화된 기계가 처리하도록 하는 지능형 웹
온톨로지(Ontology)
⦁실세계에 존재하는 모든 개념들과 개념들의 속성, 개념들 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스
데이터 마이닝⭐⭐
⦁ 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술
⦁ 대규모 데이터에서 의미있는 패턴을 /파악하거나 예측하여 /의사결정에 활용하는 기법
데이터 마이닝 주요 기법
⦁텍스트 마이닝 : 대량의 텍스트 데이터로 부터 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 기법
⦁웹 마이닝 : 웹으로부터 얻어지는 방대한 양의 정보로부터 유용한 정보를 찾아내기 위하여 분석하는 기법
⦁ 분류 규칙(Classification) : 과거 데이터로부터 특성을 찾아내어 분류 모형을 만들어 이를 토대로 새로운 레코드의 겨과값을 예측하는 기법
⦁ 연관 규칙(Association) : 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법
⦁ 연속 규칙(Sequence) : 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
⦁ 데이터 군집화(Clustering) : 대상 레코드들을 유사한 특성을 지닌 몇개의 소그룹으로 분할 하는 작업
'정보처리기사' 카테고리의 다른 글
정보처리기사 실기 - 서버프로그램구현(20일차) (0) | 2023.07.15 |
---|---|
정보처리기사 실기 - 인터페이스구현(19일차) (0) | 2023.07.14 |
정보처리기사 실기 - UI 요구사항 확인(15일차) (0) | 2023.07.10 |
정보처리기사 실기 - SQL 응용 개념 정리 (8~9일차) (0) | 2023.07.04 |
정보처리기사 실기 - 프로그래밍 언어 활용 개념 정리 (1~5일차) (0) | 2023.07.01 |