kjh00n의 기록저장소

데이터 사전, Schema 본문

DB

데이터 사전, Schema

kjh00n 2024. 11. 21. 10:46

데이터 사전

→ DB에 저장되어 있는 모든 개체(DB, Table, 데이터타입, 인코딩방식, 콜레이션 등등)를 유지, 관리하는 시스템

→ Database Schema의 정보가 저장되는 위치, 시스템

 

Database Schema

→ DB의 구조를 논리적, 물리적으로 보는 관점

→ DB가 어떤 식으로 구성되어 있고, 데이터가 어떤 방식으로 저장되어 있고, 컬럼의 속성은 어떻게 되는지, 제약조건을 어떻게 적용되어 있는지 등등 설정의 형태, 구성을 관념적으로 Database Schema라고 한다.

 

● 사용자 입장에서는 DB Schema가 어떻냐에 따라 같은 대상(DB, Table)에 작업을 진행해도 서로 다른 작업을 진행하거나 설정을 다르게 해야 되는 경우가 생긴다.

● 사용자에 따라 명령, 질의도 다르다.

 

① 외부 스키마 (서브 스키마)

● 일반 사용자나 일반 프로그램의 입장에서 보이는 DB의 구조

● 전체 DB나 전체 Table이 보이지 않고 구조의 일부분만 접근이 가능한 형태

논리적인 관점에서 정의되어 있다.

② 내부 스키마

물리적인 관점에서 접근하는 엔지니어의 입장에서 보이는 DB의 구조

● 물리적인 저장 구조로 구성되어 있으며 정의되어 있다.

 

③ 개념 스키마

● 관리자나 조직 전체의 입장에서 보이는 DB의 구조

● 전체적인 DB의 구조가 보이고 접근이 가능하며 어떤 설정, 제약조건, 옵션이 구성되어 있는지 확인이 가능하다.

개념 스키마


Information_schema에서 조회할 수 있는 명령어

→ SELECT table_name FROM tables;

tables Table에 존재하는 모든 Table의 이름을 조회합니다.

 

→ SELECT table_name,table_collation FROM tables;

tables Table에 존재하는 모든 Table의 이름과 해당 Table의 기본 정렬 규칙(collation)을 확인할 수 있습니다.

 

→ SELECT table_name,create_time FROM tables;

tables Table에 존재하는  모든 Table의 이름과 Table이 언제 생성되었는지 확인할 수 있습니다.

 

→ SELECT table_schema FROM tables;

각 Table이 어느 DB에 속하는지 확인할 수 있습니다.

 

→ SELECT table_schema,table_name FROM tables;

각 DB와 그에 속한 Table들의 목록을 확인할 수 있습니다.

 

→ SELECT table_schema,table_name,columns FROM tables;

각 Table의 Column 정보를 확인하려는 쿼리입니다.

 

→ SELECT table_schema,table_name,column_name,data_type FROM columns;

DB의 각 Table에 포함된 Column들의 이름과 데이터 타입을 확인할 수 있습니다.

'DB' 카테고리의 다른 글

JOIN  (0) 2024.11.21
데이터베이스 엔진 (Storage Engine)  (0) 2024.11.21
문자 인코딩 (Character Encoding)  (0) 2024.11.21
실습3  (0) 2024.11.20
SQL 정의  (0) 2024.11.20