관계형 데이터베이스(Relational Database)란?

데이터를 행과 열로 이루어진 표(관계, 릴레이션)로 나타내고, 표끼리를 공통의 값으로 연관 지어 다루는 데이터베이스. RDB라고도 한다. SQL로 질의와 갱신을 수행하며, 기본 키나 외래 키 등의 제약으로 데이터의 정합성을 유지한다.

일본어 명칭: 関係データベース

관계형 데이터베이스(Relational Database)은(는) 데이터베이스 기초 등 1개 분야의 연습 문제 7개에 나와요.

분야: 데이터베이스 기초

표·행·열과 관계 모델

관계형 데이터베이스는 1970년에 E. F. Codd가 제안한 관계 모델에 기반한 데이터베이스입니다. 데이터는 표(관계, 릴레이션)의 형태로 나타내며, 표의 한 행을 튜플(조), 한 열을 속성, 속성이 가질 수 있는 값의 집합을 도메인이라고 합니다. 표끼리는 포인터가 아니라 공통의 값으로 연결됩니다. 예를 들어 주문 표가 고객ID 열을 가지고, 그 값으로 고객 표의 행을 가리킵니다. 그래서 어느 표와 어느 표를 어떤 조건으로 조합할지를 질의할 때마다 자유롭게 정할 수 있습니다.

SQL과 제약에 의한 데이터 관리

관계형 데이터베이스는 SQL이라는 언어로 표의 정의(DDL), 데이터의 검색이나 갱신(DML), 권한의 제어(DCL)를 수행합니다. SQL에서는 '어떤 결과를 원하는지'를 쓰면 되며, 어떤 순서로 표를 읽고 어느 인덱스를 사용할지는 DBMS의 옵티마이저가 정합니다. 데이터의 올바름은 행을 유일하게 식별하는 기본 키, 다른 표의 행을 올바르게 참조하게 하는 외래 키, NULL이나 중복을 금지하는 NOT NULL과 UNIQUE, 값의 범위를 정하는 CHECK 같은 제약과, 트랜잭션의 ACID 특성으로 유지됩니다.

다른 데이터베이스와의 구분

관계형 데이터베이스는 재고나 회계처럼 데이터의 정합성이 중요하고 다양한 조건의 조합으로 검색하는 업무에 널리 사용되고 있습니다. 한편 접근량이 매우 많은 웹 서비스 등에서는 여러 서버에 분산하기 쉬운 키-값형이나 문서형 등의 NoSQL 데이터베이스가 사용되기도 합니다. 어느 한쪽만 사용하는 것이 아니라 용도에 따라 조합하는 것이 일반적입니다.

도전해 보기: 관계형 데이터베이스(Relational Database) 관련 문제

관계형 데이터베이스의 용어에서 표(릴레이션)의 한 행에 해당하는 것은?

  1. A튜플
  2. B속성
  3. C도메인
정답과 해설 보기

정답: A. 튜플

관계형 데이터베이스는 데이터를 행과 열로 이루어진 표(관계, 릴레이션)의 형태로 나타내고, 표끼리를 값으로 연관 지어 다루는 데이터베이스입니다. 관계 모델의 용어로는 표의 한 행을 튜플(조), 한 열을 속성(애트리뷰트), 어떤 속성이 가질 수 있는 값의 집합을 도메인(정의역)이라고 합니다. 예를 들어 사원 표에서 사원 한 명의 데이터 행이 튜플, '이름'이나 '부서' 열이 속성, '나이' 열이 가질 수 있는 0 이상의 정수 범위가 도메인입니다. 관계 모델에서는 표를 행의 집합으로 다루므로 행의 순서에는 의미가 없고, 완전히 같은 행이 2개 있는 것도 허용하지 않습니다(실제 SQL의 표에서는 기본 키를 정하지 않으면 같은 행이 들어가는 경우가 있습니다).

관계형 데이터베이스의 표에서 기본 키로 지정하는 열(또는 열의 조합)이 반드시 만족해야 하는 조건은?

  1. A값이 숫자일 것
  2. B표의 첫 번째 열일 것
  3. C값이 표 안에서 중복되지 않고 NULL을 포함하지 않을 것
정답과 해설 보기

정답: C. 값이 표 안에서 중복되지 않고 NULL을 포함하지 않을 것

기본 키는 표 안의 한 행을 유일하게 식별하기 위한 열 또는 열의 조합입니다. 그래서 기본 키의 값은 다른 행과 중복되어서는 안 되며(유일성), 값이 정해지지 않았음을 나타내는 NULL도 허용되지 않습니다(NOT NULL). SQL의 CREATE TABLE에서 PRIMARY KEY를 지정하면 DBMS(데이터베이스 관리 시스템)가 이 두 제약을 지키게 하며, 중복된 값이나 NULL을 넣으려는 조작은 오류가 됩니다. 기본 키의 값은 사원 번호 같은 숫자여도 문자열이어도 상관없고, 열의 위치에도 정해진 규칙은 없습니다. 행을 유일하게 식별할 수 있는 최소한의 열 조합을 후보 키라고 하며, 후보 키 중에서 하나를 고른 것이 기본 키입니다.

자주 묻는 질문

관계형 데이터베이스의 '관계'는 무엇을 가리키나요?

표 자체를 가리킵니다. 수학에서 몇 개 집합의 원소 조합의 모임을 관계(릴레이션)라고 부르는 데서 유래하며, 표의 행이 원소의 조(튜플)에 해당합니다. 표끼리의 연관을 가리키는 것이 아닙니다.

관계형 데이터베이스와 NoSQL은 어떻게 구분해서 사용하나요?

데이터의 정합성이 중요하고 표를 조인하는 것 같은 복잡한 검색이 많은 업무에는 관계형 데이터베이스가 적합합니다. 키를 지정한 단순한 읽기·쓰기가 매우 많고, 여러 서버에 분산하여 규모를 넓히고 싶은 경우에는 NoSQL이 적합한 경우가 있습니다.

해설 속 관계형 데이터베이스(Relational Database)

관계형 데이터베이스(Relational Database)이(가) 나오는 문제 (7)

  1. 관계형 데이터베이스의 용어에서 표(릴레이션)의 한 행에 해당하는 것은?
  2. 관계형 데이터베이스의 표에서 기본 키로 지정하는 열(또는 열의 조합)이 반드시 만족해야 하는 조건은?
  3. 관계형 데이터베이스의 뷰에 대한 설명으로 올바른 것은?
  4. 관계형 데이터베이스의 표를 정규화하는 주된 목적은?
  5. E-R 다이어그램에서 학생과 과목 사이에 '한 학생은 여러 과목을 수강하고, 한 과목은 여러 학생이 수강한다'는 다대다 관계가 있다. 이 관계를 관계형 데이터베이스의 표로 구현하는 방법으로 적절한 것은?
  6. 100만 행이 있는 회원 표의 회원번호 열에 B+ 트리 인덱스를 만들었다. 일반적으로 기대할 수 있는 효과와 그 대가의 조합으로 올바른 것은?
  7. NoSQL이라고 불리는 데이터베이스 중 키-값형의 특징으로 일반적으로 올바른 것은?

관련 용어

기본 키(Primary Key) SQL 인덱스(Index) 뷰(View) 정규화(Normalization) E-R 다이어그램(E-R Diagram) 외래 키(Foreign Key) NoSQL 2단계 로킹(2PL) 격리 수준(Isolation Level)

용어집으로 돌아가기