컴퓨터과학(CS)/데이터 베이스

데이터베이스 시스템

sondiaa 2022. 1. 13. 12:07

데이터베이스 시스템

데이터베이스에 데이터를 저장하고 이를 관리하여 조직에 필요한 정보 생성

 

데이터베이스의 구조

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

인스턴스: 스키마에 따라 실제로 저장된 값

 

3단계 데이터베이스 구조

외부단계: 개별 사용자 관점(외부 스키마)

개념단계: 조직 전체의 관점(개념 스키마)

내부단계: 물리적인 저장장치의 관점(내부 스키마)

 

각 단계별로 다른 추상화 제공(내부 -> 외부 추상화 레벨이 올라간다)

외부단계

사용자 관점에서 이해하고 표현

데이터베이스 하나에 외부 스카마가 여러개 존재

 

외부스키마

외부단계에서 데이터 베이스를 정의하고 논리적 구조로 사용자마다 다르다.

서브 스키마라고도 함

개념단계

조직 전체의 관점에서 이해하고 표현

데이터베이스 하나에 개념 스키마가 하나만 존재

 

개념스키마

개념단계에서 데이터 베이스의 전체 논리적 구조를 정의

전체 데이터베이스의 저장, 관게, 조건, 정책을 포함

 

내부단계

물리적인 저장장치 관점에서 이해하고 표현

데이터베이스 하나에 내부 스키마가 하나만 존재

 

내부스키마

실제 저장장치에서 저장되는 방법을 정의

구조, 크기, 경로 등 물리적 저장구조 정의

 

스키마 사이의 대응 관계

외부/개념: 응용 인터페이스

개념/내부: 저장 인터페이스

미리 정의된 사상정보를 이용하여 사용자가 원하는 데이터에 접근한다.

 

Q. 스키마를 나누고 대응 관계를 정의한 목적은?

A. 데이터 독립성의 실현

 

즉, 하위 스키마를 변경해도 상위 스키마에 영향을 주지 않는다.

 

논리적 데이터 독립성

1. 개념 스키마가 변경되어도 외부 스키마는 영향 X

2. 개념 스키마가 변경되면 관련된 외부/개념 사상만 수정

 

물리적 데이터 독립성

1. 내부 스키마가 변경되어도 개념 스키마는 영향 X

2. 내부 스키마가 변경되면 관련된 개념/내부 사상만 수정

데이터 사전(시스템 카탈로그)

메타 데이터(데이터에 대한 데이터)를 유지

스키마, 사상정보, 제약 조건 등을 저장

DBMS가 스스로 생성 및 유지

일반 사용자도 접근할 수 있지만 검색만 가능

 

데이터 디렉토리 : 사전에 있는 데이터의 위치 정보를 저장, 일반 사용자는 접근 X

DB 사용자

관리자(DBA) : DDL, DCL 사용, 정의 및 결정

최종 사용자 : DML 사용

응용 프로그래머: 데이터 언어를 삽입하여 작성, DML 사용

 

데이터 언어

DDL: 스키마 정의, 삭제, 수정

DML: 데이터 삽입, 삭제, 수정, 검색

DCL: 규칙이나 기법 정의