본문 바로가기

정보처리기사

[정보처리기사] 실기 노트 - 데이터 입출력 구현 1

  1. 데이터베이스 개요
    1. 데이터 저장소
      1. 데이터 저장소
      2. 논리 데이터 저장소
      3. 물리 데이터 저장소
    2. 데이터베이스 (Database)
      1. 데이터베이스: 여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터
      2. 데이터 베이스의 정의
        1. 통합된 데이터 (Integrated Data)
        2. 저장된 데이터 (Stored Data)
        3. 운영 데이터 (Operational Data)
        4. 공용 데이터 (Shared Data)
    3. DBMS (DataBase Management System; 데이터베이스 관리 시스템)
      1. DBMS: 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어
      2. DBMS의 필수 기능 3가지: 정의(Definition) 기능, 조작(Manipulation) 기능, 제어(Control) 기능
    4. 데이터의 독립성: 논리적 독립성, 물리적 독립성
    5. 스키마 (Schema)
      1. 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
      2. 스키마의 종류: 외부 스키마, 개념 스키마, 내부 스키마
    6. 데이터베이스 설계
      1. 데이터베이스 설계 개념
        1. 데이터베이스 설계: 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것
      2. 데이터베이스 설계 시 고려사항: 무결성(Integrity), 일관성(Consistency), 회복(Recovery), 보안(Security), 효율성(Efficiency), 데이터베이스 확장(Extensibility)
      3. 데이터베이스 설계 순서
        1. 요구 조건 분석
        2. 개념적 설계 (정보 모델링, 개념화)
        3. 논리적 설계 (데이터 모델링)
        4. 물리적 설계 (데이터 구조화)
        5. 데이터베이스 구현
  2. 데이터 모델 개요
    1. 데이터 모델의 개념
      1. 데이터 모델: 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형
    2. 데이터 모델 종류
      1. 개념적 데이터 모델: 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
      2. 논리적 데이터 모델: 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정
      3. 물리적 데이터 모델: 논리 데이터 모델을 DBMS의 특성 및 성능을 고려하여 구체화시킨 모델
    3. 데이터 모델에 표시할 요소: 구조 (Structure), 연산 (Operation), 제약 조건 (Constraint)
    4. 데이터 모델의 구성 요소
      1. 개체 (Entity): 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
      2. 속성 (Attribute): 데이터베이스를 구성하는 가장 작은 논리적 단위
      3. 관계 (Relationship): 개체와 개체 사이의 논리적인 연결을 의미
    5. E-R(개체-관계) 모델
      1. E-R(Entity-Relationship, 개체-관계) 모델의 개념
        1. E-R모델: 개체와 개체 간의 관계를 기본 요소로 이용하여 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법
      2. E-R 다이어그램: 사각형, 마름모, 타원, 이중 타원, 밑줄 타원, 복수 타원, 관계, 선, 링크 등 기호 사용
  3. 관계형 데이터베이스의 구조
    1. 관계형 데이터베이스의 개념
      1. 관계형 데이터베이스: 2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 데이터베이스
    2. 관계형 데이터베이스의 구조
      1. 릴레이션 (Relation): 데이터들을 표(Table)의 형태로 표현한 것으로, 구조를 나타내는 릴레이션 스키마 (Relation Schema) 값들을 릴레이션 인스턴스 (Relation Instance)로 구성
      2. 튜플 (Tuple): 릴레이션을 구성하는 각각의 행을 말함
      3. 속성 (Attribute): 데이터베이스를 구성하는 가장 작은 논리적 단위
      4. 도메인 (Domain): 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자 (Atomic) 값들의 집합
    3. 관계형 데이터 모델 (RelationData Model): 2차원적인 표 (Table)를 이용해서 데이터 상호 관계를 정의한느 DB 구조
    4. 관계형 데이터베이스의 제약 조건
      1. 키 (Key)
        1. 키의 개념
          1. 키: 데이터베이스에서 조건에 맞고하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성
        2. 키의 종류: 후보키 (Candidate Key), 기본키 (Primary Key), 대체키 (Alternate Key), 슈퍼키 (Super Key), 외래키 (Foreign Key)
      2. 무결성 (Integrity)
        1. 무결성: 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미
        2. 무결성의 종류: 개체 무결성, 참조 무결성, 도메인 무결성, 사용자 정의 무결성, NULL 무결성, 고유 무결성, 키 무결성, 관계 무결성
        3. 데이터 무결성 강화: 애플리케이션, 데이터베이스 트리거, 제약 조건
  4. 관계대수와 관계해석
    1. 관계대수 (Relational Algebra)
      1. 관계대수의 개념
        1. 관계대수: 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어
      2. 순수 관계 연산자: Select, Project, Join, Division
      3. 일반 집합 연산자: 수학적 집한 이론에서 사용하는 연산자 합집합 (Union), 교집합 (Intersection), 차집합 (Difference), 교차곱 (Cartesian Product)
    2. 관계해석 (Relational Calulus)
      1. 관계해석: 관계 데이터의 연산을 표현하는 방법
      2. 관계 데이터 모델의 제안자인 코드 (E. F. Codd)가 수학의 Predicate Calculus (술어 해석)에 기반을 두고 관계 데이터베이스를 위해 제안
      3. 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지님
      4. 원하는 정보를 정의할 때는 계산 수식을 사용