본문 바로가기

Study/정보처리기사 실기

[정보처리기사 실기] 3장 데이터 입출력 구현 _ 데이터베이스 기초

데이터베이스 시스템

1) 데이터베이스 정의

  • 통합된 데이터 (Integrated Data) : 최소한 중복만 허용하는 데이터
  • 저장된 데이터 (Stored Date) : 직접 접근 저장장치에 수록된 데이터
  • 운영 데이터 (Operational Data) : 사용 목적과 유용성 있는 데이터
  • 공용 데이터 (Shared Data) : 다수 사용자가 공유 가능한 데이터

2) 데이터베이스 구조 = 스키마

보는 관점에 따라 3계층 스키마 (Schema)로 표현

  • 외부 스키마 - 사용자 관점
  • 개념 스키마 - 전체 구조
  • 내부 스키마 - 저장구조 관점

스키마

데이터베이스 구조 표현하는 개체, 속성, 관계에 대한 정의와 데이터 값들이 갖는 제약 조건 (constraints)에 대한 명세 기술


DBMS (데이터베이스관리시스템)

- 모든 응용프로그램들이 데이터베이스를 공용할 수 있도록 관리해주는 시스템 소프트웨어

- 기능 : 정의 기능, 조작 기능, 제어 기능

- 종류 : 관계형 (RDBMS), 계층형 (HDBMS), 네트워크형 (NDBMS)


데이터 모델

현실세계 데이터 구조를 인간과 컴퓨터가 이해할 수 있도록 추상화해 표현한 모델

 

데이터 모델 구성요소

구조
(Structure)
- 논리적으로 표현된 개체 간 관계로서 데이터 구조 명세
- 논리 데이터 모델에서는 구조를 어떻게 나타낼 것이지 표현함
연산
(Operation)
- 데이터베이스에 저장된 데이터 처리하는 작업 명세
- 개체 데이터 모델에서는 연산을 이용해 실제 데이터를 처리하는 작업에 대한 명세 나타냄
제약 조건
(Constraints)
- 데이터베이스에 허용될 수 있는 데이터 논리적 제약 명세
- 데이터 무결성 유지하기 위한 DB의 보편적 방법으로 릴레이션의 특정 칼럼에 설정하는 제약 의미
- 개체 무결성과 참조무결성 등 있음

개념적 데이터 모델

- 현실세계 데이터를 분석해 인간이 이해하기 쉽게 다이어그램으로 표현

- 특정 DBMS에 독립적인 모델

- 개체-관계 모델 (E-R 모델), 확장 개체-관계모델 (EE-R 모델) 등 있음


논리적 데이터 모델

- 컴퓨터가 이해할 수 있는 논리적 구조로 데이터 기술하는 방법

- 특정 DBMS에 일치하는 데이터 모델을 이용해 표현

- 관계 표현에 따라 관계형, 계층형, 네트워크형 모델로 구분

 

관계형 모델

- Codd에 의해 소개된 논리적 데이터 모델로 가장 널리 사용

- 데이터 구조는 행과 열 테이블 형태이고 관계는 공통 속성으로 표현

- 1:1, 1:N, M:N 관계 자유롭게 표현 가능

- 상용 DBMS : ORACLE, SQL Server, Mysql, MariaDB


데이터베이스 설계


개념적 설계

- 현실 세계에 대한 인식을 추상적, 개념적으로 표현해 개념적 구조 도출하는 과정

- 주요 산출물 : E-R 다이어그램 등


논리적 설계

- 목표 DBMS에 맞는 스키마 설계

- 트랜잭션 인터페이스를 설계하는 정규화 과정 수행


물리적 설계

- 특정 DBMS 특성 및 성능 고려해 데이터베이스 저장 구조로 변환하는 과정

- 결과로 나오는 명세 : 테이블 정의서 등