0%

데이터베이스 개요(1)

데이터와 정보

데이터베이스를 공부하기에 앞서 먼저 용어의 정의가 필요하다.

데이터와 정보는 같은가?

네이버 백과사전에 따르면 데이터의 정의는 다음과 같다

데이터: 관찰이나 실험, 조사로 얻은 사실

정보: 관찰이나 측정을 통하여 수집한 자료를 실제 문제에 도움이 될 수 있도록 정리한 지식

데이터처리(DBMS)를 해서 나온 것이 정보이다.

데이터의 분류

데이터를 처리해서 정보로 만들기 위해서는 데이터를 어떻게 처리할지 고민을 하게 된다.

구조화된 데이터 형태에 따른 분류

정형 데이터

미리 정해진 구조가 있다.

엑셀 스프레드시트, 관계 데이터베이스의 테이블 등

이름 성별 나이
라이언 20

반정형 데이터

내용 안에 구조에 대한 설명이 있다.

JSON, HTML, XML등

1
2
3
4
<학생>
<이름>라이언</이름>
<성별>남</성별>
</학생>

비정형 데이터

정해진 구조가 없다.

텍스트, 영상, 이미지, 음성 등

데이터 처리

데이터 분류를 알아봤으니 이제는 처리 방법이다.

처리의 제일 작은 단위는 트랜잭션이다. 분리될 수 없는 연산 그룹이다.

예를 들어 은행에 계좌 이체를 한다고 가정한다. A가 B에게 돈을 이체 할 때, A는 이체 했지만 B는 받지 못하면 안된다. A가 이체하는 것과 B가 받는것이 하나의 거래내역으로 처리되야 한다. 이를 트랜잭션이라 한다.

일괄 처리

유사한 트랜잭션을 한곳에 모아 한꺼번에 처리 하는 것이다.

예를 들어 성적처리를 할 때 중간고사 성적, 기말고사 성적, 출석등을 모아두다가 학기말에 학점을 매긴다.

온라인 처리

실시간으로 처리 하는것을 말한다. 데이터가 즉시 컴퓨터에 전송되고, 데이터는 즉시 컴퓨터가 처리해서 보낸다.

은행이나 군사시스템 등 빠른 처리가 필요한 곳에 사용된다.

분산 처리

물리적으로 분리된 처리기와 데이터베이스를 네트워크로 묶어서 하나의 시스템처럼 사용하는 것이다.

데이터베이스 구조

논리적 구조

사용자 관점에서 본 데이터의 개념적 구조이다.

논리적 구조
레코드 A
레코드 B
레코드 C
레코드 D

물리적 구조

저장 관점에서 본 데이터의 물리적 배치이다. 저장장치에 저장된 데이터의 실제 구조이다.

물리적 구조

3단계 데이터베이스

스키마란 데이터베이스의 구조와 제약조건에 대한것을 명세한 것이다.

외부 스키마

데이터베이스의 사용자나 프로그래머가 접근하는 데이터베이스이다.

개념 스키마

조직 전체의 입장에서 데이터베이스를 정의한 것

내부 스키마

저장 장치 입장에서 데이터베이스 전체가 저장되는 방법을 명세한 것

데이터베이스의 예

데이터 독립성

논리적 데이터 독립성

데이터베이스의 논리적 구조를 변경시키더라도 기존 프로그램들에 영향을 주지 않는 것.

학생 데이터베이스에서 개념 스키마의 연락처 데이터 이름이 전화번호로 변경되어도 외부/개념 사상(응용 인터페이스)만 정확히 수정하면 외부 스키마의 연락처 데이터 이름은 변경할 필요가 없다.

물리적 데이터 독립성

데이터베이스의 물리적 구조를 변경시키더라도 기존 프로그램이나 데이터베이스의 논리적 구조에 아무런 영향을 주지 않는 것.

학생 데이터베이스에서 내부 스키마의 주소와 연락처 필드의 순서가 바뀌어도 개념/내부 사상(저장 인터페이스)만 정확히 수정하면 논리적 구조는 영향을 받지 않는다.