본문 바로가기

2021 정보처리기사/2과목: 소프트웨어 개발

[2021 정보처리기사 필기] 스키마(Schema)란? 개념과 종류, 특징

728x90
반응형

목차

 

 

 

[정보처리기사 2과목 필기 예상 키워드] 목록으로 돌아가기

 


 

 

스키마(Schema) 란?

스키마(Schema)란, 쇼핑몰로 예를 들었을 때 회원정보, 상품, 주문내역과 같이 데이터베이스(DB)를 구성하는
데이터 개체, 속성, 관계에 대한 정의와 각 데이터를 조작할 때 이들이 유지해야 될 제약조건 등을 전반적으로 정의해놓은 것을 말한다.

쉽게 말하면 "주문내역"은 쇼핑몰 DB에 저장되어있는 데이터 중 하나이다.
이것을 사용자가 어떤 버튼을 클릭했을 때 어느 DB에서 불러와 어떤 구조로 어떻게 배치되게 할 것이며 그것을 쇼핑몰 관리자는 어떻게 관리하게 할 것이고,
응용 프로그래머는 어디에 어떻게 저장되게끔 할 것인지 등을 정의하는 전반적인 명세의 집합이라고 할 수 있다.

스키마는 사용자의 관점에 따라 3계의 계층(외부,개념,내부)으로 정의하게 된다.

 

 

그림출처: 코딩팩토리(https://coding-factory.tistory.com/216)

 

 

 

 

사용자 관점에 따른 스키마의 분류 (스키마 3계층)

외부 스키마(External Schema, Sub Schema ): 사용자 관점의 스키마 = 사용자 뷰

쇼핑몰에서 어떤 사용자나 응용프로그래머가 '주문내역'을 보려고 하는 상황에서
'주문자 성함'과 같은 부분은 DB의 회원 테이블에서 '이름'을 가지고 와서 보여주게 된다.
마찬가지로 상품 종류, 주문 일자와 같은 데이터들을 각각의 테이블에서 가지고 와서 하나의 화면에 그 내역을 보여준다.

사용자와 관련된 데이터베이스 부분만 정의해 놓은 것,
전체 DB 중 특정 사용자나 응용 프로그램에 관련된 데이터 베이스 부분만을 정의한 것을 외부스키마 라고 한다.

위 그림에서와 같이 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있으며,
"주문내역" 이라는 하나의 외부 스키마를 여러 사용자가 공용할 수도 있다.

응용프로그래머는 C, JAVA 등의 언어를 사용하여 DB에 접근하며
사용자는 질의어(SQL)을 이용해 DB를 쉽게 이용할 수 있다.

 


 

개념 스키마(Conceptual Schema): 기관/조직체(회사) 관점의 스키마 = 전체 뷰

해당 기관/조직체에서 일하는 직원들이 이 스키마를 바라볼 땐 개념스키마(일반적인 스키마)라고 하여
논리적인 구조, 전체적인 구조를 모두 볼 수 있다. 앞서 정보를 생성하기 위한 개체, 관계, 제약조건을 포함한다는 말은

예를들어 사용자가 id를 입력할 때는 영문만 입력되도록, 주문 수량을 입력할 때는

숫자만 입력되도록 하는 것과 같은 제약조건 전반을 의미한다.

상품 테이블, 주문 테이블, 회원정보 테이블 같은 개체간의 관계와 제약조건,
DB의 접근 권한, 보안 정책, 무결성 규칙에 대한 명세를 정의한다.  데이터베이스 관리자(DBA)에 의해 구성된다.

즉, 데이터베이스의 전제척, 논리적 구조를 의미하는 것이다.

 


 

내부 스키마(Internal Schema, Storage Schema): 시스템 프로그래머/설계자 관점의 스키마 = 저장장치

내부 스키마는 어딘가의 하드디스크에 저장되어있는 DB를 설계하는 시스템 프로그래머나
시스템 설계자 입장에서 바라본 스키마이다. 어떤 테이블이 어디에 저장되게 할 것인지,
저장되는 구조와 접근하는 경로, 순서 등을 정의해놓은 것이다. 계층상 물리적 저장장치와
가장 밀접하다.

즉, 데이터베이스의 물리적 구조를 뜻한다.

 

 

 

 

 

 

 

 

[2021 정보처리기사 키워드 정리] 2. 소프트웨어 개발 (상시업데이트)

[2021 정보처리기사 키워드 정리] 2. 소프트웨어 개발 2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리

y-oni.tistory.com

참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV

728x90