1] 데이터베이스 시스템
데이터베이스 시스템은 사용자가 데이터베이스에 접근할 때 사용하는 데이터 언어, 데이터베이스와 데이터베이스 관리 시스템을 설치하고 데이터 처리 연산을 담당하는 컴퓨터로 구성된다.
2] 데이터베이스 구조
- 스키마
스키마는 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것이다. 그리고 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값이 인스턴스다. 보통 한번 정해진 스키마 구조는 잘 변경되지않지만 인스턴스는 계속 변한다.
Ex] [ 고객번호 (INT) / 이름 (CHAR) / 나이 (INT) / 주소 (CHAR) ]
- DB의 3단계 구조
1. 외부 단계
외부 단계에서는 개별 사용자가 DB를 어떻게 보는가를 표현하므로 사용자마다 생각하는 DB의 구조가 다르다. 이처럼 외부 단계에서 사용자에게 필요한 DB를 정의한 것을 외부 스키마 라고한다. 외부 스키마는 각 사용자가 사용하는 DB의 모습을 표현한 논리적인 구조로, 사용자마다 다르다.
2. 개념 단계 [ 논리적 구조 ]
개념 단계에서는 DBMS나 관리자의 관점에서 모든 사용자에게 필요한 데이터를 통합하여 전체 DB의 논리적 구조를 정의하고 이를 개념 스키마 라고한다. 개념 스키마는 조직 전체의 관점에서 생각하는 DB의 모습이며, DB 하나에는 개념 스키마가 하나만 존재하며 각 사용자는 개념 스키마의 일부분을 사용한다.
[ 외부 스키마 = 개념 스키마를 기초로 사용하여 사용자의 이용 목적에 맞게 만든 것 ]
3. 내부 단계
내부 단계에서는 DB를 디스크나 테이프 같은 저장 장치의 관점에서 이해한다. 즉, 내부단계에서는 전체 DB가 저장 장치에 실제로 저장되는 방법을 정의한다. -> 파일에 데이터를 저장하는 레코드의 구조, 필드의 크기, 인덱스를 이용한 레코드 접근 경로 등을 정의.
- 데이터 독립성
이러한 3단계의 데이터베이스 구조의 목적은 데이터 독립성을 실현하는데 있다.
-
논리적 데이터 독립성 : 개념 스키마가 변경되어도 외부 스키마는 옇양을 받지 않는다.
Ex ] 개념 스키마의 연락처 데이터의 이름이 전화번호로 바뀌어도 외부 스키마에 있는 연락처가 이후부터 개념 스키마의 전화번호와 대응 관계에 있다고 수정해 주면 된다.
-
물리적 데이터 독립성 : 내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않는다.
Ex ] 내부 스키마에 저장된 필드의 순서가 바뀌어도 두 필드와 관련된 개념/내부 사상 정보면 수정해주면 되기때문에 개념 스키마는 영향을 받지 않는다.
- 데이터 사전
DB는 조직 운영을 위해 필요한 실제 데이터를 저장하는데, 저장된 데이터를 올바르게 관리하고 이용하려면 필요한 부가 정보 도 저장해야 한다. 대표적인 부가 정보가 스키마와 사상정보다.
DB에 관한 정보를 저장하는 곳을 데이터 사전 또는 시스템 카탈로그라고 한다. 데이터 사전은 일반 사전처럼 DB에 저장되어있는 데이터를 정확하고 효율적으로 이용하기 위해 참고해야 되는 스키마, 사상 정보, 제약조건 등을 저장하고있다.
데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보는 데이터 디렉터리 라는곳에서 관리한다. 데이터 사전은 사용자가 접근할 수 있고 데이터 디렉터리는 시스템만 접근할 수 있는 차이가 있다.
3] 데이터 언어
1. 데이터 정의어 [ DDL : Data Definition Language ]
DDL은 새로운 DB를 구축하기 위해 스키마를 정의하거나 기존 스키마의 정의를 삭제 또는 수정하기 위해 사용하는 데이터 언어다. 즉, 새로 만들려는 DB의 스키마를 설명하거나 이미 정의된 스키마의 구조나 제약조건 등을 변경 또는 삭제하고 싶어 이를 DBMS에 알릴 때 사용한다.
2. 데이터 조작어 [ DML : Data Manipulation Language ]
DML은 사용자가 데이터의 CRUD 등의 처리를 DBMS에 요구하기 위해 사용하는 데이터 언어이다. DDL을 이용해 스키마를 정의하면 스키마에 따라 조직에 필요한 실제 데이터 값이 저장되는데, 사용자가 실제 데이터 값을 활용하기 위해 사용하는것이 바로 DML이다. 이 조작어는 절차적, 비절차적 조작어로 나누어 진다.
- 절차적 데이터 조작어 : 절차적 데이터 조작어는 구체적으로 어떤 데이터를 원하고 어떻게 처리해야하는지 설명해야 하는 조작어
- 비 절차적 데이터 조작어 : 비절차적 데이터 조작어는 사용자가 어떤 데이터를 원하는지만 설명한다. 즉, 해당 데이터를 어떻게 처리해야하는지는 DBMS에 맡긴채 어떤 데이터를 원하는지만 선언한다. 그래서 선언적 언어 라고도 한다.
3. 데이터 제어어 [ DCL : Data Control Language ]
DCL은 DB에 저장된 데이터를 여러 사용자가 무결성과 일관성을 유지하며 문제없이 공유할 수 있도록, 내부적으로 필요한 규칙이나 기법을 정의하는데 사용하는 데이터 언어다. 사용자는 DB를 올바르게 관리하기 위해 필요한 규칙과 기법을 DCL을 이용해 DBMS에 설명한다. 그러면 DBMS가 이 규칙과 기법에 따라 DB를 제어하고 보호한다.
'전공수업 > 데이터베이스 [DB]' 카테고리의 다른 글
제 6장] 관계 데이터 연산 (0) | 2019.10.17 |
---|---|
제 5장] 관계 데이터 모델 (0) | 2019.10.14 |
제4장] 데이터를 모델링 해보자 (0) | 2019.10.14 |
제 2장] 데이터베이스 관리 시스템 (0) | 2019.10.07 |
제 1장] 데이터베이스 기본 개념 (0) | 2019.10.04 |