코드프레소 백엔드 개발자 양성 과정

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

가장 널리 쓰이는 데이터베이스 관리 체계의 일종인 관계형 DBMS에 대해 알아본다.

H Lee
5 min readFeb 15, 2020
Photo by panumas nikhomkhai from Pexels

데이터베이스와 데이터베이스 관리 체계(DBMS: database management system)가 무엇인지 알아보고, 그 중 상용되는 형태인 관계형 데이터베이스 관리 체계(Relational DBMS)에 대해 살펴본다.

데이터베이스와 데이터베이스 관리 체계

데이터베이스란 데이터의 집합으로, 다양한 자료를 다양한 형태로 담아 관리하는 매개이다. 자료를 특정 형태로 기록한다는 점에서는 일반 표나 문서, 장부와 비슷하지만, 데이터베이스는 다수의 사용자와 응용 프로그램 사이에서 공유하고 동시에 접근하고자 만들어졌다는 점에서 다르다.

데이터베이스 관리 체계(DBMS)는 앞서 설명한 데이터베이스를 한데 모아 관리하는 소프트웨어이다. 종류로는 계층형, 망형, 관계형, 객체지향형, 객체관계형 DBMS가 있으며 현재로써는 아래에서 살펴볼 관계형 DBMS가 주를 이룬다. 이 체계를 운영하기 위해 사용되는 언어가 구조화 질의어인 SQL이며, 현재 시장에는 MySQL, PostgreSQL, Oracle, MariaDB 등의 데이터베이스 관리 체계가 있다.

데이터베이스와 그 관리 체계는 오프라인 문서나 컴퓨터 내에 폴더와 파일 단위로 정보를 관리하던 과정 중 나타나는 문제점을 보완하고자 만들어졌다. 기존의 자료 관리 방식에 비해 데이터베이스를 이용하면 다음과 같은 장점이 있다.

  1. 무결성 : 데이터가 생성, 조회, 갱신, 삭제되는 과정 중, 오염되거나 중복되지 않게 관리할 수 있다.
  2. 독립성 : 데이터베이스를 확장하거나 파일의 저장 경로를 변경하더라도 기존 데이터베이스를 기반으로 설계한 응용 프로그램이 영향을 받지 않는다.
  3. 보안 : 접근이 허가된 사람만 자료를 열람하고 가공할 수 있도록 한다.
  4. 중복 최소화 : 통합하고 공유하여 이용함으로써 데이터 이용자들이 자신만의 파생 버전 데이터를 생성하여 혼동이 발생하거나, 같은 데이터가 비효율적으로 여러 곳에 저장되는 것을 방지한다.
  5. 개발 및 유지보수 : 응용 프로그램을 파일 각각의 형식에 맞춰 개발하지 않고 통일된 데이터베이스에 맞춰 제작하여, 개발이 용이하고 유지 및 보수 또한 수월해진다.
  6. 안전성 : 백업 기능과 복원 기능을 이용해 재해나 문제 발생 시 원상 복구에 유리하다.

데이터베이스 관리 체계 중 이런 점을 모두 지니고 가장 널리 쓰이게 된 형태인 관계형 DBMS에 대해 알아본다.

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

관계형 DBMS는 데이터베이스 관리 체계의 일종으로 자료를 표 형태로 정리하여 보관한다. 시기적으로 앞서 나온 모델인 계층형 DBMS나 망형 DBMS의 구조적 복잡성과 경직성을 보완하기 위해 표 형태를 도입한 것이다.

아래 도표에서 볼 수 있듯, 맨 처음 등장한 트리 구조의 계층형 DBMS는 특정 조건에서는 검색이 빨리 이루어지지만, 일반적으로는 자료 접근이 유연하지 않으며, 한 번 구축한 구조를 탈피하기 어렵다는 단점이 있었다.

계층형 DBMS : 노드 하나 당 하위 노드 여러 개를 가질 수 있는 1:n 구조로, 최초 구축 후 구조 변경이 어려우며 데이터 검색이 어려움

망형 DBMS는 계층형 DBMS보다는 유연하게 여러 노드가 다른 여러 노드에 연결을 맺게끔 함으로써 더 효율적으로 데이터를 추출할 수 있게 해주나, 그 과정이 복잡하다는 단점이 있었다.

망형 DBMS : 계층형 DBMS의 문제점을 개선하기 위해 다대다 관계를 지원하여 데이터를 좀 더 빨리 추출할 수 있으나, 복잡한 포인터로 인해 프로그래밍적 비용과 수고를 요함

관계형 DBMS는 이에 비해 방대한 표를 이용하는 만큼 컴퓨터 내 시스템 자원을 많이 차지한다는 단점이 있긴 하지만, 자료 구조의 모양을 늘이고 줄이며 가공할 수 있다는 것과, 데이터의 무결성 관점에서 엄청난 이점을 지녔다.

관계형 DBMS의 구성 요소

그렇다면 관계형 DBMS를 이루는 요소로는 어떤 것들이 있는지 보자.

DBMS 안에 데이터베이스가, 데이터베이스 안에 테이블이, 테이블 안에 행과 열이 있는 구조
  • 테이블 : 릴레이션이나 엔티티라고도 불리며, 데이터를 행과 열이 있는 표 모양으로 나타낸 것을 가리킨다.
  • 데이터베이스 : 테이블이 담기는 저장소를 뜻하며, 하나의 DBMS내에 여러 데이터베이스들이 있다.
  • 열 : 테이블의 세로축으로, 컬럼이나 필드라고 불리기도 한다. 데이터를 구분하는 항목이 된다.
  • 행 : 테이블의 가로축으로, 로우나 레코드라고 불리기도 하며, 실질적인 데이터가 담긴다.

이상으로 데이터베이스의 개념, 데이터베이스 관리 체계와 종류, 그 중에서도 관계형 DBMS에 대해 심도있게 알아보았다.

참고 : 이것이 MySQL이다 (우재남)

--

--