본문 바로가기
Database

DB | 데이터베이스 시스템

by Hoya324 2023. 8. 25.

CHAPTER 01 데이터베이스 시스템

데이터베이스의 개념

1. 통합된 데이터(integrated data)

  • 여러 곳에서 사용하던 데이터를 하나로 저장
  • 중복 최소화로 데이터 불일치 현상 제거

2. 저장된 데이터(stored data)

  • 컴퓨터 저장 장치에 저장된 데이터

3. 운영 데이터(operational data)

  • 조직의 목적을 위해 사용되는 데이터

4. 공용데이터(shared data)

  • 여러 사람 또는 업무에 공동으로 사용되는 데이터

데이터베이스의 특징

1. 실시간 접근성(real time accessibility)

  • 사용자가 요청하는 순간 실제 데이터를 서비스한다.

2. 계속적인 변화(continuous change)

  • 삽입, 삭제, 수정 등의 작업으로 데이터의 변화를 저장한다.

3. 동시 공유(concurrent sharing)

  • 데이터베이스에 접근하는 사용자 데이터 요청 프로그램이 동시에 여러 개 있다.

4. 내용에 따른 참조(reference by content)

  • 데이터베이스에 저장된 데이터는 데이터 값에 따라 참조된다.
  • 사용자가 원하는 데이터를 얻기 위해 데이터 값을 사용해서 조건을 제기하면 DB가 이를 검색해준다.

데이터베이스 시스템의 구성

  • DBMS(Database Management System): 사용자와 데이터 베이스를 연결시켜주는 소프트웨어로 주기억장치에 상주한다.
  • 데이터베이스: 데이터를 모아둔 토대
  • 데이터 모델: 데이터가 저장되는 기법에 관한 내용

파일 시스템과 DBMS 비교

구분 파일 시스템 DBMS
데이터 중복 데이터를 파일 단위로 저장하므로 중복 가능성 높음 DBMS를 이용하여 데이터를 공유하기 때문에 중복 가능성 낮음
데이터 일관성 데이터의 중복 저장으로 일관성이 결여됨 증복 제거로 데이터의 일관성이 유지됨
관리 기능 보통 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등을 수행
프로그램 개발 생산성 나쁨 짧은 시간에 큰 프로그램을 개발할 수 있음
기타 장점 별도의 소프트웨어 설치가 필요없음 데이터 무결성 유지, 데이터 표준 준수 용이

데이터베이스 언어

  • SQL(Structured Query Language) 사용

데이터 정의어

  • CREATE, ALTER, DROP

데이터 조작어

  • SELECT, INSERT, DELETE, UPDATE

데이터 제어어

  • GRANT, REVOKE

DBMS의 기능

기능 설명
데이터 정의(Definition) 데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행
데이터 조작(Manipulation) 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 검색, 삽입, 수정, 삭제 작업을 지원
데이터 추출(Retrieval) 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출
데이터 제어(Control) 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어, 백업과 회복, 동시성 제어 등의 기능을 지원

데이터 모델

  • 데이터가 어떻게 구조화되어 저장되는지 결정
  • 가장 많이 사용되는 데이터 모델: 관계 데이터 모델(relational data model)

 

데이터베이스의 개념적 구조

1. 외부 단계

  • 일반 사용자나 응용 프로그래머가 접근하는 계층
  • 전체 데이터베이스 중에서 하나의 논리적인 부분 의미
  • 여러 개의 외부 스키마(서브 스키마: 뷰의 개념)가 있을 수 있다.

2. 개념 단계

  • 전체 데이터베이스의 정의
  • 통합 조직별로 하나만 존재, DBA가 관리 → 하나의 데이터베이스에는 하나의 개념 스키마
  • 독립적으로 기술되며, 데이터와 관계, 제약사항, 무결성에 대한 내용 포함

3. 내부 단계

  • 물리적 저장장치에 데이터베이스가 실제로 저장되는 방법 표현
  • 내부 스키마는 하나이며, 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함됨.

DBMS는 매핑을 통해 각 단계의 대응 관계를 정의한다.

매핑은 개념 스키마의 어느 부분이 외부 스키마가 되는지 또는 개념 스키마가 어떤 물리적인 표현을 통해 내부 스키마가 되는지에 따라 두 가지로 나뉜다.

  • 외부/개념 매핑: 사용자의 외부 스키마와 개념 스키마 간의 매핑으로, 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킨다.
  • 개념/내부 매핑: 개념 스키마의 데이터가 내부 스키마의 물리적 장치 어디에 어떤 방법으로 저장되는지 대응시킨다.

데이터 독립성

  • 하위 단계의 내용을 추상화하여 상위 단계에 그 세부 사항을 숨긴다.
  • 이를 통해, 한 단계 내의 변경에 대해서 다른 단계와 상호 간섭이 없도록 한다.
  • 일반 사용자는 사용자별로 외부 스키마가 있음
  • DBA는 일반 사용자의 외부 스키마에 영향을 주지 않고 개념 스키마나 내부 스키마의 물리적인 저장 방법을 바꿀 수 있다.

논리적 데이터 독립성(logical data independence)

  • 외부 단계와 개념 단계 사이이 독립성
  • 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원
  • 논리적 구조가 변경되어도 응용 프로그램에는 영향이 없도록 하는 개념
  • 개념 스키마의 테이블을 생성하거나 변경해도, 외부 스키마가 직접 다루는 테이블이 아니면 영향 없다.

물리적 데이터 독립성(physical data independence)

  • 개념 단계와 내부 단계 사이의 독립성으로, 저장장치 구조 변경과 같이 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원
  • 물리적 독립성이 논리적 독립성보다 구현하기 쉽다.

Reference

'Database' 카테고리의 다른 글

DB | 데이터 모델링  (1) 2023.08.28
DB | 데이터베이스 프로그래밍  (1) 2023.08.27
DB | SQL 고급  (2) 2023.08.27
DB | SQL 기초  (0) 2023.08.25
DB | 관계 데이터 모델  (0) 2023.08.25