카테고리 없음

정보처리기사 - 2단원 데이터 입출력 구현

백코딩 2023. 10. 2. 11:31
728x90

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 : 왼 -> 오른 -> 루트
728x90