[DB] 데이터베이스 시스템

박성빈·2023년 6월 21일
0

DB

목록 보기
3/3

데이터베이스 시스템(DBS)의 정의

데이터베이스에 데이터를 저장하고, 저장된 데이터를 관리하여 조직에 필요한 정보를 생성해주는 시스템.

흔히 데이터베이스, 데이터베이스 관리 시스템, 데이터베이스 시스템을 같은 의미로 사용하는데 각 용어의 개념을 명확히 구분하여 이해해야 한다.

  • 데이터베이스(DB) : 데이터를 저장해두는 곳, 데이터의 집합
  • 데이터베이스 관리 시스템(DBMS) : 데이터베이스에 저장된 데이터가 일관되고 무결한 상태로 유지되도록 관리하는 시스템
  • 데이터베이스 시스템(DBS) : DB와 DBMS를 이용해 조직에 필요한 정보를 제공해주는 전체 시스템

데이터베이스 시스템은 DB와 DBMS외에도 사용자, 데이터 언어, 사용자의 컴퓨터로 구성된다.

데이터베이스의 구조

스키마(schema) : DB에 저장되는 데이터 구조와 제약조건을 정의한 것


학교에서 학생들의 데이터를 관리한다고 가정해보자.
학번, 이름, 나이, 학과, 전화번호를 저장해야 한다.
학번은 정수로, 이름은 최대 10자의 문자열, 나이는 정수, 학과와 전화번호는 최대 20자의 문자열로 정해져있다. 이러한 정해진 내용이 바로 스키마이다.
그리고 정의도니 스키마에 따라 DB에 실제로 저장된 값이 인스턴스이다.

3단계 데이터베이스 구조와 데이터 독립성

한 가지 상황을 예시로 들어보겠다. 당신은 인사과에 근무하는 회사원이다.
당신이 어떤 직원의 인사 기록을 찾아봐야 해서 인사 DB에 들어가서 그 직원의 경력사항만 살펴보고 싶다고 했을 때, 당신은 DB의 복잡한 내부구조와 작동원리를 다 알아야 할까?

당연하겠지만 절대 그렇지 않다.
이렇게 일반 사용자가 데이터베이스를 쉽게 이해하고 이용할 수 있도록 미국의 표준화 기관인 ANSI/SPARC에서 3단계 데이터베이스 구조를 제안하였다.

3단계 데이터베이스 구조는 하나의 데이터베이스를 세 단계로 나누어 이해한다.

  • 외부 단계(exteranl level) : 개별 사용자 관점
  • 개념 단계(conceptual level) : 조직 전체의 관점
  • 내부 단계(internal level) : 물리적인 저장 장치의 관점

일반적으로 내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아진다.
이러한 구조로 DB의 복잡한 구조와 작동방식을 숨기고 필요한 데이터만 단순화한 외부 단계의 관점을 일반 사용자에게 제공할 수 있다.

각 단계를 디테일하게 알아보자

외부 단계

  • 개별 사용자 관점에서 DB를 이해하고 표현한다
  • 사용자마다 생각하는 데이터베이스의 구조가 다르다. 이러한 외부 단계에서 사용자에게 필요한 DB를 정의한 것을 외부 스키마라 한다. 외부 스키마는 각 사용자가 생각하는 DB의 모습을 표현한 논리적인 구조로, 사용자마다 다르다.
  • 하나에 DB에 여러 개의 외부 스키마가 존재할 수 있다.
  • 하나의 외부 스키마를 사용자들이 공유할 수 있다.
  • 서브 스키마라고도 한다.

개념 단계

  • DB를 조직 전체의 관점에서 이해하고 표현한다.
  • 모든 사용자에게 필요한 데이터를 통합하여 전체 DB의 논리적 구조를 결정한다. 이를 개념 스키마라고 한다.
  • 개념 스키마는 전체 DB에서 어떤 데이터가 저장되는지, 데이터들 간에 어떤 관계가 존재하는지, 어떤 제약 조건이 있는지에 대한 정의뿐만 아니라, 데이터의 대한 보안 정책이나 접근 권한에 대한 정의도 표함한다.
  • DB에는 하나의 개념 스키마만 존재한다.
  • 각 사용자는 목적에 맞게 개념 스키마의 일부분을 사용한다.
  • 일반적으로 스키마라고 하면 개념 스키마를 의미한다.

내부 단계

  • DB를 디스크나 테이프 같은 저장 장치의 관점에서 이해하고 표현한다.
  • 전체 DB가 저장 장치에 실제로 저장되는 방법을 정의하고 이를 내부 스키마라고 한다.
  • DB의 개념 스키마에 대한 물리적인 저장 구조를 표현하므로 하나의 DB에만 존재한다.

데이터 독립성

하나의 DB에는 세 가지 유형의 스키마가 존재하지만 이는 관점이 다를뿐 모두 같은 DB를 표현한다. 실제 데이터는 물리적 저장 장치에 저장된 DB에만 존재하므로 외부 스키마를 통해 원하는 데이터를 얻으려면 내부 스키마에 따라 저장된 DB에 접근해야 한다. 그러므로 세 가지 스키마 사이에는 유기적인 대응 관계가 성립해야 한다.

이러한 스키마 사이의 대응 관계를 사상 또는 매핑이라고 한다.

  • 외부/개념 사상 : 외부 스키마와 개념 스키마 사이의 대응 관계
  • 개념/내부 사상 : 개념 스키마와 내부 스키마 사이의 대응 관계

사상을 통해 외부 스키마에서 원하는 정보를 타고타고 들어가서 내부 스키마까지 가서 데이터를 가져올 수 있다.

앞서 데이터베이스의 3가지 구조로 나누고, 단계별로 스키마를 유지하며 스키마 사이의 대응 관계를 정의하는 궁극적인 목적은 데이터 독립성을 실현시키기 위해서다.

데이터 독립성은 하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성이다.

아주 중요한 장점이자 DBMS가 필요한 이유이다.
즉, 내부 스키마를 바꿔도 사상 정보만 잘 수정해주면 개념, 외부 스키마를 바꾸지 않아도 된다는 것이다.

profile
주로 프로그래밍을 공부하는 대학생입니다.

0개의 댓글