DB Schema?

Parker.Park·2022년 4월 9일
0

코드캠프

목록 보기
14/34

DB Schema?

Schema는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터(?)의 집합이라고 한다.

Schema는 데이터베이스를 구성하는 데이터 개체(Entity), 속석(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약조건 등에 관한 전반적으로 정리 한것이라고 한다.

Schema는 사용자 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠 진다고 한다.

스키마 특징
  • 데이터 사전(?)에 저장되며, 다른 이름으로 메타데이터라고도 한다고 한다.
  • 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다고 한다.
  • 간에 따라 불변인 특성을 갖는다고 한다.
  • 데이터의 구조적 특성을 의미하며, 인스턴스(?)에 의해 규정된다고 한다.
데이터 사전?

데이터 항목들에 대한 정보를 지정한 중앙 저장소라고 한다.

메타 데이터

데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해 주는 데이터라고 한다.

인스턴스?

-일반적으로 실행중인 임의의 프로세스, 클레스의 현재 생성된 오브젝트를 의미한다고 한다.
-객체의 인스턴스는 광범위한 컴퓨터시스템 자원의 접근에 할당된 물리 메모리의 일부를 의미한다고 한다.

외부스키마 : 사용자 뷰
  • 사용자나 응용프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이라고 한다.
  • 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마(Sub Schema)라고도 한다.
  • 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있으며 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수도 있다고 한다.
  • 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다고 한다.
  • 일반 사용자는 질의어(SQL)을 이용하여 DB를 쉽게 사용할 수 있다고 한다.
  • 응용 프로그래머는 C, JAVA등의 언어를 사용하여 DB에 접근한다고 한다.
개념스키마 : 전체적인 뷰
  • 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다고 한다.
  • 개체간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다고 한다.
  • 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마(Schema)라고 하면 개념 스키마를 의미한고 한다.
  • 기관이나 조직체의 관점에서 데이터베이스를 정의한것이라고 한다.
  • 데이터베이스 관리자(DBA)에 의해서 구성된다고 한다.
내부 스키마 : 저장 스키마
  • 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 물리적인 저장장치와 밀접한 계층이라고 한다.
  • 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다고 한다.
  • 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마라고 한다.
데이터 독립성

데이터베이스 내의 데이터, 데이터를 사용하는 사용자 및 응용 프로그램, 데이터베이스의 저장 구조가 서로 영향을 받지 않는 성질을 의미한다고 한다.
-논리적 독립성 : 개념스키마가 변경되어도, 외부스키마에는 영향을 주지 않는다고 한다.
-물리적 독립성 : 내부 스키마가 변경되어도, 개념스키마 / 외부 스키마에는 영향을 주지 않는다고 한다.

마치면서

많이 들어본거 같으면서도 새로운 개념들... 익숙하다.

참조

[[DB기초] 스키마란 무엇인가?, tistory, 2022년04월26일 접속]
https://coding-factory.tistory.com/216
[메타데이터, 나무위키, 2022년04월26일 접속]
https://namu.wiki/w/%EB%A9%94%ED%83%80%EB%8D%B0%EC%9D%B4%ED%84%B0
[인스턴스, 위키백과, 2022년04월26일 접속]
https://ko.wikipedia.org/wiki/%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4
[[DB 데이터베이스] 스키마(Schema)의 개념 및 특징, Github, 2022년04월26일 접속]
https://iingang.github.io/posts/DB-schema/#%EC%8A%A4%ED%82%A4%EB%A7%88%EC%9D%98-%ED%8A%B9%EC%A7%95

profile
개발자준비중

0개의 댓글