본문 바로가기
정보처리기사/1과목: DB

스키마: 정의, 3계층, DB Language: DDL, DML, DCL

by tovantablack 2020. 8. 16.
728x90
728x90

스키마 Schema : 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것으로 데이터 사전에 저장되며 메타 데이터 Meta Data라고도 한다.

 

< 스키마 3계층 : 외부, 개념, 내부 >

어떤 사용자 관점에서 보느냐에 따라 나눠진다.

 

외부 스키마 External Schema = 서브 스키마 = 사용자 뷰(view)

- 뷰와 같은 역할이기 때문에 하나의 DB 시스템에 여러 개 존재할 수 있으며 하나의 외부 스키마를 여러 개의 응용프로그램이나 사용자가 공용할 수 있다. 

- 같은 DB에 대해서도 서로 다른 관점을 정의할 수 있도록 허용하며, 일반 사용자는 SQL(질의어)를 사용하여 DB를 사용한다.

 

개념 스키마 Conceptual Schema = 전체적인 뷰

- 보통 스키마라고 하면 개념 스키마를 의미한다. DB의 전체적인 논리적 구조로서 모든 응프나 사용자들이 필요로 하는 데이터를 통합해놓은 조직 전체의 DB이기 때문에 한 DB 시스템에 하나만 존재한다.

- 개체 간의 관계와 제약조건을 나타내고, DB의 접근 권한, 보안, 무결성 규칙에 대한 명세를 정의한다.

- DB관리자(DBA)에 의해 구성된다.

 

내부 스키마 Internal Schema

- DB의 물리적 구조를 정의하고 데이터의 실제 저장 방법을 기술하는, 물리적 저장장치와 밀접한 계층

- 실제로 DB에 저장될 레코드의 물리적인 구조 정의, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서를 나타낸다.

- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

 

< DateBase Language : DDL, DML, DCL >

데이터 정의 언어 DDL Data Definition Language : 데이터의 을 만지는 애

스키마, 도메인, 테이블, , 인덱스 정의CREATE, 삭제DROP, 테이블 정의 변경ALTER

- 외부 스키마 명세 정의, DB의 논리적/물리적 데이터 구조의 정의 및 수정, 구조 간의 사상 정의, 스키마에 사용되는 제약 조건에 대한 명세 정의, 데이터의 물리적 순서 규정

- 번역한 결과는 데이터 사전에 여러 개의 테이블로 저장됨

 

데이터 조작 언어 DML Data Manipulation Language : 데이터의 내용을 바꾸는 것

디비 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 처리하는 데 사용하는 언어로 디비 사용자와 DBMS 간의 인터페이스를 제공한다

SIDU: SELECT, INSERT, DELETE, UPDATE

- 응용 프로그램을 통해 사용자가 DB의 데이터를 실질적으로 조작할 수 있도록 C, COBOL 등의 호스트 언어에 DB기능을 추가시켜 만든 언어(질의어(비절차적 데이터 언어)도 여기 들어감)

- 사용자와 DBMS 간의 인터페이스를 제공함

 

데이터 제어 언어 DCL Data Control Language : 데이터 권한과 처리 수행에 대한 내용

데이터의 보안, 무결성, 데이터 회복, 병행수행 제어 등을 정의하는데 사용

COMMIT, ROLLBACK, 사용권한 부여/취소GRANT/REVOKE

- 데이터를 보호하고 관리하는 목적으로 사용되는 언어로서, 무결성 유지, 데이터 보호를 위한 보안 및 권한 제어, 시스템 장애에 대비한 데이터 회복과 병행수행을 제어한다.

728x90
728x90

댓글