[데이터베이스] 스키마

chae·2023년 11월 7일
1

DataBase

목록 보기
2/16
post-thumbnail

스키마란?

출처: https://code-lab1.tistory.com/114

  • DB의 구조와 제약조건에 관해 전반적 명세를 기술한 것이다.
  • DB를 구성하는 Entity, Attribute, Relationship 및 제약조건에 관해 전반적으로 정의한다.
  • Data Dictionary에 저장되며 다른 이름을 메타 데이터라고도 한다.
  • 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분된다.
    1. 외부스키마: 일반 사용자나 응용 프로그래머가 접근한다. 개념스키마의 일부분 (학생처의 학생정보)
    1. 개념스키마: 전체 DB의 정의를 의미하며 데이터와 관계, 제약사항, 무결성에 대한 내용이 포함된다
    2. 내부스키마: 물리적 저장장치에서 DB가 실제로 저장되는 방법을 표현한다. 데이터 타입, 크기, 관계 등의 내용들이 포함된다.

데이터 독립성

  • 3단계 데이터베이스 구조의 특징이 바로 데이터 독립성이다.
  • 하위 단계의 내용을 추상화하여 상위 단계에 그 세부사항을 숨긴다. 따라서 한단계 내의 변경에 대해 다른 단계와 상호 간섭이 없도록 한다.
  • 논리적과 물리적 데이터 독립성으로 나뉜다.
    1. 논리적: 테이블의 속성이나 관계가 추가되거나 삭제되도 기존 쿼리나 트랜잭션이 유지
    1. 물리적: 파일의 저장 방식이나 인덱스 구성이 바뀌어도 스키마나 데이터는 그대로 유지

릴레이션 스키마와 릴레이션 인스턴스

  • 릴레이션은 행과 열로 구성된 테이블을 의미한다!
  • 릴레이션은 스키마와 인스턴스로 이루어진다.

릴레이션 스키마

  • 스키마는 DB의 기본적인 구조를 정의하는데, 테이블에서 스키마는 테이블의 첫 행인 헤더에 나타난다.
  • 각 데이터의 속성 자료 타입 등의 정보를 담는다.

릴레이션 인스턴스

  • 정의된 스키마에 따라 테이블에 실제로 저장되는 데이터의 집합

릴레이션의 차수(degree), 카디널리티(cardinality)

  • 차수(degree)는 릴레이션이 속성이 몇개 있는지를 의미한다.
  • 카디널리티는 행의 개수, 튜플의 개수를 의미하며 전체가 릴레이션 인스턴스이다.
profile
배움은 즐겁습니다.

2개의 댓글

comment-user-thumbnail
2023년 11월 13일

도움 받고 가요!

1개의 답글