스키마란?
출처: https://code-lab1.tistory.com/114
- DB의 구조와 제약조건에 관해 전반적 명세를 기술한 것이다.
- DB를 구성하는 Entity, Attribute, Relationship 및 제약조건에 관해 전반적으로 정의한다.
- Data Dictionary에 저장되며 다른 이름을 메타 데이터라고도 한다.
- 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분된다.
1. 외부스키마: 일반 사용자나 응용 프로그래머가 접근한다. 개념스키마의 일부분 (학생처의 학생정보)
- 개념스키마: 전체 DB의 정의를 의미하며 데이터와 관계, 제약사항, 무결성에 대한 내용이 포함된다
- 내부스키마: 물리적 저장장치에서 DB가 실제로 저장되는 방법을 표현한다. 데이터 타입, 크기, 관계 등의 내용들이 포함된다.
데이터 독립성
- 3단계 데이터베이스 구조의 특징이 바로 데이터 독립성이다.
- 하위 단계의 내용을 추상화하여 상위 단계에 그 세부사항을 숨긴다. 따라서 한단계 내의 변경에 대해 다른 단계와 상호 간섭이 없도록 한다.
- 논리적과 물리적 데이터 독립성으로 나뉜다.
1. 논리적: 테이블의 속성이나 관계가 추가되거나 삭제되도 기존 쿼리나 트랜잭션이 유지
- 물리적: 파일의 저장 방식이나 인덱스 구성이 바뀌어도 스키마나 데이터는 그대로 유지
릴레이션 스키마와 릴레이션 인스턴스
- 릴레이션은 행과 열로 구성된 테이블을 의미한다!
- 릴레이션은 스키마와 인스턴스로 이루어진다.
릴레이션 스키마
- 스키마는 DB의 기본적인 구조를 정의하는데, 테이블에서 스키마는 테이블의 첫 행인 헤더에 나타난다.
- 각 데이터의 속성 자료 타입 등의 정보를 담는다.
릴레이션 인스턴스
- 정의된 스키마에 따라 테이블에 실제로 저장되는 데이터의 집합
릴레이션의 차수(degree), 카디널리티(cardinality)
- 차수(degree)는 릴레이션이 속성이 몇개 있는지를 의미한다.
- 카디널리티는 행의 개수, 튜플의 개수를 의미하며 전체가 릴레이션 인스턴스이다.
도움 받고 가요!