DataBase
DataBase의 개념
데이터 베이스의 정의
- 통합된 데이터(intergrated) : 자료의 중복 배제
- 저장된 데이터(stored) : 저장 매체에 저장
- 운영 데이터(opreational) : 조직의 운영에 필수적
- 공용 데이터 (shared) : 여러 응용 시스템들 공동 소유 및 접근
데이터 베이스의 특징
- 실시간 접근성(real-time accessibility) : 수시적 비정형 질의에대한 실시간 응답
- 계속적인 변화(continous Evolution) : DB는 동적이다
- 동시 공용(concurrent sharing)
- 내용에 의한 참조(content reference) : 주소,위치에 의한 참조아님
데이터 베이스 시스템
시스템의 구성요소
- 데이터베이스
- 스키마
- DBMS
- 데이터 베이스 언어
- 데이터베이스 컴퓨터
- 데이터베이스 사용자
DBMS의 기능
DBMS의 정의
- DB를 관리해주는 소프트웨어
- 기존의 File system이 가지던 데이터 종속성 과 중복성 문제 해결위해 제안
- 모든 응용프로그램이 DB를 공용할 수 있도록 관리
종속성과 중복성으로 인한 문제점
종속성으로 인한 문제점
- 파일의 저장 방법이나 저장된 데이터 접근 방법을 변경 할 때 응용프로그램도 같이 변경해야한다.
중복성으로 인한 문제점
- 일관성 : 내용이 일치하지 않을 수 있다.
- 보안성 : 중복된 모든 데이터에 동등한 보안 수쥰 유지 어려움
- 경제성 : 저장공간 낭비와 데이터 반복 작업으로 인한 비용 증가
- 무결성 : 제어의 분산으로 데이터 저확성 유지 못함
DBMS의 필수 기능
정의(조직)(Definition)
- DB에 저장될 데이터의 TYPE과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시(정의)
조작(Manipulation)
- 사용자와 DB 사이에 interface 수단을 제공하는 기능
제어(control)
- 갱신 삽입 삭제 작업의 체계적인 처리로 데이터 무결성 유지되도록 제어
- 보안 유지 및 권한 검사
- 여러 사용자의 동시 접근에도 처리 결과가 항상 정확성을 유지하도록 병행 제어(concurrency control) 가능
스키마(Shema)
스키마의 정의
- 스키마는 DB의 구조와 제약 조건에 관한 전반적인 명세(specification)을 기술한 meta-data의 집합
- DB를 구성하는 데이터 개체(entity),속성(attribute), 관계(relationship) 등 전반적으로 정의
- 사용자의 관점 에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나누어진다.
스키마의 특징
- Data-Dictionary[^1]에 저장되며, meta-data라 불리기도함
[^1]: DB에 저장되는 모든 데이터 개체에 대한 정보를 유지 관리하는 시스템으로, 시스템 카탈로그라고 불림
- 현실 세계의 특정한 한 부분의 표현, 특정 데이터 모델을 이용해 제작
- 시간에 따라 불변
- 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 구성된다
스키마의 3 계층
보통 DBMS는 사용자의 요구를 외부 스키마 - 개념 스키마 - 내부적 스키마 형태로 변환한다
외부 스키마 = 서브 스키마 = 사용자 뷰
- 개인의 입장에서 필요로 하는 데이터의 논리적 구조를 정의
- 전체 DB의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마 (Sub shema)라고 한다.
- 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마 존재 가능 && 하나의 외부 스키마를 여러 사용자가 공용 가능
- 같은 데이터베이스에서 서론 다른 관점을 정의할 수 있도록 허용한다.[^2]
[^2]: 여러 응용 프로그램을 의미하는 것 같음, 관점 = 프로그램
개념 스키마 = 전체적인 뷰
- DB의 전체적인 논리적 구조
- 일반적으로 스키마라 한다면 개념 스키마 이다.
- 기관이나 조직체 관점에서 DB를 정의한 것이다.
- DBA가 관리한다
- 개체 간의 관계와 제약 조건을 나타냄, 접근권한 보안 및 무결성 규칙에 관한 명세 정의
내부 스키마 = 저장 스키마
- 물리적 저장장치의 입장에서 본 데이터 베이스 구조
- 저장될 레코드의 물리적인 구조를 정의, 저장 데이터의 항목 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마
Comment