[DB] 스키마

한결·2023년 11월 1일
0

CS

목록 보기
33/34

DB 전체를 정의할 Meta 정보가 필요

  • DB이름은?
  • 테이블은 몇개고 각각의 이름은?
  • 컬럼은 몇개고 각각의 컬럼 명은?
  • 각 데이터는 어떤 자료형을 쓰는가?
    등등 ...

-> Database Schema

스키마 -> 관점
DB는 사용자가 다양함 -> 관점이 다양하게 존재 -> 필요에 따라 제공해줘야함
-> 관점에 따라 스키마를 3개로 나눔

스키마 종류

사용자(일반사용자, DBA, 개발자 등)가 많음
-> 시점이 달라지니 전체적으로 설명하는 메타정보(스키마)도 달라져야함
-> 스키마의 종류 다양해짐
-> 개념 스키마, 외부 스키마, 내부 스키마

외부 스키마

개인(사용자) 입장에서 필요한 스키마

  • 쪼개진 스키마(서브 스키마)라고도 하며 사용자뷰를 의미
  • 예를 들어, 동물원에서 사자만 보고 싶은 경우
    은행 계좌 정보 조회 시 본인 부분의 서브 스키마만 바라봄

개념 스키마

외부 사용자들 요구를 충족시키기 위한 전체적 DB 구조

  • 데이터베이스의 전체적인 논리적 구조, DB관계/조건/보안 등 정의
  • 고수준 데이터 표현(ERD, DDL 사용해서 표현)
  • 예를들어, 동물원의 전체적인 명세가 필요한 경우

내부 스키마

프로그래머나 설계자에게 필요한 스키마

  • DB 물리적 구조를 가리킴(메모리에 저장 Data Type, Save Path, Security,...)
  • 얘네는 서브스키마가 아닌 DB에 관심이 있을거임
    물리적으로 접근해서 구현해야하기 때문 -> 내부 스키마를 통해 봄

0개의 댓글