강좌 & 팁
박두현의 컴퓨터 이론들 - Database : Schema
안녕하세요. 박두현 입니다.
데이터베이스에 대해서 조금씩 알아보고 있는데요 오늘은 스키마에 대해서 알아보도록 하겠습니다.
1. Schema
데이터베이스에서 가장 많이 나오는 용어 중 하나가 바로 스키마 일 것 입니다.
스키마는 무엇일까요? 어원으로 따지만 도식이라는 뜻인데, 흔히 기술 명세서라고 이야기 합니다. 데이터베이스의 구조와 제약 조건에 대해 전반적이 명세(Specification)를 다룬 것이죠.
이 스키마에는 데이터베이스를 구성하는 데이터 객체(Entity), 속성(Attribute), 릴레이션(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의하게 되겠습니다.
스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나누어 집니다.
일반적으로 스키마라 칭하면 뭘 의미하는 줄 아십니까? '개념 스키마'를 의미 합니다. 그렇다구요.
2. 스키마 3계층
외부 스키마, 개념 스키마, 내부 스키마를 스키마의 3계층 이라고 부릅니다. 뭐, 3개니까 3계층이라고 부르겠죠? 그렇다면 이 스키마의 3계층 각각의 구성이 어떤 의미를 가지고 어떤 역할을 수행하는지 알아보도록 하죠.
외부 스키마 (External Schema = Sub Schem = User view)
- 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의 합니다.
- 전체 데이터베이스의 한 논리적인 부분을 볼수 있어서 서브 스키마라고도 합니다.
- 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있습니다.
- 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수 있습니다.
- 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용합니다.
- 일반 사용자는 SQL을 사용하여 데이터베이스를 사용할 수 있습니다.
개념 스키마(Conceptual Schema = View)
- 데이터베이스의 전체적인 논리적 구조로서 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스 입니다.
- 오로지 하나만 존재 합니다.
- 개념 스키마는 객체간의 관계와 제약 조건을 나타내고 데이터베이스의 접근권한, 보안 및 무결성 규칠에 대한 명세를 정의 합니다.
- 기관이나 조직체 관점에서 데이터베이스를 정의한 것 입니다.
- 데이터베이스 관리자에 의해서 구성 됩니다.
- 그냥 스키마 라고만 한다면 개념 스키마를 의미 합니다.
내부 스키마(Internal Schema)
- 데이터베이스의 물리적 구조를 정의 합니다.
- 데이터의 실제 저장 방법을 기술 합니다.
- 물리적인 저장장치와 밀접한 계층 입니다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마 입니다.
3. 마치면서...
오늘은 데이터베이스에서 스키마에 대해서 알아 봤습니다.
단순하고 매우 상식적인 수준이라고 할 수 있습니다. 하지만 이게 정보처리기사에 나오네요. 알아두면 문제 풀 때 유용 합니다.
스키마에 대해서 알아봤으니 다음에는 SQL, 데이터베이스 질의문에 대해서 알아보도록 하겠습니다.
그럼 한주간도 즐거운 한주 되세요.