본문 바로가기
CS/데이터베이스

[데이터베이스] 관리의 개요

by merona99 2021. 10. 17.
반응형

CH1. 데이터베이스 관리의 개요

 

 

데이터베이스 시스템

- 단순히 컴퓨터를 사용한 전산화된 레코드 유지 시스템

 

데이터베이스

- 전자적인 화일 캐비넷으로 생각

- 즉, 전산화된 데이터 화일의 저장 장치

 

데이터베이스 시스템의 사용자들의 수행 연산

- 추가(create), 삽입(insert), 검색(select), 갱신(update), 삭제(delete), 제거(drop)

 

 

  • SELECT, INSERT, UPDATE와 DELETE 연산
  •  - SQL이라 불리는 데이터베이스 언어 문장으로 표현
  • SQL은 UPDATE란 키워드를 주로 변경(change)이라는 의미 사용
  •  - ‘update’란 용어가 INSERT, UPDATE, 그리고 DELETE의 세 연산 그룹을 한 단어로 지칭하는데 사용(update, UPDATE) 
  • 사용되고 있는 데이터베이스의 대다수는 실제 관계형

 

 

 

[데이터베이스 시스템]

 

[정의]

  • 기본적으로 데이터베이스 시스템은 전산화된 레코드 유지 시스템
  • 즉, 정보를 유지하고 요구가 있을 때 이 정보를 이용 가능하게 하는 시스템
  • (정보: 시스템이 개인이나 조직체의 요구사항을 처리하는데 있어서 중요하다고 인식되는 모든 지식)
  • 데이터, 하드웨어, 소프트웨어, 사용자들로 구성

 

[데이터베이스 시스템의 구성 방법]

  • 개인용 컴퓨터에서 대형 컴퓨터까지 모든 컴퓨터에서 사용 가능
  • 컴퓨터의 크기와 성능에 따라 제공되는 기능이 어느정도 다름
  • 대형 시스템은 다중 사용자 시스템의 경향, 소형 시스템은 단일 사용자 시스템의 경향

 

단일 사용자 시스템: 한순간에 한 명의 사용자만이 조작할 수 있는 시스템

다중 사용자 시스템: 동시에 여러 사용자가 조작할 수 있는 시스테

 

 

1) 데이터

  • 데이터베이스에 저장되어 있는 데이터는 통합되어 있고 공유가능
  • 대형 시스템 환경에서 데이터베이스 시스템의 주요 장점

 

통합된다(integrated)는 것?

- 데이터베이스를 중복이 전체적으로 or 부분적으로 제거된 몇개의 구별되는 데이터 화일들의 단일화로 본다는 것을 의미

 

공유된다(shared)는 것?

- 서로 다른 사용자들이 서로 다른 목적으로, 데이터베이스 내의 같은 데이터를 접근(access)할 수 있다는 의미

- 이들이 데이터 베이스에 저장된 데이터의 각 부분을 공유한다는 것을 의미

- 여러 다른 사용자들이 동시에 같은 데이터를 접근하여, 서로 다른 목적으로 그 정보를 사용

 

 

2) 하드웨어(H/W)

  • 시스템의 하드웨어
  • 보조기억장치(대부분 자기 디스크) 는저장 데이터를 유지하는 데 사용되며 , I/O 장치(디스 크 드라이버등), 장치 제어기, I/O 채널 등과 결합되어 있음
  • 프로세서(처리기)들과 주기억장치가 데이터베이스 시스템 소 프트웨어의 실행을 지원하는 데 사용

 

3) 소프트웨어(S/W)

  • 물리적 데이터베이스(즉, 물리적으로 저장된 데이터)와 시스템을 사용하는 사용자 사이에는 데이터베이스 관리기(DB 관리기) 또는 보통 데이터베이스 관리시스템(DBMS) 이라고 불리 는 소프트웨어
  • 데이터베이스를 접근하기 위한 사용자들의 모든 요구는 DBMS가 처리

 

4) 사용자

  • 응용 프로그래머(application programmer) - 고급언어를 사용하여 데이터베이스에 접근하는 응용 프로그램을 작성
  • 온라인 터미널에서 대화식으로 시스템을 사용하는 최종 사용자
  • 데이터베이스 관리자(or DBA)

 

 

 

[데이터베이스]

 

[정의]

  • 데이터베이스내의 데이터: 지속적인(persistent) 데이터
  • 입력(input) 데이터
  • 출력(output) 데이터

데이터베이스: 어떤 특정 기업체 조직의 응용 시스템들에서 사용하는 지속적인 데이터의 집합

 

 

[성질]

  • 기록하고자 하는 어떤 객체로 개체를 정의 
  • 개체 (관계성의 경우도 마찬가지)는 그것에 관해 기록하길 원하는 정보와 연관된 성질(property)들을 갖음

 

데이터(data)

  • “주다” 라는 뜻의 라틴어에서 파생
  • 데이터는 실제 추론될 수 있는 다른 사실로부터 주어진 사실
  • (주어진 사실로부터 추론된 추가적인 사실은 정확하게는 DBMS 사용자 질의를 받았을 때 내는 결과물)

 

관계형 시스템

  • 데이터의 관계형 모델 (The relational model of data)
  • 데이터는 테이블에서 행으로 표현, 연산자는 테이블에서 행에 대해 연산을 위해 제공

 

데이터 모델은 추상적인, 자신을 내포하는, 객체와 연산자 등에 대한 논리적인 정의

  • 사용자와 상호작용하는 추상적인 기계를 구성
  • 객체로 데이터의 구조를 모델링할 수 있고, 연산자로서는 데이터의 행위를 모델링
  • 데이터 모델은 사용자, 데이터 모델 구현은 개발자
  • 데이터 모델은 프로그래밍 언어와 같다

 

주어진 데이터 모델의 구현은 데이터 모델을 구성하는 추상적인 기계의 구성요소를 실제 기계의 물리적인 존재

 

 

 

[데이터베이스의 장점]

  • 압축성(compactness)
  • 처리속도
  • 단조롭고 고된 일의 감소
  • 현재성

 

 

데이터 관리자(DA; Data Administrator)

  • 데이터 관리자의 결정 을 구현하는 책임이 있는 기술자
  • 데이터 관리자와는 달리 IT(정보기술) 전문가

역할)

  • 실제 데이터베이스를 창조하고, 데이터 관리자가 만든 여러 가지 정책(방침) 결정사항을 이루어지게 하기 위 한 기술적 제어를 구현 하는 것
  • 시스템이 적절한 성능을 갖도록 작동시키며, 관련된 여러 가지 다른 기술적 서비스를 제공해야하는 책임을 가짐
  • 실제로 DBA 기능은 한 사람이 아니라 여러 사람으로 구성된 팀에 의 해서 일반적으로 수행됨. 그러나 단순히 DBA가 한 개인이라고 가 정하는 것도 편리함

 

 

[데이터베이스 접근방식]

 

장점

  • 데이터의 공유(shared)가 가능
  • 중복성(redundancy)이 감소
  • 불일치(inconsistency)를 피할 수 있음
  • 트랜잭션 지원이 제공
  • 무결성(integrity)을 유지
  • 보안(security)을 유지 가능
  • 요구 사항간의 충돌이 해결
  • 표준화(standard)가 가능

 

단점

  • 다수의 사용자가 데이터베이스에 접근하기 때문에 비밀과 프라이 버시 노출 등의 단점이 존재할 수 있음
  • 구조가 복잡하기 때문에 장애가 발생했을 때 정확한 이유나 상태 를 파악하기 어려움

 

 

[데이터베이스 시스템에 있어서 응용들이 데이터 종속적이면 안 되는 이유]

  • 서로 다른 응용이 같은 데이터에 대해 서로 다른 뷰(view)를 필요
  • 데이터베이스 관리기는 요구사항의 변경에 따라 이미 존재하는 응 용에 대한 변경 없이 물리적 표현나 접근 전략을 자유롭게 변경할 수 있어야 함

 

 

[데이터베이스 목적]

  • 데이터의 독립성 공급
  • “물리적 표현와 접근 기법(access technique)으로부터 응용을 분리 시키는”으로 정의
  • 응용은 특정 물리적 표현이나 접근 기법에 의존하지 않는 것을 의미
  • 데이터 베이스 관리기가 변경하고자 하는 타입과 응용이 독립되어야 할 변경타입
  • ex) 저장 필드(stored field), 저장 레코드(stored record), 저장 화일(stored file)

 

저장 필드(stored field): 이름이 붙여진 저장하려는 데이터의 가장 작은 단위의 이름

저장 레코드(stored record): 관련된 저장 필드들의 이름이 붙여진 묶음

저장 화일(stored file): 한 가지 타입의 저장 레코드에 대한 모든 어커런스의 묶음에 대한 명칭

 

 

 

[DBMS가 고려해야 할 점]

  • 수치적 데이터의 표현
  • 문자 데이터의 표현
  • 수치적 데이터의 단위
  • 데이터 코딩(coding)
  • 데이터 구체화(data materialization) - 단위, 데이터 타입 등의 차이
  • 저장 레코드의 구조 - 조인, 분해 등
  • 저장 화일의 구조저장 - 물리적으로 구현할 때

 

 

[관계형 시스템과 다른 시스템의 차이]

  • 1970년도에 IBM에 근무하는 코드(E.F. Codd)박사가 관계데이터모델을 제안
  • 시스템이 관계형이라는 것
  •   - 사용자는 데이터를 테이블
  •   - 사용자가 제안한 연산자(검색 등)는 새로운 테이블을 만들어 내는 연산자

관계DBMS의 장점: 모델이 간단하여 이해하기 쉬우며, 사용자는 자신이 원하는 것만 명시하고, 데이터가 어디에 있는지, 어떻게 접근해야 하는 지는 관계 DBMS가 결정 한다는 것

 

 


 

// 데이터베이스 1주차

 

반응형

댓글