13강. 데이터베이스 (1)

학습개요

이번 강의에서는 실세계의 다양한 유형의 많은 데이터를 효율적으로 저장하고 관리하기 위한 기술인 데이터베이스에 대해서 학습한다. 우선 데이터베이스의 등장 배경, 정의 및 특성 등의 기본적인 개념들을 살펴본 후, 데이터베이스 시스템의 구성요소, 데이터 모델링, 그리고 개체-관계 모델에 대해서 학습한다.

학습목표

  1. 데이터베이스의 등장 배경, 정의, 특징, 장단점 등의 개념을 이해할 수 있다.
  2. 데이터베이스 시스템의 구성요소의 종류와 개념을 이해할 수 있다.
  3. 데이터 모델링의 개념과 데이터 모델의 종류를 이해할 수 있다.
  4. 개체-관계 모델의 개념과 표현 방식을 이해할 수 있다.

연습문제

  1. 데이터베이스에 저장되고 관리되는 데이터에 대한 특성을 나타내는 표현으로 적절하지 못한 것은?
    1. 공유 데이터
    2. 입출력 데이터
    3. 저장 데이터
    4. 통합 데이터
      정답 : 2

      ❒ 데이터베이스란 한 조직의 여러 응용 시스템이 공유(shared)해서 사용하기 위한 통합(integrated), 저장(stored)된 운영(operational) 데이터의 집합을 의미한다.

  2. 데이터베이스의 특성에 대한 설명으로 틀린 것은?
    1. 데이터베이스에 수시로 접근하는 사용자의 요구를 즉시 처리하여 응답을 제공할 수 있다.
    2. 응용 프로그램과 데이터 사이의 일대일 상호 의존 관계를 통해 효율적인 데이터 관리가 가능하다.
    3. 데이터의 참조는 데이터가 저장된 주소가 아닌 데이터의 내용에 따라 이루어진다.
    4. 삽입, 삭제 등의 연산을 통해 새로운 데이터로 내용을 지속적으로 변화시켜 현재의 정확한 데이터를 항상 유지할 수 있다.
      정답 : 2

      ❒ 데이터 종속성과 데이터의 중복성이라는 기존 파일처리 시스템의 문제점을 해결하여 데이터 공용을 위한 기술이 데이터베이스이며, DBMS의 사용을 통해 응용 프로그램과 데이터가 종속되지 않는 데이터의 독립성을 제공한다.

  3. 모든 응용에 대한 전체적이고 통합된 데이터 구조를 정의하는 스키마는?
    1. 개념 스키마
    2. 외부 스키마
    3. 내부 스키마
    4. 서브 스키마
      정답 : 1

      ❒ 스키마란 DB 구조에 대한 정의와 제약조건의 명세를 기술한 것으로, DB를 바라보는 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분된다.

      • 외부 스키마 → 개별 사용자나 응용 프로그래머가 관심을 갖는 DB 구조만을 정의한 스키마 → 전체 데이터베이스의 한 논리적 부분만을 표현하기 때문에 “서브스키마”라고도 함

      • 개념 스키마 → 기관(조직)의 전체적인 DB 구조를 정의한 것 → 모든 응용에 대한 전체적이고 통합된 데이터 구조를 정의한 것 → 오직 하나만 존재 → 개념 스키마로부터 사용자와 응용 프로그래머를 위한 모든 외부 스키마가 생성되고 지원된다.

      • 내부 스키마 → 물리적인 데이터 구조를 정의한 것 → 개념 스키마에 대한 저장 구조를 정의한 것으로 “저장 스키마”라고도 함.

  4. 응용 프로그램과 데이터간의 독립성을 제공하기 위해 사용자와 데이터베이스의 중재자 역할을 하는 데이터베이스 시스템의 구성요소는?
    1. 데이터베이스 관리자
    2. 데이터베이스 언어
    3. 데이터베이스 관리 시스템
    4. 데이터베이스 기계
      정답 : 3

      ❒ ① 데이터베이스 관리자 → 데이터 정의어와 데이터 제어어를 통해 DB를 정의하고 제어할 목적으로 접근하여 관리하는 사람

      ② 데이터베이스 언어 → DBMS와 통신하기 위한 수단

      ③ 데이터베이스 관리 시스템 → 사용자와 데이터베이스 사이에 위치하여 데이터베이스의 구성, 접근 방법, 관리 유지 등에 대한 모든 기능을 통합적으로  수행하여 사용자의 요구에 맞는 정보를 생성해 주는 소프트웨어 시스템

      ④ 데이터베이스 기계 → DB 관리 기능을 효율적으로 수행할 수  있도록 특화되어 설계된 하드웨어 또는 소프트웨어

  5. 데이터베이스 논리적 모델이 아닌 것은?
    1. 네트워크형 모델
    2. 계층형 모델
    3. 개체-관계 모델
    4. 관계형 모델
      정답 : 3

      ❒ 논리적(구현) 모델은 개념적 모델과 물리적 모델의 중간에 위치한 것으로, 데이터 구성에 대한 세부적인 사항은 숨기고 사용자가 이해할 수 있는 정도의 개념을 제공하기 위한 것으로, 종류로는 계층형, 네트워크형(망형), 관계형, 객체지향형, 객체관계형 등이 있다.

      • E-R 모델(개체-관계 모델)은 사용자가 데이터를 인식하는 방법과 밀접한 개념을 제공하는 개념적 모델에 속하는 대표적인 방법이다.

  6. 다음 E-R 다이어그램에서 키 속성을 나타내는 것은?

    1. 계좌번호
    2. 고객
    3. 거래일자
    4. 계좌 거래
      정답 : 1

      ❒ E-R 다이어그램은 E-R 모델을 그래프 방식으로 표현한 것으로, 다음과 같은 기호가 사용된다.

      • 사각형 → 개체 타입 (예: 고객, 계좌)

      • 마름모 → 관계 타입 (예: 계좌 거래)

      • 타원 → 속성 (예: 고객 이름, 주민등록번호, 직장 주소, 집 주소, 거래일자, 계좌번호, 잔고)

      • 밑줄 표시된 타원 → 키 속성 (예: 주민등록번호, 계좌번호)

정리하기

  1. 기본 개념
    • 데이터베이스 → 파일처리 시스템의 데이터 종속성과 데이터 중복성의 문제를 해결해서 데이터 공유의 개념을 제공
      •  정의 → 한 조직의 여러 응용 시스템이 공유해서 사용하기 위한 통합, 저장된 운영 데이터의 집합
      •  특성 → 실시간 접근성, 계속적인 변화, 동시 공유, 내용에 의한 참조
        .
  2. 데이터베이스 시스템
    • 데이터를 데이터베이스에 저장하고 관리해서 필요한 정보를 생성하는 컴퓨터 중심의 시스템
    • 3단계 구조
      • 추상화와 데이터 독립성을 확보하기 위해 외부 단계, 개념 단계, 내부 단계로 구성
      • 스키마 → DB 구조에 대한 정의와 제약 조건의 명세를 기술한 것 → 외부 스키마(서브 스키마), 개념 스키마, 내부 스키마(저장 스키마)
      • 사상 → 외부/개념 사상(응용 인터페이스)과 개념/내부 사상(저장 인터페이스) → 데이터의 독립성 제공
    • 구성요소
      • 데이터베이스 → 공유 데이터, 통합 데이터, 저장 데이터, 운영 데이터의 집합
      • 데이터베이스 관리 시스템(DBMS) → 사용자와 데이터베이스 사이에 위치하여 데이터베이스의 구성, 접근 방법, 관리 유지에 관한 모든 기능을 통합적으로 수행하여, 사용자의 요구에 맞는 정보를 생성해 주는 소프트웨어 → 필수 기능: 정의, 조작, 제어 → 응용 프로그램이 데이터에 종속되지 않는 데이터 독립성 제공
      • 데이터 언어 → DBMS와 통신할 수 있는 수단 → 데이터 정의어, 데이터 제어어, 데이터 조작어(절차적 데이터 조작어, 비절차적 데이터 조작어)
      • 데이터베이스 사용자 → DB에 접근하는 사람의 총칭 → 일반 사용자, 응용 프로그래머, 데이터베이스 관리자
      • 데이터베이스 관리자(DBA) → 데이터를 여러 사람이 공용할 수 있도록 관리하고 제어하는 사람 → 데이터 정의어와 데이터 제어어를 통해 DB를 정의하고 제어할 목적으로 DB에 접근
      • 데이터베이스 기계 → DB 관리 기능을 효율적으로 수행할 수 있도록 특화되어 설계된 하드웨어 또는 소프트웨어
        .
  3. 데이터 모델 & 개체-관계 모델
    • 데이터 모델링 → 실세계 데이터를 데이터 모델상의 DB 구조로 변환하는 과정
      • 데이터 모델 → DB 구조를 명시하기 위해 사용할 수 있는 다양한 개념의 집합 → 개념적 모델, 논리적(구현) 모델, 물리적 모델
    •  데이터베이스 논리적 모델
      • 데이터 구성에 대한 세부적인 사항은 숨기고 사용자가 이해할 수 있는 정도의 개념을 제공
      • 종류 → 계층형, 네트워크형, 관계형, 객체지향형, 객체 관계형
    • 개체-관계 모델(E-R 모델) → 현실 세계에 존재하는 개체와 개체 간의 관계를 이용해서 실세계를 사람이 이해할 수 있도록 개념적으로 표현하는 방법
      • 개체 → 데이터로 표현하려는 실세계의 유무형의 사물 → 개체의 특성이나 상태를 설명하는 속성으로 구성
      • 관계 → 개체 집합 사이의 대응성(사상) → 미리 어떤 관계를 정의해놓고 주어진 값을 정의된 관계에 따라 해석하면 유용한 의미의 표현이 가능
    • E-R 다이어그램 → E-R 모델을 그래프 방식으로 표현한 것
      • 사각형 → 개체 타입, 마름모 → 관계, 타원 → 속성 등

Leave a Comment