-
데이터 모델의 3가지 요소
데이터모델은 구조, 연산, 제약조건의 3요소가 존재한다.
- 구조 : 개체 타입들간의 관계를 지정한다.
- 연산 : db를 검색, 갱신, 삽입 등의 기능을 한다. 또한 사용자가 지정한 연산을 수행할 수도 있다.
- 제약조건 : 연산하는 데이터에 제약조건을 건다.
스키마
DB에 대해 설명 및 정의. 정의하는 거니까 잘 바뀌지 않는다.
DB 구조, 데이터 타입, 제약조건의 내용이 포함된다.
외부, 개념, 내부 스키마 (겁나 중요)
스키마는 크게 3개로 나뉜다.
나뉘는 이유가 중요한데, (1)프로그램과 데이터간 독립성을 띠게 하기 위함이고, (2)데이터에 대한 다양한 관점을 제공하기 위해서다.
외부 스키마
사용자들의 다양한 관점을 제공하기 위한 스키마다. 스키마의 가장 외곽부분에 속한다.
예시) 인터넷 카페에서 등급별로 볼 수 있는 자료가 다른 경우. 즉, 등급이 관점이 되고, 관점에 따라서 제공되는 데이터가 다른 것이다.
개념 스키마
전반적인 DB에 대한 구조와 제약조건을 정의한다.
데이터 모델은 개괄 또는 개념 데이터 모델을 사용한다
내부 스키마
실제 데이터가 저장되는 물리적 구조와 접근 경로를 설정한다.
물리적 데이터 모델을 사용한다.
세 개의 스키마는 기능이 구별되어 있지만 결국은 매핑을 해야 이용할 수 있다.
매핑하는 방법은 추후 구체적으로 언급될 예정이다.
데이터 독립성 (겁나 중요)
데이터 독립성이란, 스키마의 값이 변경되어도 상위 스키마의 값에는 영향을 주지 않는 것을 말한다.
종류는 두 가지, 논리적 독립성과 물리적 독립성이 존재한다.
논리적 독립성은 개념 스키마를 외부 스키마 또는 연관된 프로그램에 영향을 주지 않고 변경할 수 있는 성질을 뜻한다.
물리적 독립성은 내부 스키마를 개념 스키마를 건드리지 않고 변경하는 성질이다.
예를 들어 어떤 파일 구조가 바뀌거나 재정의되더라도 개념 스키마의 내용은 안바뀌는 것이다.
근데 스키마를 설명하면서 세 개의 스키마는 결국 매핑을 해야 기능을 한다고 했다.
그럼 하나의 스키마 값이 변경되면 유기적으로 영향을 주는 게 정상아닌가? 맞다. 영향을 주긴 준다.
변경되는 값이 존재하긴 하는데 그게 각 스키마를 건드리는 것이 아닌 스키마 사이를 연결하는 매핑이 바뀌는 것이다.
인스턴스(State)
DB에 저장된 실제 데이터를 의미한다.
순간의 데이터이다. DB 테이블은 자주 값이 바뀌는데, 바뀌는 그 순간 순간이 모두 인스턴스가 된다.
시스템이 초기에 불러오는 인스턴스를 Initial State라고 한다.
DB의 구조와 제약조건을 만족하는 인스턴스를 Valid state라고 한다.
'전공 > 데이터베이스' 카테고리의 다른 글
EER(Enhanced Entity-Relationship) 모델링 (0) 2020.06.09 엔터티-릴레이션 모델을 활용한 데이터 모델링 (0) 2020.06.09 데이터베이스 개요 (0) 2020.06.08