kjh00n의 기록저장소
데이터 사전, Schema 본문
데이터 사전
→ 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 |