거인의 코딩일지
[DB] 스키마(Schemas)란?? 본문
728x90
스키마(Schemas)란???
- 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다.
- 스키마는 데이터베이스를 구성하는 데이터의 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약조건등에 관해 전반적으로 정의함
- 스키마는 사용자의 관점에 따라 외부스키마, 개념스키마, 내부 스키마로 나누어 진다.
스키마의 특징
- 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고 한다.
- 현실 세계의 특정한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어 진다.
- 시간에 따라 불변인 특성을 갖는다.
- 데이터 구조적 특성을 의미하며, 인스턴스에 의해 규정된다.
스키마의 3계층?
- 데이터베이스 관리 시스템은 외부스키마에 따라 명시된 사용자의 요구를 개념스키마에 적합한 형태로 변경하고 이를 내부스키마에 적합한 형태로 변환한다.
외부 스키마(External Schema) == 사용자 뷰(View)
- 사용자나 응용프로그래머가 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한것
- 전체 데이터베이스의 한 논리적인 부분으로 볼수 있으므로 서브스키마(Sub Schema) 라고도 한다.
- 하나의 데이터베이스 시스템에는 여러개의 외부스키마가 존재할 수 있으며 하나의 외부스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수도 있다.
- 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용
- 일반사용자는 SQL 을 이용하여 DB를 쉽게 사용할 수 있다.
- 응용프로그래머는 C, JAVA 등의 언어를 사용하여 DB에 접근한다.
개념 스키마(Conceptual Schema) == 전체적인 뷰(View)
- 데이터베이스의 전체적인 논리적 구조로서, 모든 응용프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.
- 개체간의 관계와 제약조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명시를 정의한다.
- 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로 단순히 스키마(Schema) 라고 하면 개념 스키마를 의미한다.
- 기관이나 조직체의 관점에서 데이터베이스를 정의한 것
- 데이터베이스 관리자 (DBA)에 의해서 구성된다.
내부 스키마(Internal Schema) == 저장 스키마(Storage Schema)
- 물리적 저장장치의 입장에서 본 데이터베이스 구조로서 물리적인 저장장치와 밀접한 계층
- 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부레코드의 물리적 순서 등을 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
참고문헌
[DB기초] 스키마란 무엇인가?
스키마란? 1. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다. 2. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(R
coding-factory.tistory.com
728x90
'코딩 > DB' 카테고리의 다른 글
트랜잭션(transaction)이란? + 트랜잭션의 4가지 특징 (0) | 2023.08.23 |
---|