[MySQL] 데이터베이스 스키마

2020. 9. 29. 14:33Database/MySQL

1. 데이터베이스 스키마 (Database Schema)

데이터베이스 스키마

1) 외부 스키마 (Extended Schema)

사용자의 입장에서 본 데이터베이스의 구조이다. 사용자 또는 응용 프로그램이 질의나 프로그래밍 언어를 이용해 접근하는 데이터베이스를 정의한다. 전체 데이터베이스의 한 논리적 부분을 정의한다. 개념 스키마를 통해 생성되고 지원을 받기 때문에 외부 스키마는 개념 스키마의 부분집합에 해당한다.

2) 개념 스키마 (Conceptual Schema)

조직 전체의 입장에서 본 데이터베이스 구조이다. 전체적인 데이터베이스 구조를 기술하며 개체(Entity), 데이터 유형, 관계 사용자 연선, 제약 조건 등을 정의한다. 일반적으로 스키마라고 한다면 개념 스키마를 의미한다.

3) 내부 스키마 (Internal Schema)

물리적 저장 장치의 입장에서 본 데이터베이스 구조이다. 개념 스키마의 물리적 저장 구조에 대한 정의를 기술하며 레코드 형식, 인덱스, 저장 데이터 표현 방법 등을 정의한다.

4) 데이터 사전

DB에 저장되어 있는 모든 개체들에 대한 정보를 유지, 관리하는 시스템이다. 시스템 카탈로그 데이터에 관한 데이터가 저장되어 있다고 하여 메타데이터라고도 한다. 데이터베이스 스키마의 정보가 저장된다.

5) Information_schema

MySQL과 MSSQL에서 사용되는 데이터 사전 데이터베이스이다. MySQL 5 버전부터 추가되었다. DBMS에 의해 동적으로 데이터가 생성되며, 읽기전용(read-only)으로 설정되어 있어 사용자가 직접 수정이 불가능하다.

테이블 설명
information_schema.TABLE 데이터베이스 내 테이블에 대한 정보를 가진 테이블이다. table_name, table_type 컬럼을 이용해 테이블 이름과 타입을 확인할 수 있다.
information_schema.COLUMN 데이터베이스  내 모든 컬럼에 대한 정보를 가진 테이블이다. column_name, table_name 컬럼을 이용해 특정 테이블의 컬럼을 확인할 수 있다.
728x90