728x90
2-0
- 데이터 전환 : 운영중인 기존 정보시스템에 축척되어있는 데이터를 추출하여, 새로 개발할 정보시스템에 변환 및 적재하는 과정
- 데이터 전환 계획서 : 데이터 전환 작업에 필요한 모든 계획을 기록하는 문서
- 데이터 검증 : 원천 시스템의 데이터를 목적 시스템의 데이터로 전환하는 과정이 정사적으로 수행되었는지 확인하는 과정
- 오류 데이터 측정 및 정제 : 고품질의 데이터를 운영 및 관리하기 위해 수행하는 것
2-1
- 데이터 저장소 : 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것
- 데이터베이스 : 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 데이터
- 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터
- DBMS : 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어
- 기능 : 정의 기능, 조작 기능, 제어 기능
- 데이터의 독립성 : 1. 논리적 독립성(응용 프로그램과 데이터베이스를 독립),
- 2. 물리적 독립성(응용 프로그램과 물리적 장치를 독립)
- 스키마 : 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
- 외부 스키마 : 각 개인 입장에서 필요로하는 데이터베이스의 논리적 구조를 정의
- 개념 스키마 : 데이터를 종합한 조직의 DB
- 내부 스키마 : 실제로 저장될 레코드 형식, 물리적 저장장치의 입장에서 본 DB 구조
2-2
- 데이터 베이스 설계 : 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 DBMS로 구현하여 사용자들 사용
- 설계시 고려 사항 : 무결성, 일관성, 회복성, 보안성, 효율성, 데이터베이스 확장
- 개념적 설계 : 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정 (정보 모델링)
- 논리적 설계 : 현실 세계에서 발생하는 자료를 특정 DBMS가 원하는 논리적 자료구조로 변환 과정 (데이터 모델링)
- 물리적 설계 : 논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환 과정 (데이터 구조화)
2-3
- 데이터 모델 : 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화,추상화 하여 체계적으로 표현한 개념적 모형
- 개념적 데이터 모델 : 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
- 논리적 데이터 모델 : 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정
- 데이터 모델 구성요소
- 개체 : 데이터베이스에서 표현하려는 것으로, 사람이 생각하는 개념이나 정보단위 같은 현실세계의 대상체
- 속성 : 데이터베이스를 구성하는 가장 작은 논리적 단위, 속성의 수를 디그리 또는 차수라고함
- 기본 속성 : 업무 분석을 통해 정의한 속성
- 설계 속성 : 원래 업무상 존재하지 않고 설계과정에서 도출해내는 속성
- 파생 속성 : 다른 속성으로 부터 변형이나 영향을 받아 발생하는 속성
- 관계 : 개체와 개체 사이의 논리적인 연결
- 관계의 형태 : 1:1, 1:N, N:M
- 관계의 종류 : 종속 관계, 중복 관계, 재귀 관계, 배타 관계
- 식별자 : 하나의 개체내에서 인스턴스를 유일하게 구분할 수 있는 구분자
- 후보식별자 : 개체에서 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성 집합
- E-R(개체-관계)모델 : 개체와 개체간의 관계를 기본 요소로 이용하여, 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법
- E-R 다이어그램 :
2-4
- 관계형 데이터베이스 : 2차원적인 표를 이용해서 데이터 상호 관계를 정의하는 데이터베이스
- 관계형 데이터베이스를 구성하는 개체나 관계를 모두 릴레이션 이라는 표로 표현한다.
- ex) 학생 릴레이션
학번 | 이름 | 학년 | 신장 | 학과 |
20171000 | 홍길동 | 3 | 175 | 컴퓨터공학과 |
20181001 | 이순신 | 2 | 180 | 정보보호학과 |
20191005 | 유관순 | 1 | 160 | 컴퓨터공학과 |
20141006 | 안창호 | 4 | 170 | 정보보호학과 |
- 튜플 : 릴레이션을 구성하는 각각의 행, 튜플의 수를 카디널리티 또는 기수 라고함.
- 속성 : 데이터베이스를 구성하는 가장 작은 논리적 단위, 속성의 수를 디그리라고 함.
- 도메인 : 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자 값들의 집합
- 키 : DB에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 속성
- 후보키 : 릴레이션을 구성하는 속성들 중에서 유일성과 최소성을 만족하는 키
- 기본키 : 후보키 중에서 선정된 주키로, 중복된 값을 가질 수 없다.
- 대체키 : 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키
- 슈퍼키 : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 유일성은 만족하지만 최소성은 만족 X
- 외래키 : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
- 무결성 : DB에 저장된 데이터 값과 그것이 표현하는 현실세계의 실제 값이 일치하는 정확성을 의미.
- 개체무결성 : 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복값을 가질 수 없다는 규정
- 도메인무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정
- 참조무결성 : 외래키 값은 NULL이거나 참조 릴레이션 기본키 값과 동일해야 한다
- 관계대수 : 관계형 DB에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는 가를 기술하는 절차적 언어
- 순수관계 연산자 : SELECT(σ), PROJECT(π), JOIN(▷◁), DIVISION(÷)
- 일반관계 연산자 : UNION, INTERSECT, DIFFERENCE, CARTESIAN PRODUCT
- 일반집합 연산자 : 합집합, 교집합, 차집합, 교차곱
- 관계해석 : 관계 데이터의 연산을 표현하는 방법, 원하는 정보를 정의할 때는 계산수식을 이용
- 정규화 : 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정
- 이상의 개념 및 종류
- 정규화를 거치지 않으면 데이터들이 불필요하게 중복되어 예기치 못한 곤란한 현상이 발생. 이 현상
- 삽입이상 : 데이터 삽입 시 원하지 않는 값들도 함께 삽입
- 삭제이상 : 한 튜플을 삭제할 때 상관 없는 값들도 함께 삭제
- 갱신이상 : 속성 값을 갱신할 때 일부 정보만 갱신
- 정규화과정
- 도 부 이 결 다 조
- 1NF : 도메인이 원자값
- 2NF : 부분적 함수 종속성 제거
- 3NF : 이행적 함수 족속성 제거
- BCNF : 결정자 이면서 후보키가 아닌 것 제거
- 4NF : 다치 종속성 제거
- 5NF : 조인 종속성 제거
- 이상의 개념 및 종류
- 반정규화
- 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위이다.
- 반정규화 방법
- 테이블 통합 : 두 개의 테이블이 조인되는 경우가 많아 하나의 테이블로 통합
- 테이블 분할 : 수평분할, 수직분할
- 중복 테이블 추가 : 데이터를 추출해서 사용하거나, 다른 서버에 저장된 테이블 이용시 중복 테이블을 추가하여 작업의 효율성 향상
- 중복 속성 추가 : 조인해서 데이터를 처리할 때 경로를 단축하기 위해서 속성을 하나 더 추가
- 시스템 카탈로그
- 시스템 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터 베이스
- 시스템 카탈로그에 저장된 정보를 메타 데이터라고함.
- 테이블의 종류
- 일반 테이블 : 표준 테이블
- 클러스터드 인덱스 테이블 : 기본키나 인덱스키의 순서에 따라 데이터 저장
- 파티셔닝 테이블 : 파티션으로 나눈 테이블
- 외부 테이블 : 일반 테이블처럼 이용가능한 외부 테이블
- 임시 테이블 : 트랜잭션이나 세션별로 처리하는 테이블
- 트랜잭션 : 데이터베이스의 상태를 변환 시키는 하나의 논리적인 기능을 수행하기 위한 작업단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들
- 트랜잭션의 특성
- 원자성(Atomicity) : 트랜잭션의 연산은 모두 DB에 반영되도록 완료(COMMIT)되던지, 아니면 전혀 반영되지 않도록 복구(ROLLBACK)되어야 함.
- 일관성(Consistency) : 실행을 성공하면 언제나 일관성 있는 DB 상태로 변환
- 독립성(Isolation) : 둘 이상의 트랜잭션 동시 실행되는 경우 다른 트랜잭션 연산이 끼어들 수 없음
- 지속성(Durability) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함.
- CRUD분석 : CREATE, READ, UPDATE, DELETE를 모아 만든 용어
2-5
- 인덱스 : 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조
- 클러스터드 인덱스 : 인덱스 키의 순서에 따라 데이터가 정렬되어 저장
- 넌 클러스터드 인덱스 : 키 값만 정렬되어 있을 뿐, 실제 데이터는 정렬 X
- 트리기반 인덱스 : 인덱스를 저장하는 블록들이 트리구조를 이루고 있는 것
- 비트맵 인덱스 : 인덱스 컬럼의 데이터를 0 or 1로 변환하여 인덱스 키로 사용
- 함수 기반 인덱스 : 컬렘에 특정함수나 수식을 적용하여 산출된 값을 사용
- 비트맵 조인 인덱스 : 다수의 조인된 객체로 구성된 인덱스
- 도메인 인덱스 : 개발자가 필요한 인덱스를 직접 만들어서 사용하는 인덱스
- 뷰 :사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로 유도된, 이름을 가지는 가상 테이블
- 특징
- 뷰는 유도된 테이블이기 때문에 기본 테이블과 유사함.
- 장점 : 독립성, 상이한 응용도구 지원, 관리 용이, 자동보안 제공
- 단점 : 독립적인 인덱스 X, 뷰 정의 변경 X, 연산 제약이 따름
- 클러스터 : Data 저장시 데이터 액세스 효율을 향상 시키기 위해 동일한 데이터 블록에 저장하는 물리적 저장방법
- 파티션 : 대용량 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것
- 범위분할 : 지정한 열의 값을 기준으로 범위를 지정하여 분할
- 해시분할 : 해시함수를 적용한 결과 값에 따라 데이터를 분할
- 조합분할 : 범위 분할로 분할 후 해시 함수를 적용하여 다시 분할
- 목록분할 : 지정한 열 값에 대한 목록을 만들어 이를 기준으로 분할
- 라운드로빈분할 :레코드를 균일하게 분배하는 방식
- 분산 데이터베이스 : 논리적으로 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터 베이스
- 분산 DB의 목표 : 위치투명성, 중복투명성, 장애투명성, 병행투명성
- 데이터베이스 이중화 : 시스템 오류로 인한 DB 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 DB를 복제하여 관리
- 이중화의 분류
- Eager 기법 : 트랜잭션 수행 중 데이터 변경 발생하면 즉시 전달&적용 하는 기법
- Lazy 기법 : 트랜잭션 수행 종료시, 변경 사실을 트랜잭션 작성 후 전달 하는 기법
- 클러스터링 : 두 대 이상의 서버를 하나의 서버처럼 운영
- 데이터베이스 보안 : 데이터베이스의 일부분 또는 전체에 대해서 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용
- 암호화 : 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환
- 방식으로는 개인키 암호화 방식, 공개키 암호화 방식 이 있다.
- 접근통제 : 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제안한다.
- 임의 접근 통제 (DAC) : 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여함.
- 강제 접근 통제 (MAC) : 주체와 객체의 등급을 비교하여 접근 권한을 부여함.
- 역할 기반 접근 통제 (RBAC) : 사용자의 역할에 따라 접근 권한을 부여함
- 데이터베이스 백업 : 전산 장비의 장애에 대비하여 DB에 저장된 데이터를 보호하고 복구하기 위한 작업.
- 복구 알고리즘
- NO-UNDO/REDO : DB 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘
- UNDO/NO-REDO : DB 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘
- UNDO/REDO : DB 버퍼의 내용을 동기/비동기적으로 갱신한 경우의 복구 알고리즘
- NO-UNDO/NO-REDO : DB 버퍼의 내용을 동기/비동기적으로 갱신한 경우의 복구 알고리즘
- 복구 알고리즘
- 스토리지 : 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술
- DAS : 서버와 저장장치를 전용 케이블로 직접 연결
- NAS : 서버와 저장장치를 네트워크를 통해 연결
- SAN : DAS와 NAS의 장점을 혼합하여, 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성
2-6
- 자료구조 : 자료를 기억장치의 공간 내에 저장하는 방법과 자료간의 관계, 처리 방법등을 연구분석하는 것
- 선형구조 : 배열, 선형리스트, 스택, 큐, 데크
- 배열 : 크기와 형이 동일한 자료들이 순서대로 나열된 자료의 집합
- 연속리스트 : 배열과 같이 연속되는 기억장소에 저장되는 자료구조
- 연결리스트 : 자료들을 임의의 기억공간에 기억시키되, 노드의 포인터 부분을 이용하여 서로 연결시킨 자료구조
- 스택 : 리스트의 한쪽 끝으로만, 자료의 삽입,삭제 작업이 이루어지는 자료구조, 후입선출
- 큐 : 리스트의 한쪽에서는 삽입 작업, 다른 한쪽에서는 삭제 작업이 이루어지는 자료구조, 선입선출
- 비선형구조 : 트리, 그래프
- 그래프 : 정점과 간선의 두집합으로 이루어지는 자료구조
- 트리 : 정점(Node)와 선분(Branch)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
- 노드 : 트리의 기본 요소로서 자료 항목과 다른 항목에 대한 가지를 합친 것
- ex) A,B,C,D,E,F,G...
- 근노드 : 트리 맨위에 있는 노드 ex) A
- 디그리 : 각 노드에서 뻗어나온 가지의 수 ex) A=3, B=2, C=1, D=3
- 단말노드 : 자식이 하나도 없는 노드 ex) K,L,F,G,M,I,J
- 자식노드 : 어떤 노드에 연결된 다음 레벨의 노드들 ex) D의 자식노드(H,I,J)
- 부모노드 : 어떤 노드에 연결된 이전 레벨의 노드들 ex) E,F의 부모노드(B)
- 형제노드 : 동일한 부모를 갖는 노드들 ex) H의 형제 노드(I,J)
- 트리의 운행법
- Preorder 운행 (전위 순회) : Root - Left - Right 순서
- Inorder 운행 (중위 순회) : Left - Root - Right 순서
- Postorder 운행 (후위 순회) : Left - Right - Root 순서
- 노드 : 트리의 기본 요소로서 자료 항목과 다른 항목에 대한 가지를 합친 것
- 선형구조 : 배열, 선형리스트, 스택, 큐, 데크
- 수식의 표기법
- 전위 표기법 ( 연산자 - Left - Right)
- 중위 표기법 (Left - 연산자 - Right)
- 후위 표기법 (Left - Right - 연산자)
- 정렬
- 삽입 정렬 : 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬.
- 복잡도 : O(n^2)
- 초기 상태 : 8 5 6 2 4
- 1회전 : 5 8 6 2 4
- 2회전 : 5 6 8 2 4
- 3회전 : 2 5 6 8 4
- 4회전 : 2 4 5 6 8
- 쉘 정렬 : 삽입 정렬을 확장한 개념, 복잡도 : O(n^2)
- 선택 정렬 : n개의 레코드 중에서 최소 값을 찾아 첫번째, 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두번째 레코드 위치에 놓는 방식을 반복하여 정렬.
- 복잡도 : O(n^2)
- 초기 상태 : 8 5 6 2 4
- 1회전 : 5 8 6 2 4 - > 5 8 6 2 4 -> 2 8 6 5 4
- 2회전 : 2 6 8 5 4 -> 2 5 8 6 4 -> 2 4 8 6 5
- 3회전 : 2 4 6 8 5 -> 2 4 5 8 6
- 4회전 : 2 4 5 6 8
- 버블 정렬 : 주어진 파일에 인접한 두개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환
- 복잡도 : O(n^2)
- 초기 상태 : 8 5 6 2 4
- 1회전 : 5 8 6 2 4 -> 5 6 8 2 4 -> 5 6 2 8 4 -> 5 6 2 4 8
- 2회전 : 5 6 2 4 8 -> 5 2 6 4 8 -> 5 2 4 6 8
- 3회전 : 2 5 4 6 8 -> 2 4 5 6 8
- 4회전 : 2 4 5 6 8
- 퀵정렬 : 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬하는 방법으로, 키를 기준으로 작은 값은 왼쪽에, 큰 값은 오른쪽 서브파일로 분해한다. 복잡도 : O(nlogn)
- 힙정렬 : 전이진 트리를 이용한 정렬 방식. 복잡도 : O(nlogn)
- 2- way 합병정렬 : 이미 정렬되어 있는 2개의 파일을 한 개의 파일로 합병하는 정렬방식. 복잡도 : O(nlogn)
- 기수정렬 : 큐를 이용하여 자릿수별로 정렬하는 방식. 복잡도 : O(dn)
728x90
'정보처리기사 실기' 카테고리의 다른 글
정보처리기사 실기 : 6장 화면 설계(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |
---|---|
정보처리기사 실기 : 5장 인터페이스 구현(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |
정보처리기사 실기 : 4장 서버 프로그램 구현(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |
정보처리기사 실기 : 3장 통합구현(통합모음 : 중요 키워드 정리) (0) | 2022.08.12 |
정보처리기사 실기 : 1장 요구사항 확인(통합모음 : 중요 키워드 정리) (0) | 2022.08.11 |