• Database Schema(데이터베이스 스키마)
DB구조를 정의하기 위해 사용하는 개념
자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의(개체, 속성, 관계, 제약조건 등)
DBMS에서 주어진 설정에 따라 데이터베이스 스키마를 생성
사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명 령을 수행
사용자의 관점에 따라서 외부,개념,내부 스키마로 구분
외부 스키마(extended schema)
사용자의 입장에서 본 데이터베이스 구조
사용자 또는 응용 프로그램이 질의(SQL)나 프로그래밍 언어를 이용해 접근하는 데이터베이스를 정의
전체 데이터 베이스의 한 논리적 부분을 정의(서브 스키마)
개념 스키마를 통해 생성되고 지원을 받기 때문에 외부 스키마는 개념 스키마의 부분집합에 해당
개념 스키마(conceptual schema)
조직 전체의 입장에서 본 데이터베이스 구조
전체적인 데이터베이스 구조를 기술
개체(entity), 데이터 유형, 관계, 사용자 연산, 제약조건 등을 정의
일반적으로 스키마라고 하면 개념 스키마를 의미 함
내부 스키마(internal schema)
물리적 저장 장치의 입장에서 본 데이터베이스 구조
개념 스키마의 물리적 저장 구조에 대한 정의를 기술
레코드 형식, 인덱스, 저장 데이터 표현 방법 등을 정의

• 데이터 사전
DB에 저장되어 있는 모든 개체들에 대한 정보를 유지, 관리 하는 시스템
시스템 카탈로그 데이터에 관한 데이터(Data About Data)가 저장되어 있다고 하여 메타데이터 라고도 함
데이터베이스 스키마의 정보가 저장됨
• Information_schema
MySQL 과 MSSQL에서 사용되는 데이터 사전 데이터베이스
MySQL 5.x 버전부터 추가됨(4.x 버전은 이하는 없음)
DBMS에 의해 동적으로 데이터가 생성됨
읽기전용(read-only)로 설정되어 있어 사용자가 직접 수정 불가
[ Tables table ]
데이터베이스 내 테이블에 대한 정보를 가진 Table
table_name , table_type 컬럼를 이용해 테이블이름과 타입을 확인 가능
[ Columns table ]
데이터베이스 내 모든 컬럼에 대한 정보를 가진 Table
colunm_name , table_name 컬럼을 이용해 특정 테이블의 컬럼을 확인 가능
\e
create table test.test2 ( no int, name varchar(20), user varchar(20))
MariaDB [information_schema]> select column_name, table_name from columns;
| no | test2 |
| name | test2 |
| user | test2 |
'Linux > SQL' 카테고리의 다른 글
| [DBMS] 데이터베이스 엔진 (Database Engine) (0) | 2021.11.30 |
|---|---|
| [DBMS] 문자 인코딩 확인하고 설정하기 (Character Encoding) (0) | 2021.11.29 |
| [DBMS] DCL 명령어 정리 (계정 확인/생성/삭제 & 권한 확인/생성/삭제) (0) | 2021.11.29 |
| [DBMS] DML 명령어 정리 (데이터 생성/조회/수정/삭제) (0) | 2021.11.28 |
| [DBMS] DDL 명령어 정리 (데이터베이스/테이블) (0) | 2021.11.28 |