DB 시스템의 정의

데브tty·2021년 9월 29일
0

DB

목록 보기
2/3

DB 시스템?

DB시스템은 DB에 데이터를 저장, 저장된 데이터를 관리 및 필요한 정보를 제공하는 역할을 한다. 이는 정보처리 시스템에서 핵심적인 역할을 한다.

DB : 데이터를 저장하는 곳
DB 관리 시스템 : DB에 저장된 데이터가 일관되고 무결한 생태로 유지할 수 있도록 관리하는 역할
DB 시스템 : DB와 DB 관리 시스템을 이용해 조직에 필요한 정보를 제공해주는 전체 시스템
그림필요

스키마?

스키마는 DB에 저장되는 데이터 구조와 제약조건을 정의한 것이다.
ID_NUM, ID(10), USERNAME, EMAIL 스키마를 생각해보자. IN_NUM은 INT, ID는 CHAR형으로 최대 10자리까지 작성 가능하다. 이렇게 정해진 내용이 바로 스키마이다.

정의된 스키마에 따라 DB에 실제로 저장된 값은 인스턴스(INSTANCE)라고 부른다.
정의된 스키마는 자주 변하지 않지만 인스턴스는 계속 바뀐다.


3단계 DB 구조

외부단계

필요한 정보만 알면 되는 단계 개별 사용자 관점에서 DB를 이해가고 표현한다. 예를 들어 쇼핑몰을 이용하는 사용자는 자신과 상품에 관한 정보만 알면된다. 굳이 직원의 입장에서 고객과 재고와 같은 정보를 알 필요가 없다. 이처럼 외부 단계에서 사용자에게 필요한 DB를 정의한것을 외부 스키마라한다.

외부 스키마란?

개념단계

전체적인 관리를 위한 단계. DB 시스템, DB 관리자는 DB의 전체를 알아야 한다. 모든 사용자에게 필요한 데이터를 통합하여 전체 DB의 논리적 구조를 정의한다. 개념 스키마라 한다

개념 스키마란?

내부단계

설계자의 입장에서 관리하는 단계. DB의 디스크, 테이프와 같은 저장 장치의 관점에서 이해하고 표현한다. DB가 실제로 저장되는 방법을 정의한다. 이를 내부 스키마라 한다.

내부 스키마란?

데이터 독립성

위에서 언급된 3개의 스키마는 관점이 다르고 모두 같은 DB를 표현한다. 이런 스키마 사이의 대응 관계를 사상 또는 매핑(MAPPING)이라고 한다. DB를 3단계 구조로 나누고, 단계별로 스키마를 유지하며 스키마를 매핑하는 목적은 데이터 독립성 실현을 위함이다. 데이터 독립성은 DB 관리 시스템의 중요한 장점이자 DB 관리 시스템의 존재 이유이다. 데이터 독립성은 하위 스키마를 변경하여도 상위 스키마는 변경되지 않는다는 특징이 있다.

논리적 데이터 독립성

논리적 데이터 독립성은 개념 스키마가 변경되더라도 외부 스키마는 영향을 받지 않는 것이다. 전체 DB의 논리적인 구조가 변경되도 외부/개념 사상 정보만 수정하면된다.

물리적 데이터 독립성

물리적 데이터 독립성은 내부 스키마가 변경되더라도 개념 스키마가 영향을 받지 않는 것이다. 물리적 데이터 독립성이 실현되면 DB의 저장 구조가 변경되어도 관련된 개념/내부 사상 정보만 수정하면 된다.

데이터 사전

DB에 저장되는 데이터에 관한 정보를 저장하는 곳을 데이터 사전(DATA DICTIONARY, SYSTEM CATALOG)라고 한다. 스키마, 사상 정보, 다양한 제약 조건을 저장하고 있다. 이를 메타 데이터(META DATA) 혹은 시스템 DB라고 부르기도 한다.

데이터 사전 접근에 필요한 위치 정보는 데이터 디렉터리(DATA DIRECTROY)에서 관리한다.


데이터 정의어

DDL(DATA DEFINITION LANGAUGE)는 새로운 DB를 구추가기 위해 스키마를 정의하거나 기존 스키마를 삭제 혹은 수정을 위해 사용되는 데이터 언어다.

데이터 조작어

DML(DATA MAIPULATION LANGAUGE)는 데이터의 삽입, 삭제, 수정, 검색 등의 처리를 하기 위한 언어이다.

절차적 데이터 조작어 : WHAT, HOW를 모두 제시하는 언어
비절차적 데이터 조작어 : WHAT만 제시하여 DB 관리 시스템이 알아서 결과를 반환 할 수 있도록 하는 언어

데이터 제어어

DCL(DATA CONTROL LANGUAGE)는 DB에 저장된 데이터를 여러 사용자가 무결성과 일관성을 유지하며 문제없이 공유할 수 있도록, 내부적으로 필요한 규칙이나 기법을 정의한 언어이다.

무결성 : DB에 정확하고 유효한 데이터만 유지한다.
보안 : 허가 받지 않은 사용자는 접근을 차단한다.
회복 : 장애가 발생해도 데이터의 일관성을 유지한다.
동시성 : 여러 사용자가 같은 데이터에 동시에 접근하여 처리할 수 있게 한다.

profile
dev띠

0개의 댓글