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