RDBMS는 Relational DataBase Management System의 약자로 관계형 모델을 기반으로 하는 DBMS 유형이다.
그렇다면 DBMS는 무엇이냐?
DBMS는 DataBase Management System의 약자로 데이터베이스를 관리하는 시스템이다.
DBMS는 사용자와 DB사이에서 사용자의 요구에 따라 데이터를 생성해주고, DB를 관리해주는 소프트웨어이다.
DBMS는 데이터를 계층 또는 탐색 형식으로 저장하며 파일 시스템을 사용해 저장한다, 따라서 테이블 간에는 아무런 관계가 없다.
여기서 이제 관계형 모델에 대해서 궁금해 할 것이다.
관계형 모델은 실제 세계에서의 '관계' 라는 개념을 사용해서 표현한 데이터 모델이다.
관계는 키(Key)를 통해 연결이 된다.
다시 RDBMS로 돌아와서 즉,관계형 데이터베이스 관리 시스템은 데이터를 표(Table) 형식으로 저장하고 관리하며, 데이터를 효율적으로 검색, 수정, 삭제, 추가하는 기능을 제공한다.
주요 특징으로는 테이블 기반 데이터 구조, SQL 지원, 데이터 무결성 보장, 데이터 관계 모델, 동시성 제어, 데이터 백업과 복구가 있는데 하나씩 설명해 보도록 하겠다.
테이블 기반 데이터 구조
데이터는 행(row)과 열(column)로 구성된 표 형태로 저장된다.
각 행은 하나의 데이터 항목을 나타내고, 각 열은 속성을 나타낸다.
SQL(Structured Query Language) 지원
SQL은 RDBMS에서 데이터를 관리하거나 질의할 때 사용하는 표준 언어이다.
예를 들어서 데이터 삽입, 조회, 수정, 삭제 등을 처리할 때 사용할 수 있다.
데이터 무결성 보장
데이터의 정확성과 일관성을 유지하기 위해 제약 조건(Constraints)를 적용한다.
예를 들어 Primary Key, Foreign Key, Unique, NOT NULL 등이 있다.
데이터 관계 모델
테이블 간의 관계를 정의하며, 관계는 키(Key)를 통해 연결된다.
예를들면 Primary Key(기본 키)와 Foreign Key(외래 키)로 관계를 형성한다.
동시성 제어
다수의 사용자가 동시에 데이터에 접근하더라도 충돌을 방지하고 데이터 일관성을 유지한다.
데이터 백업과 복구
시스템 장애나 오류 발생 시 데이터를 복원할 수 있는 기능을 제공한다.
이런 기능들을 주고 역사가 싶은 만큼 다양한 시스템에서 사용된다.
현재 일반적으로 사용하는 인프라는 당연히 인터넷이다. 웹 시스템과 연동하여 RDBMS를 사용하는 경우도 굉장히 많으며 항공사나 기차 등 대규모 예약 시스템부터 동네 매장과 같은 작은 예약 시스템에 이르기까지 RDBMS는 널리 쓰ㅇ고 있다. 물론 하드웨어에서도 단말이 고성능화, 소형화 되면서 지금은 휴대폰에도 RDBMS가 내장되어 있다.예로는 안드로이드 OS의 SQLite라는 RDBMS가 표준으로 기본 내장되어 있다. 이름에서 알 수 있듯이 SQLite는 휴대단말 등 작은 하드웨어요으로 경량화한, 임베디드 시스템에 자주 쓰이는 RDBMS이다.