Study/DB

Data & Database

Gyuri 2021. 8. 22. 17:59

데이터베이스

 

데이터베이스란?

관련된 데이터의 모임. 조직/개인이 사용하는 조작 가능한(처리하기 용이한), 저장된 데이터의 모임.

(예 : 사장실의 파일 캐비닛 – 주소록, 계약서 등 관리(각각 하나의 데이터베이스를 구성))

 

데이터, 정보, 데이터베이스

  • 데이터 : 실세계의 실체를 묘사하는 값. 정형화되고 기록할 만한 가치가 있다고 판단되는 어떤 현상이나 사건, 아이디어에 대한 묘사(객관적임)
  • 정보 : 데이터를 일차적으로 처리해서 컴퓨터로 나타낸 것(객관적임)
  • 지식 : 데이터&정보에 비해 상위 수준의 개념. 데이터/정보를 가지고 이들을 처리하는 방법 이나 어떤 근거에 대한 판단을 내리는데 필요한 분석과 판단에 관한 법칙 등을 포함 (주식이 오를 것인가). 주관적임

 

일시적 데이터 & 영구적 데이터

- 일시적 데이터 : 프로세스가 실행되는 동안만 일시적으로 존재 (예 : 프로그램의 변수). 휘발성

- 영구적 데이터 : 프로세스와 상관x. 프로세스의 생명주기에 종속적이지 않고 스스로 존재. 비휘발성

* 일반적인 데이터 베이스는 영구적 데이터임 (지속적인 데이터)

 

데이터베이스 관리 시스템 (DataBase Management System)

DBMS : 디스크에 저장돼있는 데이터베이스를 관리해주는 소프트웨어 시스템 (예 : 오라클, 티베로, MySQL)

 

<DMBS가 제공하는 기능>

- 정보를 표현할 수 있는 틀 : 프레임 제공. DBMS가 정보를 관리할 수 있는 양식.

  현실 세계의 정보를 컴퓨터에 저장시키는 양식이므로, 다양한 정보의 표현이 가능해야함

 

- 데이터의 공유

 → 데이터 중복 제거(동일한 데이터는 하나의 데이터로 관리). 데이터를 공유함으로써 비효율성과 일관성 문제를 제거

 → 동시성 문제 : 여러 프로그램에서 같은 데이터에 접근하면 문제 생길 수 있음. DBMS가 동시에 실행해도 되는지 판단함. 

     하나의 프로그램이 일을 마칠 때 까지 해당 데이터 독점하도록 하는 방법 등 사용

 

- 데이터의 무결성 유지 기능

  →데이터가 얼마나 정확한가?

 

- 데이터 독립성

  →응용프로그램과 내가 사용할 데이터 사이의 독립성을 보장해줌. 응용프로그램은 데이터가 디스크에 구체적으로 어떻게 저장       돼있는지 몰라도 됨

  →데이터에 종속성 : 데이터의 구조와 저장형태를 고려한 응용프로그램 구현으로, 나중에 데이터의 저장형태나 구조 바꾸려 할       때 응용프로그램도 바꾸지 않으면 안됨

 

- 효율적인 자원관리 기능

  →많은 양의 데이터를 다루는데 더 효율적인 방법들을 사용.

- 데이터의 보안성&안정성 유지 기능

  →DBMS가 관리하는 모든 데이터에 대해 자체적인 보안 기능 제공. 보안성(사람으로부터 데이터 보호),

     안정성(컴퓨터 장애/고    장 등으로부터 보호)

 

DBMS가 없다면? 이 모든 기능들을 프로그래머가 책임 져야하는 것임

 

파일 & 데이터베이스

- 파일시스템 : OS에서 관리함. 운영체제의 중요한 부분으로 데이터/프로그램을 디스크에 읽고 쓸 수 있게 해주는 프로그램

 

- 프로그램에서 다루는 데이터를 직접 하나의 파일에 저장해 관리하는 경우의 문제점

: 프로그램 이외에도 데이터 조작 가능(예 : 아래 한글 파일을 메모장으로 읽어 작업하기 – 데이터 보안 문제 생김). 프로그램과 데이터 형식이 묶여있음. 동시 접근의 문제. 보안 문제. 장애 복구 문제

 → DBMS는 데이터베이스를 다루는 데 있어 필요한 공통의 기능을 제공하는 소프트웨어 시스템임

 

- 파일 시스템 : 기본적인 저장 기능만 제공

- DBMS : 데이터베이스 관리에 필요한 다양한 기능

 

데이터베이스 시스템과 사용자

- 최종 사용자 : end user. 데이터베이스 사용하는 지도 모르고 응용 프로그램이 제공하는 인터페이스 통해 사용하는 사람들. 숙련된 최종 사용자는 응용프로그램을 이용하지 않고 DBMS에서 직접 사용

 

- 응용 프로그램 개발자 : DBMS을 이용한 응용프로그램을 개발하는 사람

 

- 데이터베이스 관리자(=DBS. DataBase Administrator) : DBMS와 이와 관련된 하드웨어/소프트웨어를 관리 감독 하는 사람

DBMS 개발자 : DBMS를 개발하는데 관여하고 DBMS를 구성하는 모듈들 설계&구현하는 사람

 

 

'Study > DB' 카테고리의 다른 글

SQL 실습  (0) 2021.08.22
SQL  (0) 2021.08.22
관계대수 실습  (0) 2021.08.22
관계대수  (0) 2021.08.22
관계형 데이터베이스  (0) 2021.08.22