본문 바로가기
AI, 빅데이터/Database

Database - 데이터베이스 시스템

by Foxy현 2022. 10. 4.
728x90
반응형

이 글에서 다룰 내용

* 데이터베이스의 정의 및 특징

* 데이터 모델

* DB 관련 용어

 

"데이터베이스 : 조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임"

쉽게 말해 우리가 필요한 정보들을 사용할 수 있도록 조직에서 데이터를 구조적으로 모아둔 것입니다.

주변에서는 은행, 쇼핑몰, 도서관, 영화관 티켓 발매기 등 어디서나 볼 수 있죠.

 

"기관을 운영하기 위해 데이터를 하나의 값으로 통합하고, 컴퓨터에 저장하며, 모두를 위한 공용 데이터"

즉, 공용, 통합, 운영, 저장 데이터의 집합입니다.

 

이런 개념을 가진 데이터베이스의 특징으로는 실시간 접근성, 내용에 의한 참조, 지속적인 변화가 있는데요,

여기서 내용에 의한 참조라는 것은 포인터라는 물리적인 위치가 아닌 내용, 즉 값에 의해 참조된다는 것입니다.

추가적으로 동시 공유성, 중복의 최소화, 데이터 독립성 정도가 있겠네요.

 

이러한 DB(Database)를 사용자에게 연결해주는 데이터베이스 관리 시스템은 DB를 정의하고, 질의어(SQL), 리포트를 생성하는 소프트웨어입니다.

 

하지만, 우리가 사용하는 일반 파일 시스템 말고 DBMS를 사용하는 이유는 무엇일까요?

바로 데이터의 일관성, 보안성, 무결성, 경제성 등의 이유인데요.

데이터의 중복 제거로 일관성이 유지되며, 시스템 관리 시 데이터 복구 및 보안에 좋고, 데이터가 비교적 정확한편이며, 생산에 보다 짧은 시간이 소요가 되므로 사용하게됩니다.

주로 데이터 정의, 조작(데이터 삽입, 수정 등), 데이터 추출, 데이터 제어 등의 기능을합니다.

 

결국 이렇게 DB와 DBMS, 그리고 데이터 모델이라는 것으로 구성된 것이 데이터베이스 시스템입니다.

DBMS를 도입하여 데이터를 통합관리를 하며 데이터의 중복을 줄이고 데이터를 표준화하며 무결성을 유지하는 기능을합니다.

여기서 데이터가 저장된 곳을 서버, 데이터를 요청하는 곳을 클라이언트라고 부릅니다.

 

위에 데이터 모델이란 무엇일까요?

데이터 모델은 데이터를 정의하고, 데이터 간의 관계를 규정하며 제약조건을 나타내는 개념적인 도구 같은 것입니다.

계층형 모델, 네트워크형 모델, 관계형 모델 등 그 외에도 여러 데이터 모델이 있습니다.

계층형 모델은 트리형태로, 데이터를 포인터(위치 관계)로 표현합니다. 검색 속도가 빨라 1:n 처리에 유리하죠.

네트워크 모델은 계층형 모델의 데이터 독립성 제한이라는 단점을 보완하기 위한 모델로, m:n처리가 가능합니다. 이 또한 포인트로 표현합니다.

제일 많이 사용하는 관계형 모델은 서로 연관된 데이터들을 모아두며 테이블 구조로 표현됩니다.

데이터베이스는 또한 3단계의 구조로 이루어져 있는데,

각각의 사용자가 보는 데이터인 외부스키마, 모든 데이터의 통합적인 관점인 개념 스키마, 저장 장치의 관점으로 보는 내부스키마가 있습니다.

여기서 스키마란 데이터베이스에 저장되는 데이터 구조와 제약조건 등을 정의한 것입니다.

 

이러한 데이터베이스는 누가 사용하는걸까요?

먼저, 일반인. 일상으로 예를들면, 영화티켓을 예매하려는 사람들을 생각 할 수 있겠네요. 이는 일반 사용자라고 부릅니다. 일반 사용자는 그 프로그램을 사용하는 모든 사람이 해당됩니다. DB가 어떻게 설계되어있는지 몰라도 기능을 통해 원하는 데이터를 얻을 수 있죠.

다음으로는 응용 프로그래머. 우리같은 일반인이 사용할 수 있도록 프로그램을 만드는 사람에 해당됩니다.

데이터베이스에 대해 자세히 알지 못해도 원하는 업무를 사용할 수 있습니다. DB를 설계하는 것이 아닌 SQL을 사용하여 데이터를 사용만하기 때문이죠.

마지막으로 데이터베이스 관리자(Database Administrator). 데이터베이스의 시스템을 총괄하는 사람입니다.

주로 데이터를 설계하며, 유지 보수 등 모든 데이터베이스에 대한 부분을 담당하고 있죠. 

데이터를 사용하기 위해 요청을 전달하기 위한 언어 또한 존재하는데요, 3가지 그룹으로 분류됩니다.

  • 데이터 정의어 : 기본적으로 DB 스키마를 컴퓨터가 이해하도록 기술
  • 데이터 조작어 : 데이터를 처리할 수 있게 하는 도구
  • 데이터 제어어 : 데이터 관리를 위한 도구로, 데이터의 보안, 무결성, 회복, 병행 등을 수행합니다.


 

 

 

 

 

오늘은 일상생활에서 흔히 볼 수 있는 데이터베이스에 대한 개념적인 부분에대해 알아보았습니다!

다음 글에는 주로 사용하는 관계형 데이터 모델에 대해 조금 더 자세히 다뤄보도록 하겠습니다

감사합니다!

728x90
반응형