본문 바로가기
IT

데이터베이스 시스템 추상화 DBMS SQL 스키마 외부 개념 내부 관계

by 심슨아빠똥 2022. 7. 24.
728x90

데이터베이스 시스템

1. 파일로 데이터를 처리할 때 문제

(1) 데이터 중복성의 문제
- 같은 데이터가 여러 프로그램에 중복되어 나타나기 때문에 발생한다.

(2) 데이터 종속성의 문제
- 새로운 파일 구조에 맞춰 파일을 공유하는 프로그램을 다 고쳐야 하는 종속적인 문제 발생한다.

(3) 보안의 문제
- 원가같이 허가받은 응용 프로그램이나 사용자만 데이터에 접근할 수 있기 때문에 보안 문제 발생한다.

(4) 백업 및 회복의 문제
- 백업을 하지 않으면 소중한 데이터를 다 날리기 때문에 문제 발생한다.

 

 

 

2. DBMS와 SQL

#DBMS
- 데이터베이스를 관리하고 작업을 통해 의미있는 정보를 생성할 수 있는 시스템이다.
- DB에 쌓인 데이터에서 삽입, 삭제, 검색 등을 쉽게 할 수 있게 만든 시스템이다.
- 파일로 데이터를 처리할 때 문제 해결한다.
- 데이터의 중복을 막을 수 있고, 데이터를 독립적으로 사용할 수 있고, 프로그램이나 사용자의 접근 권한을 설정하고 자동 백업과 회복 기능 가진다.

#SQL
- DBMS가 데이터베이스에 저장된 데이터를 처리하려고 만든 언어
- 스키마를 만들어서 관리한다.
- 스키마 : 데이터의 삽입, 삭제, 갱신 등의 작업에 적합한 구조체다.
- DBMS가 질문을 하면 응답하는 구조

#DBMS 구조
- DB 내 DBMS는 프로그램이나 사용자가 입력한 SQL을 해석하여 응답해주고 데이터베이스에 저장된 데이터가 훼손되지 않도록 관리하고 백업하는 역할을 한다.
- 오라클, MySQL,SQL서버, SQLITE

3. 스키마

- 데이터베이스에 저장되는 데이터 구조와 제약 조건을 정의한 것이다.
- 데이터베이스의 설계도 같은 것, 처음부터 잘 만들지 않으면 문제 발생한다.
- 각 필드의 제약 사항 명시한다.
- 데이터베이스 설계자는 다루려는 데이터를 관찰한 후 세심하게 설계해야 한다.
- 스키마 설계 후 구조에 맞게 데이터 삽입한다.
- 레코드 : 스키마 구조에 맞추어 저장된 데이터 묶음 1개

 

4. 데이터베이스의 추상화

- 미국표죽기관인 ANSI/SPARC에서는 3단계로 추상화된 데이터베이스 구조를 제안 = 3단계 데이터베이스 구조
- 3단계 데이터베이스 구조 : 사용자의 관점, 조직의 관점, 시스템의 관점에 따라 데이터베이스를 외부, 개념, 내부 단계로 나눔

#외부단계
- 사용자 관점에서 보이는 데이터베이스
- 사용자 또는 프로그램이 보이는 단계 이므로 뷰 단계라고도 한다.
- 전체 스키마 중에서 각 직원이나 팀에 필요하다고 생각되는 스키마를 새로 구성하여 보여주는 단계
- 이때 만든 스키마는 외부스키마라고 한다.
- 전체 스키마 중 일부 스키마만 보여주기 때문에 서브 스키마라고도 한다.
- 전체 스키마에서 외부 스키마를 여러 개 생성 가능하다.

#개념 단계
- 조직 전체의 관점에서 바라보는 데이터베이스
- 모든 외부 스키마를 통합하여 하나의 스키마로 구성 : 개념 스키마
- 전체 시스템에서 사용할 업무와 권한이 개념적으로 정해지는 단계
- 개념 스키마는 DB 내 한 개만 존재한다.
- 개념 스키마에는 데이터를 물리적으로 어떻게 저장할지를 정하는 정보는 없음 = 일반적으로 스키마는 개념 스키마를 가리킨다.

#내부단계
- 데이터베이스를 실제로 저장하는 단계
- 디스크나 테이프 등 저장 장치에 어떤 방식으로 저장할지 결정한다.
- 로크드이 구조, 필드의 종류와 크기, 접근할 수 있는 인덱스처럼 저장에 필요한 정보들을 결정하는 단계
- 다른 모든 필드도 같은 방법으로 정의되며, 모든 레코드는 내부 스키마가 정의한 구조에 맞게 저장된다.

#독립성
- 데이터베이스 3단계로 추상화하고 단계별로 스키마를 만드는 것은 데이터의 독립성 때문이다.
- 외부 스키마, 개념 스키마, 내부 스키마의 변경이 서로에게 영향을 미치지 않고 독립적으로 움직인다.
- 각 스키마의 변경이 다른 스키마에 영향을 미치지 않기 때문에 스키마 구조를 변경하기가 쉽다.
- 데이터 독립성은 데이터베이스가 추구하는 궁극적인 목표이며 우리가 데이터베이스를 사용하려는 이유다.

728x90

댓글