CS 전공/DB

[데이터베이스] 3. 데이터베이스시스템

Easyho.log 2024. 4. 19. 14:16

1. 데이터베이스 시스템의 정의

1. 데이터베이스 시스템이란?

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

사용자가 데이터를 데이터베이스 관리 시스템에 입력하면 데이터베이스에 데이터를 저장하고 관리하는 총 시스템을 데이터베이스 시스템이라고 한다.

2. 스키마와 인스턴스

1) 스키마 : 데이터베이스에 저장되는 데이터 구조와 제약 조건을 정의한 것

2) 인스턴스 : 스키마에 따라 데이터베이스에 실제로 저장된 값이다.

스키마의 예

자료형이 안 들어갔지만 스키마의 예는 다음과 같다.

 


2. 데이터베이스의 구조

1. 3단계 데이터베이스 구조

미국 표준화 기관인 ANSI/SPARC에서 제안된 구조로 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눈 것이다.

1) 외부 단계 : 개별 사용자 관점

2) 개념 단계 : 조직 전체의 관점

3) 내부 단계 : 저장 장치의 관점

 

1. 외부 단계

 

 외부 단계는 DB를 개별 사용자 관점에서 이해하고 표현하는 단계이다. 하나의 DB에 외부 스키마가 여럿 존재할 수 있다.

- 외부 스키마 (서브 스키마): 외부 단계에서 사용자에게 필요한 데이터베이스를 정의한 것이다. 사용자마다 다르다. (생각하는게 달라서)

 

2. 개념 단계

 

 개념 단계는 데이터베이스를 조직 전체의 관점에서 이해하고 표현하는 단계이다. 하나의 DB에 개념 스키마는 하나만 존재한다.

- 개념 스키마 : 개념 단계에서 전체 데이터베이스의 논리적 구조를 정의한 것이다. 데이터들 간의 관계와 제약 조건뿐만 아니라 데이터에 대한 보안 정책이나 접근 권한에 대한 정의도 포함

3. 내부 단계

 

 내부 단계는 데이터베이스를 저장 장츼의 관점에서 이해하고 표현하는 단계이다. 하나의 DB에 내부 스키마는 하나만 존재한다.

- 내부 스키마 : 전체 DB가 저장 장치에 실제로 저장되는 방법을 정의한 것이다.

 

2. 3단계 데이터베이스 구조의 사상과 매핑

1) 스키마 사이의 대응 관계

- 외부/개념 사상 : 외부 스키마와 개념 스키마의 대응 관계 (= 응용 인터페이스)

- 개념/내부 사상 : 개념 스키마와 내부 스키마의 대응 관계 (= 저장 인터페이스)

데이터베이스를 3단계 구조로 나누고 단계별로 스키마를 유지하며 스키마 사이의 대응 관계를 정의하는 궁극적인 목적은 바로 데이터 독립성의 구현이다!

 

2) 데이터 독립성

데이터 독립성이란, 하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성이다. 논리적 데이터 독립성과 물리적 데이터 독립성이 있다.

데이터베이스의 구조와 데이터 독립성

 

먼저, 논리적 데이터 독립성은 개념 스키마가 변경되어도 외부 스키마는 변경되지 않는다는것이다. 개념 스키마가 변경되면 외부/개념 사상만 정확히 수정해주면 된다.

또한, 물리적 데이터 독립성은 내부 스키마가 변경되어도 개념 스키마는 변경되지 않는다는 것이다. 내부 스키마가 변경되면 개념/내부 사상만 정확히 수정해주면 된다.

 

3) 데이터 사전

- 시스템 카탈로그라고도 하며, 데이터베이스에 저장되는 데이터에 관한 정보, 즉 메타 데이터(데이터에 대한 데이터)를 유지하는 시스템 데이터베이스이다.

- 스키마, 사상 정보, 다양한 제약조건 등을 저장한다.

 

4) 데이터 디렉터리

데이타 디렉터리는 데이터 사전에 있는 데이터에 실제로 접근하는데 필요한 위치 정보를 저장하는 시스템 데이터베이스이다.


 

3. 데이터베이스 사용자

1. 데이터베이스 사용자

데이터베이스 사용자에는 3가지 분류가 있다.

 

1) DBA : 데이터베이스 시스템을 운영하는 사람이다. 주로 DDL과 DCL을 이용한다. (하는 일이 많다)

2) 응용 프로그래머 : 데이터 언어를 삽입하여 응용 프로그램을 작성하는 사람이다. 주로 DML을 사용한다.

3) 최종 사용자 : 데이터베이스에 접근하여 데이터를 조작하는 사람이다. 주로 DML을 사용한다.


4. 데이터 언어

1. 데이터 언어

DDL, DML, DCL 총 세가지 분류가 있다.

 

1) DDL : 스키마를 정의, 수정, 삭제를 위해 사용한다.

2) DML : 데이터를 삽입, 삭제, 수정, 검색을 하기 위해 사용하는 언어이다.

- 절차적 데이터 조작어 : 사용자가 어떤 데이터를 원하고 어떻게 처리해야 하는지 설명

- 비절차적 데이터 조작어 : 어떤 데이터를 원하는지만 설명

3) DCL : 내부적으로 필요한 규칙이나 기법을 정의하기 위해 사용

- 목적 : 무결성 유지, 보안, 회복, 동시성 제어


5. 데이터베이스 관리 시스템의 구성

1. 데이터베이스 관리 시스템

주요 구성 요소는 다음과 같다.

 

1) 질의 처리기 : 사용자의 데이터 처리 요구를 해석하여 처리

2) 저장 데이터 관리자 : 디스크에 저장된 데이터베이스와 데이터 사전 관리


끝!