본문 바로가기
데이터베이스 & SQL

데이터베이스(DB), 데이터베이스관리시스템(DBMS) 개념 제대로 알기

by 데싸루나 2023. 2. 27.

코딩 테스트 등을 위한 SQL을 배우기 전에 먼저 꼭 이해해야 하는 데이터베이스와 데이터베이스관리시스템(DBMS) 개념에 대해서 이해하고, 데이터 베이스 유형에는 어떤 것들이 있는지, 각각 어떤 경우에 사용되는지, 가장 대표적인 DBMS로는 어떤 것들이 있는지 알아보도록 하겠습니다.

 

데이터베이스-관리시스템-DBMS
데이터베이스-관리시스템-DBMS

 

데이터베이스(Database)란?

데이터베이스는 체계적으로 정리된 데이터를 모아 놓은 것으로, 쉽게 액세스 하고 관리하며 업데이트할 수 있습니다. 본질적으로 데이터베이스는 쉽게 검색하고 사용할 수 있도록 데이터를 저장하고 구성하는 디지털 파일 보관함과 같습니다. 데이터베이스는 간단한 웹 애플리케이션부터 복잡한 엔터프라이즈 시스템에 이르기까지 다양한 애플리케이션에서 사용되며, 데이터베이스는 이러한 데이터를 관리하고 구성하는 데 필수적입니다. 개인, 기업, 조직에서 생성되는 데이터의 양이 증가함에 따라 효율적이고 효과적인 데이터 관리에 대한 필요성이 그 어느 때보다 커졌습니다. 데이터베이스는 데이터를 저장, 관리, 분석할 수 있는 체계적이고 효율적인 방법을 제공하여 사용자가 신뢰할 수 있고 정확한 정보를 바탕으로 정보에 기반한 의사 결정을 내릴 수 있도록 지원합니다. 

 

 

데이터베이스(Database) 유형

데이터베이스에는 여러 가지 유형이 있으며, 각각의 장단점이 있습니다. 다음은 가장 일반적인 데이터베이스 유형입니다.

 

1. 관계형 데이터베이스(Relational Databases): 관계형 데이터베이스는 가장 일반적으로 사용되는 데이터베이스 유형입니다. 관계형 데이터베이스는 행과 열로 구성된 테이블에 데이터를 저장합니다. 각 행은 레코드를 나타내고 각 열은 해당 레코드 내의 필드를 나타냅니다. 관계형 데이터베이스는 데이터베이스의 여러 테이블 간의 관계를 설명하는 관계형 모델을 기반으로 합니다. 고도로 구조화되어 있으며 구조화된 데이터를 저장하는 데 적합합니다.

관계형 데이터베이스
관계형 데이터베이스

2. NoSQL 데이터베이스: NoSQL 데이터베이스는 Unstructured(비정형) 및 Semi-Structured(반정형) 데이터를 처리하도록 설계된 새로운 유형의 데이터베이스입니다. 관계형 데이터베이스와 달리 NoSQL 데이터베이스는 테이블과 행을 사용하여 데이터를 저장하지 않습니다. 대신 Key-Value Pairs, Document Store, Graph 데이터베이스와 같은 다양한 데이터 모델을 사용하여 데이터를 저장합니다. NoSQL 데이터베이스는 확장성과 유연성이 뛰어나므로 대량의 구조화되지 않은 데이터를 처리하는 데 적합합니다.

  • Graph Database(그래프 데이터베이스): 그래프 데이터베이스는 복잡하게 연결된 데이터를 처리하도록 설계된 NoSQL 데이터베이스의 한 유형입니다. 그래프 데이터베이스는 노드(엔티티를 나타내는)와 엣지(엔티티 간의 관계를 나타내는)에 데이터를 저장합니다. 그래프 데이터베이스는 데이터 간의 복잡한 관계를 저장하고 검색하는 데 매우 효율적이기 때문에 소셜 네트워크, 추천 시스템, 사기 탐지 시스템과 같은 애플리케이션에 적합합니다.

graph database
graph database

  • Document Database(문서 데이터베이스): 문서 데이터베이스는 Unstructured(비정형) 및 Semi-Structured(반정형)데이터를 처리하도록 설계된 또 다른 유형의 NoSQL 데이터베이스입니다. 문서 데이터베이스는 JSON 객체와 유사한 문서에 데이터를 저장합니다. 각 문서는 서로 다른 구조를 가질 수 있으므로 문서 데이터베이스는 매우 유연하고 확장성이 뛰어납니다. 문서 데이터베이스는 컨텐츠 관리 시스템, 전자상거래 플랫폼, 모바일 애플리케이션과 같은 애플리케이션에 적합합니다.

 

document-database
document-database

이 중 가장 보편적으로 많이 쓰이는 유형은 '관계형 데이터베이스'입니다. 그래프 데이터베이스와 문서 데이터베이스도 실제 산업에서는 많이 사용되기는 하지만 가장 기본적으로 이해해야하는 것은 관계형 데이터베이스이고 실제 취업을 위한 코딩 테스트에도 이 관계형 데이터베이스에 대해서만 출제가 되기 때문에 다음 섹션에서는 이 관계형 데이터베이스에 초점을 맞추어 설명드리도록 하겠습니다. 

 

 

데이터베이스의 구성 요소

데이터베이스는 데이터를 저장, 관리 및 검색하기 위해 함께 작동하는 여러 구성 요소로 이루어져 있습니다. 다음은 관계형 데이터베이스의 주요 구성 요소입니다. 

 

Table, Row, Column
Table, Row, Column

1. 테이블(Table): 테이블은 관계형 데이터베이스의 기본 구성 요소입니다. 테이블은 각 행이 레코드를 나타내고 각 열이 해당 레코드 내의 필드를 나타내는 구조화된 방식으로 데이터를 저장하는 데 사용됩니다. 테이블은 서로 연관되어 복잡한 쿼리를 작성하는 데 사용할 수 있는 데이터 계층 구조를 형성할 수 있습니다.

2. 행(row): 행은 테이블 내의 개별 레코드입니다. 각 행에는 테이블의 스키마에 정의된 필드에 해당하는 데이터 집합이 포함됩니다. 예를 들어 고객 데이터 테이블에는 이름, 주소, 전화번호, 이메일 주소 필드가 있는 각 고객에 대한 행이 있을 수 있습니다.

3. 열(Column): 열은 테이블 내의 개별 필드입니다. 각 열에는 텍스트, 정수 또는 날짜와 같은 특정 데이터 유형이 있으며, 이는 해당 필드에 저장할 수 있는 데이터 유형을 결정합니다. 열에는 데이터 무결성을 강화하는 데 도움이 되는 고유성 또는 무효화 가능성(Nullability)과 같은 제약 조건이 있을 수도 있습니다.

4. 인덱스(Index): 인덱스는 특정 열 또는 열 집합을 기반으로 데이터를 빠르게 조회할 수 있는 방법을 제공하여 쿼리 속도를 높이는 데 사용됩니다. 인덱스는 책의 목차와 같아서 원하는 데이터를 빠르게 찾을 수 있는 방법을 제공합니다. 쿼리에서 가장 일반적으로 사용되는 열에 인덱스를 만들면 데이터베이스의 성능을 향상할 수 있습니다.

 

 

 

 

데이터베이스 관리 시스템(DBMS)이란?

데이터베이스 관리 시스템(DBMS)은 데이터베이스를 생성, 관리 및 조작할 수 있는 소프트웨어입니다. DBMS는 사용자와 데이터베이스 간의 인터페이스를 제공하여 사용자가 데이터의 기본 구조와 조직을 몰라도 데이터베이스와 상호 작용할 수 있도록 합니다. DBMS는 구조화된 방식으로 데이터를 저장, 구성 및 검색할 수 있는 방법을 제공합니다. 이를 통해 사용자는 데이터베이스 스키마를 생성 및 수정하고, 테이블 간의 관계를 정의하고, 데이터를 삽입, 업데이트 및 삭제하고, 복잡한 쿼리를 수행할 수 있습니다. 또한 DBMS는 백업 및 복구, 보안, 성능 튜닝과 같은 기능도 제공합니다.

 

<대표적인 DBMS> 

  • Oracle: Oracle은 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. 확장성, 안정성 및 보안 기능으로 잘 알려져 있습니다. 일반적으로 엔터프라이즈 애플리케이션에 사용됩니다.
  • MySQL: MySQL은 널리 사용되는 오픈소스 관계형 데이터베이스 관리 시스템입니다. 사용 편의성, 속도 및 확장성으로 잘 알려져 있습니다. 일반적으로 웹 애플리케이션에 사용됩니다.
  • Microsoft SQL Server: Microsoft SQL Server는 엔터프라이즈 애플리케이션에서 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. 높은 가용성, 보안, 비즈니스 인텔리전스 등의 기능을 제공합니다.
  • MongoDB: MongoDB는 비정형 데이터 처리를 위해 설계된 인기 있는 NoSQL 데이터베이스 관리 시스템입니다. 확장성, 유연성, 사용 편의성으로 잘 알려져 있습니다. 일반적으로 웹 및 모바일 애플리케이션에서 사용됩니다.

 

 

댓글