Study/정보처리기사

정보처리기사 실기 2장. 데이터 입출력 구현_2

edoyyoy 2023. 9. 20. 17:20

2-4. 데이터베이스 개요

• 데이터 저장소 

 1. 논리 데이터 저장소  논리적 구조로 조직화   데이터 및 데이터관의 연관성, 제약조건 식별
 2. 물리 데이터 저장소   실제 저장장치에 저장  소프트웨어 환경의 물리적 특성 고려

 

데이터 베이스 (Database)

   공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터

   1. 통합된 데이터 (Integrated Data) 자료의 중복 배제
   2. 저장된 데이터 (Stored Data) 저장 매체에 저장된 자료
   3. 운영 데이터 (Operational Data) 조직의 고유 업무 수행 시 반드시 필요한 자료
(단순 입출력 및 임시 자료는 운영데이터가 아님)
   4. 공용 데이터 (Shared Data) 여러 응용 시스템이 공동으로 소유하는 자료

 

DBMS (DataBase Management System : 데이터베이스 관리 시스템)

   사용자의 요구에 따라 정보를 생성해주고, 데이터를 관리해주는 소프트웨어 

   종속성과 중복성 문제를 해결하기 위해 제안된 시스템

 

   - DBMS의 필수 기능

     1. 정의 기능 (Definition) 데이터의 형과 구조, 이용 방식, 제약 조건 등 명시
     2. 조작 기능 (Manipulation) 데이터의 검색, 갱신, 삽입, 삭제 등 조작
     3. 제어 기능 (Control) 데이터의 무결성, 보안, 권한 검사, 병행제어

 

 데이터의 독립성

   1. 논리적 독립성 응용 프로그램 ↔︎ 데이터 베이스 데이터의 논리적 구조를 변경시켜도 응용프로그램은 영향받지 않음
   2. 물리적 독립성 응용 프로그램 ↔︎ 보조기억장치 (물리장치) 디스크를 추가/변경하더라도 응용프로그램은 영향받지 않음

 

스키마 (Schema)

 데이터 베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것 → 외부 / 내부 / 개념

   1. 외부 스키마  개인의 입장에서 필요한 데이터베이스의 논리적 구조
   2. 개념 스키마  데이터베이스의 전체적인 논리적 구조
 조직 전체의 데이터 베이스로, 단 하나만 존재함
   3. 내부 스키마  물리적 저장장치의 입장에서 본 데이터베이스 구조
 예) 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등

 

 


2-5. 데이터 베이스 설계

 데이터 베이스 설계 시 고려사항

   1. 무결성   연산 후 정해진 제약 조건을 항상 만족
   2. 일관성  데이터 응답이 처음부터 끝까지 변함없이 일정
   3. 회복  시스템 장애 발생시 장애 발생 직전의 상태로 복구 가능
   4. 보안  데이터 노출 및 손실로부터 보호 가능
   5. 효율성  응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등
   6. 데이터베이스 확장  운영에 영향 없이 지속적으로 데이터 추가 가능

 

데이터 베이스 설계 순서

   요구 조건 분석 → 개념적 설계논리적 설계물리적 설계 → 구현

   1단계. 요구 조건 분석 요구 조건 명세서 작성
   2단계. 개념적 설계 개념 스키마, 트랜잭션 모델링, E-R 모델
   3단계. 논리적 설계 논리 스키마 설계, 트랜잭션 인터페이스 설계
   4단계. 물리적 설계 물리적 구조의 데이터로 변환
   5단계. 구현 데이터 베이스 생성, 트랜잭션 작성

 

 요구조건 분석

   데이터 베이스를 사용할 사람들로부터 필요한 용도를 파악

      ‣ 수행 업무와 필요한 데이터의 종류, 용도, 제약 조건 등 수집 → 요구 조건 명세 작성

 

개념적 설계 (정보 모델링, 개념화)

   현실 세계의 인식 → 추상적인 개념 표현

   현실 세계에 대한 인식을 추상적인 개념으로 표현하는 과정 

      ‣ 개념 스키마 모델링과 트랜잭션 모델링 병행 수행

      ‣ 요구 조건 명세 → E-R 다이어크램으로 작성

      ‣ DBMS에 독립적인 개념 스키마 설계

 

논리적 설계 (데이터 모델링)

   추상적 자료 → 논리적 자료 구조

   현실 세계에 발생하는 자료를 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정 → Mapping 과정

      ‣ 개념 스키마를 평가 및 정제하고 DBMS에 따라 논리적 스키마를 설계

      ‣ 트랜잭션의 인터페이스 설계

      ‣ 정규화 → 스키마 평가 및 정제

 

물리적 설계 (데이터 구조화)

   논리적 구조 데이터 → 물리적 구조 데이터

   논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환하는 과정

      ‣ 데이터 베이스 파일의 저장 구조 및 액세스 경로 결정 → 처리 성능

      ‣ 데이터가 컴퓨터에 저장되는 방법 묘사

 

데이터 베이스 구현

   데이터베이스 스키마 → 파일

   논리적 설계와 물리적 설계에서 도출된 데이터베이스 스키마를 파일로 생성

      ‣ DBMS의 DDL(데이터 정의어)을 이용하여 데이터베이스 파일 생성

      ‣ 응용 프로그램을 위한 트랜잭션 작성

      ‣ 데이터베이스 접근을 위한 응용 프로그램 작성

 

 


2-6. 데이터 모델의 개념

 데이터 모델

   현실 세계의 정보들을 체계적으로 표현한 개념적 모형

   데이터의 구조(Schema)를 논리적으로 표현하기 위한 지능적 도구

 

 

 데이터 모델 구성 요소 : 개체, 속성, 관계

   1. 체 (Entity)

      데이터 베이스에 표현하려는 것, 현실 세계의 대상체 

      ‣ 현실 세계에 독립적으로 존재하는 유형, 무형의 정보 (사람, 집, 차 / 여행, 음악, 취미)

      ‣ 서로 연관된 몇 개의 속성으로 구성

      ‣ 유일한 식별자(Unique Identifier)에 의해 식별 

      ‣ 다른 개체와 하나 이상의 관계 존재


   2. 속성 (Attribute)

      데이터 베이스를 구성하는 가장 작은 논리적 단위

      ‣ 파일 구조상의 데이터 항목(필드)

      ‣ 개체의 특성을 기술

      ‣ 속성의 수 = 차수, 디그리(Degree)

      

     - 속성의 특성에 따른 분류

        1. 기본 속성 (Base Attribute)

            업무 분석을 통해 정의한 속성 

            ‣ 가장 많고 일반적

            ‣ 단, 업무로부터 분석한 속성이라도 업무상 코드로 정의한 속성은 기본 속성에서 제외

            ‣ 예) 자동차명, 제조일, 연비

 

        2. 설계 속성 (Designed Attribute)

            설계 과정에서 도출해내는 속성

            ‣ 업무를 규칙화하기 위해 새로 만들거나 변형하여 정의하는 속성

            ‣ 예) 자동차 코드

 

        3. 파생 속성 (Derived Attribute)

            다른 속성으로부터 계산이나 변형을 받아 발생하는 속성

            ‣ 정합성 유지 시 유의사항이 많으므로 적은수를 정의하는 것이 좋음

            ‣ 예) 총 판매 수량, 총 판매 금액

 

     - 속성의 특성에 따른 분류

        1. 기본키 속성 (Primary Key Attribute)  개체를 유일하게 식별할 수 있는 속성
        2. 외래키 속성 (Foreign Key Attribute)  다른 개체와의 관계에서 포함된 속성
        3. 일반 속성  개체에 포함되어 있고 기본키, 외래키에 포함되지 않은 속성

   3. 관계 (Relationship)

      개체와 개체 사이의 논리적인 연결

       ‣ 개체 간의 관계와 속성 간의 관계 존재 

 

     - 관계의 형태

 

        1. 일 대 일 (1:1)  A의 각 원소가 B의 원소 한 개와 대응
        2. 일 대 다 (1:N)  A의 각 원소는 B의 원소 여러 개와 대응하나, B는 A의 원소 한 개와 대응
        3. 다 대 다 (N:M)  A의 각 원소는 B의 원소 여러 개와 대응하고, B의 원소 또한 A의 원소 여러개와 대응

 

     - 관계의 종류

        1. 종속 관계 (Dependent Relationship)  두 개체 사이의 주종관계를 표현한 것, 식별관계와 비식별 관계로 나뉨
        2. 중복 관계 (Redundant Relationship)  2번 이상의 종속 관계가 발생, 최적화 작업이 어려워 지양
        3. 재귀 관계 (Recursive Relationship)  자기 자신과 관계, 순환관계
        4. 베타 관계 (Exclusive Relationship)  기준에 따라 특성을 분할하는 관계, 배타 AND 관계와 배타 OR 관계로 구분

 

 

 데이터 모델 종류 : 개념적, 논리적, 물리적

   1. 개념적 데이터 모델 

      현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정

      ‣ 정보 구조로 표현하기 때문에 정보 모델이라고도 한다.

      ‣ 예) E-R 모델

 

   2. 논리적 데이터 모델

      개념적 구조 → 컴퓨터 환경 

      개념 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환

      ‣ 단순 데이터 모델을 뜻함

      ‣ 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분

 

   3. 물리적 데이터 모델

      물리 데이터 베이스 설계 과정

 

 

 데이터 모델에 표시할 요소 : 구조, 연산, 제약 조건

   1. 구조 (Structiure)  논리적으로 표현된 개체 타입들 간의 관계  데이터 구조 및 정적 성질 표현
   2. 연산 (Operation)  실제 데이터를 처리하는 작업에 대한 명세  데이터베이스를 조작하는 기본 도구
   3. 제약 조건 (Constraint)  실제 데이터의 논리적인 제약 조건   

 

 


2-7. 식별자 (Identifier)

 식별자

   하나의 개체 내에서 인스턴스를 유일하게 구분할 수 있는 구분자

   모든 개체는 한 개 이상의 식별자를 반드시 가져야 한다.

   ✓ 식별자와 키는 같은 의미로 사용 
식별자 논리 데이터 모델링 단계 개체 → 식별자
물리 데이터 모델링 단계 릴레이션 → 키

     ✓ 인스턴스 (Instance) 

         속성에 따른 구체적인 데이터 값을 갖고 있는 것

     

 식별자의 분류

1. 대표성 여부 주 식별자  개체를 대표하는 유일한 식별자
보조 식별자  주 식별자를 대신해 개체를 식별할 수 있는 속성
2. 스스로 생성 여부 내부 식별자  개체 내에서 스스로 만들어지는 식별자
외부 식별자  관계에 의해 외부 개체의 식별자를 사용하는 식별자
3. 단일 속성 여부 단일 식별자  주 식별자가 한 가지 속성으로 구성
복합 식별자  주 식별자가 두 개 이상의 속성으로 구성
4. 대체 여부 원조 식별자  가공되지 않은 원래의 식별자, 본질 식별자
대리 식별자  복합식별자의 경우 속성들을 하나의 속성으로 묶어 사용하는 식별자, 인조 식별자

 

 후보 식별자

   개체에서 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성의 집합

   하나의 개체에는 한 개 이상의 후보 식별자가 존재 가능하며, 대표성을 나타내는 식별자를 주 식별자 / 나머지를 보조 식별자로 지정

 

주 식별자의 특징

 1. 유일성  개체 내 모든 인스턴스들은 주 식별자에 의해 유일하게 구분
 2. 최소성  유일성을 만족시키기 위해 최소한의 속성으로만 구성
 3. 불변성  주 식별자가 한 번 지정되면 변하지 않아야 함
 4. 존재성  주 식별자가 지정되면 식별자 속성에 반드시 데이터 값이 존재

 

 


2-8. E-R  모델 (개체-관계 모델)

E-R 모델 (Entity-Relationship, 개체-관계 모델)

   개체와 개체 간의 관계를 기본 요소로 이용해 개념적인 논리 데이터로 표현하기 위한 방법

   ‣ 1976년 피터 첸(Peter Chen)에 의해 제안, 기본적인 구성 요소 정립

   ‣ 개념적 데이터 모델

  

E-R 다이어그램

사각형  개체
마름모  관계
타원  속성
선, 링크  개체와 속성을 연결
이중 타원  다중값 속성 (복합 속성)
밑줄 타원  기본키 속성
복수 타원  복합 속성 
 예) 성명 = 성 + 이름
관계  개체 간 관계에 대한 대응수를 선 위에 기술