rustandbone Developer

정보처리기사 실기 대비_파트2_1

정보처리기사 실기 대비

2. 데이터 입출력 구현

Section34 데이터베이스 개요

  1. 데이터저장소
    1. 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미
    2. 논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것
    3. 물리 데이터저장소는 논리 데이터저장소를 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 실제 저장장치에 저장한 것을 의미
  2. 데이터베이스
    1. 여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고
    2. 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터
    3. 통합된 데이터 : 자료의 중복을 배제한 데이터의 모임
    4. 저장된 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
    5. 운영 데이터 : 조직의 고유한 업무를 수행하는 데 반드시 필요한 자료
    6. 공용 데이터 : 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료
  3. DBMS(데이터베이스 관리 시스템)
    1. 사용자 요구에 따라 정보 생성, 데이터베이스 관리해주는 소프트웨어
    2. 데이터 종속성, 중복성 문제 해결하기 위해 제안됨
    3. 필수 기능
      1. 정의 기능 : 데이터의 형과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능
      2. 조작 기능 : 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능
      3. 제어 기능 : 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능
  4. 데이터의 독립성
    1. 논리적 독립성 : 응용 프로그램과 데이터베이스를 독립시킴으로써, 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 영향을 받지 않음
    2. 물리적 독립성 : 응용 프로그램과 보조기억장치 같은 물리적 장치를 독립시킴으로써, 디스크를 추가/변경하더라도 응용 프로그램은 영향을 받지 않음
  5. 스키마
    1. 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
    2. 외부 스키마 : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
    3. 개념 스키마 : 데이터베이스의 전체적인 논리적 구조, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재함
    4. 내부 스키마 : 물리적 저장장치의 입장에서 본 데이터베이스 구조. 실제로 저장될 레코드의 형식. 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타냄

Section35 데이터베이스 설계

  1. 데이터베이스 설계
    1. 사용자 요구 분석하여 컴퓨터에 저장할 수 있는 데이터베이스 구조에 맞게 변형한 후 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것
  2. 데이터베이스 설계 시 고려사항
    1. 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야 함
    2. 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함
    3. 회복 : 시스템에 장애가 발생했을 때 장애 발생 직전의 상태로 복구할 수 있어야 함
    4. 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함
    5. 효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함
    6. 데이터베이스 확장 : 데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 함
  3. 데이터베이스 설계 순서
    1. 요구 조건 분석 : 요구 조건 명세서 작성
    2. 개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R 모델
    3. 논리적 설계 : 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계
    4. 물리적 설계 : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
    5. 구현 : 목표 DBMS의 DDL로 데이터베이스 생성, 트랜잭션 작성
  4. 요구 조건 분석
    1. 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악하는 것
    2. 데이터베이스 사용자에 따른 수행 업무와 필요한 데이터의 종류, 용도, 처리 형태, 흐름, 제약 조건 등을 수집
    3. 수집된 정보를 바탕으로 요구 조건 명세 작성
  5. 개념적 설계(정보 모델링, 개념화)
    1. 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고
    2. 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
    3. 개념 스키마 모델링과 트랜잭션 모델링 병행 수행
    4. 요구 분석에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성한다
    5. DBMS에 독립적인 개념 스키마를 설계한다
  6. 논리적 설계(데이터 모델링)
    1. 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(mapping)시키는 과정
    2. 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화한다
    3. 개념적 설계가 개념 스키마를 설계하는 단계라면, 논리적 설계에서는 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계
    4. 트랜잭션의 인터페이스 설계
  7. 물리적 설계(데이터 구조화)
    1. 논리적 설계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
    2. 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정
    3. 저장 레코드의 형식, 순서, 접근 경로, 조회 집중 레코드 등의 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사
  8. 데이터베이스 구현
    1. 논리적 설계와 물리적 설계에서 도출된 데이터베이스 스키마를 파일로 생성하는 과정
    2. 사용하려는 특정 DBMS의 DDL을 이용하여 데이터베이스 스키마를 기술한 후 컴파일하여 빈 데이터베이스 파일을 생성한다
    3. 응용 프로그램을 위한 트랜잭션을 작성한다
    4. 데이터베이스 접근을 위한 응용 프로그램을 작성한다

Section36 데이터 모델의 개념

  1. 데이터 모델
    1. 현실 세계의 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화하여 체계적으로 표현한 개념적 모형
    2. 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구들로 구성
    3. 데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표한하기 위한 지능적 도구로 사용
    4. 데이터 모델 구성 요소
      1. 개체
      2. 속성
      3. 관계
    5. 데이터 모델 종류
      1. 개념적 데이터 모델
      2. 논리적 데이터 모델
      3. 물리적 데이터 모델
    6. 데이터 모델에 표시할 요소
      1. 구조
      2. 연산
      3. 제약 조건
  2. 개념적 데이터 모델
    1. 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
    2. 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현
    3. 개념적 데이터 모델은 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기에 정보 모델이라고도 함
    4. 대표적인 개념적 데이터 모델로 E-R모델이 있음
  3. 논리적 데이터 모델
    1. 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정
    2. 논리적 데이터 모델은 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현
    3. 단순히 데이터 모델이라고 하면 논리적 데이터 모델 의미
    4. 특정 DBMS는 특정 논리적 데이터 모델 하나만 선정하여 사용
    5. 논리적 데이터 모델은 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분
  4. 데이터 모델에 표시할 요소
    1. 구조
      1. 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질 표현
    2. 연산
      1. 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구
    3. 제약 조건
      1. 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

Section37 데이터 모델의 구성 요소

  1. 개체(Entity)
    1. 개체는 데이터베이스에 표현하려는 것, 개념이나 정보 단위 같은 현실 세계의 대상체
    2. 개체는 실세계에 독립적으로 존재하는 유형, 무형의 정보. 서로 연관된 몇 개의 속성을 구성됨
    3. 독립적으로 존재하거나 그 자체로서도 구별이 가능, 유일한 식별자(Unique Identifier)에 의해 식별됨
    4. 다른 개체와 하나 이상의 관계가 있음
    5. 구성 요소
      1. 속성 : 개체가 가지고 있는 특성
      2. 개체 타입 : 속성으로만 기술된 개체의 정의
      3. 개체 인스턴스 : 개체를 구성하고 있는 각 속성들이 값을 가져 하나의 개체를 나타내는 것으로 개체 어커런스(Occurrence)라고 함
      4. 개체 세트 : 개체 인스턴스의 집합
  2. 속성(Attribute)
    1. 데이터베이스를 구성하는 가장 작은 논리적 단위
    2. 파일 구조상의 데이터 항목 또는 데이터 필드에 해당
    3. 속성은 개체를 구성하는 항목으로 개체의 특성을 기술
    4. 속성의 수를 디그리(Degree) 또는 차수라고 함
    5. 속성은 속성의 특성과 개체 구성 방식에 따라 분류
  3. 속성의 특성에 따른 분류
    1. 기본 속성(Basic Attribute)
      1. 업무 분석을 통해 정의한 속성
      2. 속성 중 가장 많고 일반적
      3. 업무로부터 분석한 속성이라도 업무상 코드로 정의한 속성은 기본 속성에서 제외됨
    2. 설계 속성(Designed Attribute)
      1. 원래 업무상 존재하지 않고 설계 과정에서 도출해내는 속성
      2. 업무에 필요한 데이터 외에 데이터 모델링을 위해 업무를 규칙화하려고 속성을 새로 만들거나 변형하여 정의하는 속성
    3. 파생 속성(Derived Attribute)
      1. 다른 속성으로부터 계산이나 변형 등의 영향을 받아 발생하는 속성
      2. 파생 속성은 되도록 적은 수를 정의하는 것이 좋음
  4. 속성의 개체 구성 방식에 따른 분류
    1. 기본키 속성(Primary Key Attribute)
      1. 개체를 유일하게 식별할 수 있는 속성
    2. 외래키 속성(Foreign Key Attribute)
      1. 다른 개체와의 관계에서 포함된 속성
    3. 일반 속성
      1. 개체에 포함되어 있고 기본키, 외래키에 포함되지 않은 속성
  5. 관계(Relationship)
    1. 관계는 개체와 개체 사이의 논리적인 연결을 의미
    2. 관계에는 개체 간의 관계와 속성 간의 관계가 있음
  6. 관계의 형태
    1. 일 대 일
      1. 개체 집합 A의 각 원소가 개체 집합 B의 원소 한 개와 대응하는 관계
    2. 일 대 다
      1. 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계
    3. 다 대 다
      1. 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고, 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러 개와 대응하는 관계
  7. 관계의 종류
    1. 종속 관계
      1. 두 개체 사이의 주종 관계를 표현한 것
      2. 식별 관계와 비식별 관계가 있음
    2. 중복 관계
      1. 두 개체 사이에 2번 이상의 종속 관계가 발생하는 관계
    3. 재귀 관계
      1. 개체가 자기 자신과 관계를 갖는 것으로, 순환 관계(Recursive Relationshop)라고도 함
    4. 배타 관계
      1. 개체의 속성이나 구분자를 기준으로 개체의 특성을 분할하는 관계로, 배타 AND 관계와 배타 OR 관계로 구분