정보처리기사 실기

정보처리기사 실기 : 2장 데이터 입,출력 구현(통합모음 : 중요 키워드 정리)

2022. 8. 12. 15:42
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 다이어그램 :

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
'정보처리기사 실기' 카테고리의 다른 글
  • 정보처리기사 실기 : 5장 인터페이스 구현(통합모음 : 중요 키워드 정리)
  • 정보처리기사 실기 : 4장 서버 프로그램 구현(통합모음 : 중요 키워드 정리)
  • 정보처리기사 실기 : 3장 통합구현(통합모음 : 중요 키워드 정리)
  • 정보처리기사 실기 : 1장 요구사항 확인(통합모음 : 중요 키워드 정리)
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
Developer Story HouseIT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • it
  • 정보보안전문가
  • DB
  • 앱개발자
  • css
  • 개발블로그
  • html
  • 알고리즘
  • 웹페이지
  • 정보처리기사필기
  • 백엔드
  • jquery
  • IT개발자
  • 웹개발자
  • java
  • React
  • 데이터베이스
  • IT자격증공부
  • IT자격증
  • jsp
  • 웹개발
  • 정보처리기사
  • 개발자
  • JavaScript
  • 프론트엔드
  • 백준
  • 코딩테스트
  • DBA
  • ajax
  • 자바

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
정보처리기사 실기 : 2장 데이터 입,출력 구현(통합모음 : 중요 키워드 정리)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.