[DB] 데이터베이스 시스템

2020. 10. 15. 23:49개발/[DB] 데이터베이스 개념정리

반응형

이 글은 개념을 정리한 글입니다.

 

데이터베이스 시스템 : 데이터베이스에 데이터를 저장하고, 저장된 데이터를 관리하여 조직에 필요한 정보를 생성해주는 시스템

※용어 혼동!

데이터베이스 : 데이터를 저장해두는 곳

데이터베이스 관리 시스템 : 데이터베이스에 저장된 데이터가 일관되고 무결한 상태로 유지되도록 관리하는 역할을 함

데이터베이스 시스템 = 데이터베이스+데이터베이스 관리 시스템

데이터베이스의 구조

스키마 : 데이터베이스에 저장되는 데이터 구조와 제약조건

ex) 고객과 관련된 데이터인 고객번호, 이름, 나이, 주소를 저장

=> INT 고객번호 | CHAR(10) 이름 | INT 나이 | CHAR(20) 주소 이 모든 정해진 내용이 스키마!

인스턴스 : 실제로 저장된 값

3단계 데이터베이스 구조의 개념

외부 스키마 : 외부 단계에서 사용자에게 필요한 데이터베이스를 정의한 것(서브 스키마라고 부르기도 함)

개념 스키마 : 데이터베이스 관리 시스템이나 관리자의 관점에서 모든 사용자에게 필요한 데이터를 통합하여 전체 데이터베이스의 논리적 구조를 정의

내부 스키마 : 전체 데이터베이스가 저장 장치에 실제로 저장되는 방법

내부 > 개념 > 외부 스키마

데이터베이스를 3단계 구조로 나누고, 단계별로 스키마를 유지하며 스키마 사이의 대응 관계를 정의하는 궁극적인 목적은 데이터 독립성(data independency)을 실현하기 위해서다.

 

3단계 데이터베이스 구조 = 논리적 데이터 독립성+ 물리적 데이터 독립성 !

논리적 데이터 독립성 : 개념 스키마가 변경되더라도 외부 스키마가 영향을 받지 않는 것이다.

물리적 데이터 독립성 : 내부 스키마가 변경되더라도 개념 스키마가 영향을 받지 않는 것이다. 결과적으로 외부 스키마도 영향을 받지 않는다.

--------------------------------------------------------------------

데이터 사전 : 데이터베이스에 저장되는 데이터에 관한 정보를 저장하는 곳 (혹은 시스템 카탈로그 혹은 시스템 데이터베이스)

메타 데이터 : 데이터베이스에 저장되는 데이터에 관한 정보이므로 데이터에 대한 데이터

사용자 데이터베이스 : 사용자가 실제로 이용하는 데이터가 저장되는 일반 데이터베이스

데이터 디렉터리 : 데이터에 실제로 접근하는 데 필요한 위치 정보

데이터베이스 시스템의 구성 요소

사용자 – 데이터베이스 관리자(데이터베이스 시스템을 운영하고 관리한다)

- 최종 사용자(데이터베이스에 접근하여 데이터를 조작한다)

- 응용 프로그래머(데이터 언어를 삽입하여 응용 프로그램을 작성한다.

데이터 언어

데이터 정의어(DDL; Data Definition Language) :새로운 데이터베이스를 구축하기 위해 스키마를 정의하거나 기존 스키마의 정의를 삭제 또는 수정하기 위해 사용하는 데이터 언어

데이터 조작어(의; Data Manipulation Language) : 사용자가 데이터의 삽입, 삭제, 수정, 검색 등의 처리를 데이터베이스 관리 시스템에 요구하기 위해 사용하는 데이터 언어

절차적 데이터 조작어 : 사용자가 어떤 데이터를 원하고 해당 데이터를 얻으려면 어떻게 처리해야 하는지를 설명한다.

비절차적 데이터 조작어 : 사용자가 어떤 데이터를 원하는지만 설명한다.

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

※ 데이터 제어어의 장점

무결성 : 데이터베이스에 정확하고 유효한 데이터만 유지한다.

보안 : 허가받지 않는 사용자가 데이터에 접근하는 것을 차단하거나, 허가된 사용자가 접근 권한이 있는 데이터에만 접근할 수 있게 한다.

회복 : 장애가 발생해도 데이터의 일관성을 유지한다.

동시성 : 여러 사용자가 같은 데이터에 동시에 접근하여 처리할 수 있게 한다.

데이터베이스 관리 시스템

질의 처리기 : 사용자의 데이터 처리 요구를 해석하여 처리한다.

저장 데이터 관리자 : 디스크에 저장된 데이터베이스와 데이터 사전을 관리하고, 여기에 실제로 접근한다.

반응형