이제 DB를 공부할 차례라 스키마에 대해 알아보았습니다.
(출처는 제가 정보처리산업기사를 공부할때 이용했던 서적을 기준으로 합니다.)
스키마(Schema) 정의
- 스키마는 DB의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다.
- 스키마는 DB를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.
스키마의 특징
- 스키마는 데이터 사전(Data Dictionary)에 저장되며 다른 이름으로 메타데이터(meta-data)라고도 한다.
* 데이터 사전(Data Dictionary) : DB에 저장되어 있는 모든 데이터 개체들에 대한 정보를 유지/관리 하는 시스템으로 시스템 카탈로그라고도 함.
- 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해 만들어진다.
- 시간에 따라 불변인 특성을 갖음
- 데이터의 구조적 특성을 의미, 인스턴스에 의해 규정됨.
* 인스턴스 : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는것을 말함.
스키마의 3계층
1. 외부 스키마(External Schema), 서브 스키마, 사용자 뷰(View)
- 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것.
- 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마라고도 함.
- 하나의 DB 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수도 있다.
- 같은 DB에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.
- 일반 사용자는 질의어(SQL)를 이용하여 DB를 쉽게 사용할 수 있다.
- 응용 프로그래머는 C 등의 언어를 사용해 DB에 접근한다.
2. 개념스키마(Conceptual Schema), 전체적인 뷰(View)
- DB의 전체적인 논리적 구조로서 모든 응용 프로그램이나 사용자들이 필요로 하는데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.
- 개념 스키마는 개체 간의 관계(Relationship)와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
- DB 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마라고 하면 개념 스키마를 의미한다.
- 기관이나 조직체의 관점에서 DB를 정의한 것이다.
- DBA(데이터베이스 관리자)에 의해서 구성된다.
3. 내부스키마(Internal Schema), 저장 스키마(Storage Schema)
- 내부 스키마는 물리적 저장장치의 입장에서 본 DB 구조로 물리적인 저장장치와 밀접한 계층이다.
- 실제로 DB에 저장될 레코드의 물리적인 구조를 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
* 레코드는 Record, Row 혹은 Tuple이라고 불리운다.
스키마의 요소
릴레이션 용어
- 속성(attribute, column) : 릴레이션(테이블) 스키마의 열
차수(degree) : 속성의 개수
- 도메인(domain) : 속성이 가질 수 있는 값의 집합
- 튜플(tuple , 레코드, row) : 릴레이션 각 행
카디널리티(Cardinality) : 튜플의 개수
관계 데이터베이스
데이터베이스를 테이블와 관계로 구성
테이블은 속성과 튜플로 구성
'자바과정 > DB(Oracle)' 카테고리의 다른 글
SQL 기본 정리 (0) | 2021.03.12 |
---|---|
JDBC 프로그램 작성 (0) | 2021.03.12 |
SQL Developer 사용법과 hr 계정 접속 (0) | 2021.03.12 |
SQL Developer 설치 (0) | 2021.03.11 |
Oracle SQL로 계정 생성하기(System 아이디 이용) (0) | 2021.03.11 |
댓글