1. 데이터 전반
- 데이터 전환 : 데이터를 추출하여 새로 개발할 정보 시스템에서 운영할 수 있도록 변환한 후 적재하는 과정
- 데이터 검증 : 원래 데이터를 목적 시스템의 데이터로 전환하는 과정이 정상적으로 수행되었는지 확인
- 오류 데이터 측정 및 정제 : 데이터 품질 분석 -> 오류 데이터 측정 -> 오류 데이터 정제
2. 데이터베이스
- 데이터 베이스 기초 및 설계
- 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 데이터
- 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터로 구분
- DBMS : 사용자의 요구에 따라 정보를 생성, DB를 관리해주는 소프트웨어
- 정의 기능, 조작 기능, 제어 기능 존재(DDL, DML, DCL)
- 스키마 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세
- 외부 스키마 : 각 개인의 입장에서 필요로 하는 DB의 논리적 구조적 정의
- 개념 스키마 : DB의 전체적인 논리적 구조, 하나만 존재.
- 내부 스키마 : 물리적 저장장치의 입장에서 본 DB 구조
- DB 설계 순서 : 요구 조건 분석 -> 개념 -> 논리 -> 물리 -> 구현
- 개념적 설계 : 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
- 논리적 설계 : 현실의 자료를 특정 DBMS가 지원하는 논리적 자료 구조로 변환(Mapping)하는 과정
- 물리적 설계 : 논리적 구조이 데이터를 물리적 구조의 데이터로 변환
- 데이터 모델 : 현실 세계의 정보를 체계적으로 표현한 개념적 모형
- 구조 : 데이터 구조 및 정적 성질 표현
- 연산 : 실제 데이터를 처리하는 작업에 대한 명세
- 제약 조건 : 논리적인 제약 조건
- 개체 : 데이터베이스에 표현하려는 것. 현실 세계의 대상체
- 유일한 식별자에 의해 시벽
- 관계 : 1 : 1, 1 : N, N : M으로 구별
- E-R 모델 : 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법
- 사각형(개체), 마름모(관계), 타원(속성), 이중 타원(다중 속성), 밑줄 타원(기본키), 복수 타원(복합 속성), 관계, 선/링크
- 관계형 DB의 릴레이션 구조
- 속성(애트리뷰트)(학번, 이름, 학년 ...), 튜플(가로줄 하나), 도메인(속성의 자료값의 집합)
- 릴레이션 스키마(속성의 집합) + 릴레이션 인스턴스(실제 값)으로 구성
- 튜플의 수를 카디널리티 또는 기수, 대응수라고 함
- 속성의 수를 디그리 또는 차수라고 함
- 후보키, 기본키, 대체키, 슈퍼키, 외래키
- 후보키는 유일성과 최소성을 모두 만족, 기본키는 후보키 중에 나옴. 나머지 후보키는 대체키
- 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키(최소성 만족X, 유일성은 만족)
- 외래키는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
- 무결성 : 참조 무결성과 개체 무결성
- 참조 무결성 : 외래키 값은 Null or 참조 릴레이션의 기본키 값과 동일. 참조 X하는 외래키는 불가.
- 개체 무결성 : 기본키는 Not Null, 중복 X
- 관계대수 : 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어
- 관계연산자
- Select : 시그마(수평 연산, 튜플의 부분집합을 구함)
- Project : 파이(수직 연산, 애트리뷰트의 부분집합을 구함)
- Join : 애도리본(두 개의 릴레이션을 합침, 커티시언 프로덕트 후 셀렉트)
- Division : 나누기(R+S 할 때 R-S 한 속서을 구하는 연산)
- 일반 집합 연산자
- 합집합 = U
- 교집합 = 뒤집은 U
- 차집합 = -
- 교차합 = X
- 관계핵석 : 관계 데이터의 연산을 표현하는 방법
- 이상과 정규/반정규화
- 이상 : 삽입 이상, 삭제 이상, 갱신 이상
- 삽입 이상 : 삽입 불가되는 현상
- 삭제 이상 : 상관없는 값도 함께 삭제
- 갱신 이상 : 일부 튜플의 정보만 갱신, 정보에 불일치성이 생김
- 함수적 종속과 정규화:
- 제 1정규화 : 도메인이 모두 원자갑
- 제 2정규화 : 부분적 함수 종속 제거
- 제 3정규화 : 이행적 함수 종속 제거
- BCNF : 결정자이면서 후보키가 아닌 것 제거
- 제 4정규화 : 다치 종속 제거
- 제 5정규화 : 조인 종속성 이용
- 반정규화 : 정규화된 데이터 모델을 의도적으로 통합/중복/분리하여 정규화 원칙을 위배하는 행위
- 중복테이블 추가
- 집계 테이블 : 집계 데이터를 위한 테이블 생성 + 트리거 설정
- 진행 테이블 : 이력 관리
- 특정 부분만을 포함하는 테이블 추가
- 중복테이블 추가
- 시스템 카탈로그 : 다양한 객체에 관한 정보를 포함하는 Sys DB
- 트랜잭션 : 작업 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산(논리적 기능을 수행하기 위함)
- 원자성, 일관성, 독립성, 영속성
- CRUD 분석 : 프로세스와 테이블 간에 CURD 매트릭스를 만들어서 트랜잭션을 분석하는 것
- INDEX : 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조
- 클러스티드/넌 클러스티드 인덱스
- 클러스티드 인덱스 : 키의 순서에 따라 데이터도 정렬
- 넌 클러스티드 인덱스 : 키 값만 정렬, 데이터는 정렬
- 뷰 : 하나 이상의 기본 테이블로부터 유도된 가상 테이블(CREATE와 DROP 문 사용)
- 파티션 : 대용량의 테이블이나 인덱스를 작은 논리적 단위로 나눈 것
- 범위 분할 : 월별, 일별
- 해시 분할 : 고객번호, 주민버호같이 데이터가 고른 칼럼에 효과적
- 조합 분할 : 범위 분할로 분할하고 다시 해시 함수ㅜ 적용
- 분산 데이터베이스의 목표:
- 위치 투명성 : 단지 논리적 명칭으로 액세스
- 중복 투명성 : 마치 하나의 데이터처럼
- 병행 투명성 : 다수 트랜잭션이 동시 실현해도 결과 영향X
- 장애 투명성 : 장애에도 불구하고 트랜잭션 명확히
3. 데이터 복구 및 보안
- RTO/RPO : Recovery Time Objective 목표 복구 시간, Recovery Point Objective 목표 복구 시점
- 암호화 : 암호화와 복호화 과정을 거침. 개인키 암호 방식과 공개키 암호 방식으로 나뉨
- 접근 통제
- 임의 접근 통제(DAC) : 사용자 신원에 따라 접근 권한 부여
- 강제 접근 통제(MAC) : 주체와 객체 등급 비교 후 접근 권한 부여
- 역할 기반 접근 통제(RBAC) : 사용자 역할에 따라 접근 권한 부여
- 스토리지 : 대용량 데이터 저장하기 위해 서버와 저장장치 연결하는 기술
- DAS : 전용 케이블로 직접 연결
- NAS : 네트워크 통해 연결
- SAN : DAS의 빠른 처리와 NAS의 파일 공유 장점 혼합. 전용 네트워크 별도 구성
4. 자료구조
- 선형 구조
- 배열 : 크기와 형이 동일한 자료들이 순서대로 나열. 정적인 자료 구조
- 선형 리스트
- 스택 : LIFO
- 큐 : FIFO
- 테크
- 비선형 구조
- 그래프 : 정점과 간선의 두 집합, 방향과 무방향 그래프로 나뉨
- 최대 간선수 : 방향 그래프는 N(N-1), 무방향 그래프는 N(N-1)/2
- 트리 : 사이클 없는 그래프
- 맨 위에 있는 노드는 루트노트
- 각 노드에서 뻗어나온 가지의수는 디그리
- 자식이 하나도 없는 노드는 단말 노드
- 레벨은 근 노드가 레벨 1
- 깊이는 노드가 가질 수 있는 최대의 레벨
- Preorder : 루트 -> 왼 -> 오른
- Inorder : 왼 -> 루트 -> 오른
- Postorder : 왼 -> 오른 -> 루트