STUDY/SQL

[데이터베이스와 DBMS 기초] 관계형 데이터베이스의 기본 구조

devmel 2026. 7. 28. 19:33
 

관계형 데이터베이스와 RDBMS 

관계형 데이터베이스

개념

관계(Relation) = 관계 모델에서 데이터를 표현하는 기본 단위 (주로 테이블 형태로 표현)

 

데이터를 행과 컬럼으로 구성된 테이블 형태로 표현하고 관리하는 데이터베이스

 

같은 종류의 데이터를 일정한 속성을 가진 행의 집합으로 관리

 

ex)

users
+----+----------+------------------+
| id | name     | email            |
+----+----------+------------------+
| 1  | 박개발   | a@example.com    |
| 2  | 김개발   | b@example.com    |
+----+----------+------------------+

 

특징

특징 의미
테이블 구조 데이터를 행과 컬럼으로 표현
=> id | name | email | status 
정해진 스키마 어떤 컬럼과 데이터 타입으로 저장할지 구조를 미리 정의
관계 표현 기본키와 외래키를 통해 데이터를 연결한다
SQL 사용 데이터를 선언적인 방식으로 조회하고 변경
무결성 관리 제약조건을 통해 저장되는 데이터가 규칙을 지키도록 제한
트랜잭션 여러 데이터 변경을 하나의 작업으로 처리

 

RDBMS (Relational Database Management System)

개념

관계형 데이터베이스를 관리하는 소프트웨어

ex) MySQL, MariaDB 

 


 

데이터베이스와 테이블 구조

데이터베이스
└─ 테이블
   ├─ 컬럼: 데이터의 속성과 규칙
   └─ 행: 실제 데이터 한 건
      └─ 값: 각 컬럼에 저장된 개별 데이터

데이터베이스

특정 서비스나 업무에서 사용하는 데이터를 모아 관리하는 단위.

일반적으로 하나의 테이블에는 하나의 주제에 해당하는 데이터를 저장.

 

ex) 쇼핑몰 shop 데이터베이스에 포함된 테이블 - users, products, orders,...

 

테이블

같은 종류의 데이터를 일정한 구조로 모아 놓은 단위

일반적으로 하나의 테이블에는 하나의 주제에 해당하는 데이터를 저장한다.

 

컬럼

테이블에 저장되는 데이터가 어떤 속성을 가지는지 정의하는 항목 

=> 컬럼 이름, 데이터 타입, 값의 필수 여부, 기본값, 중복 허용 여부, 값에 적용할 제약조건 등

 

ex) email

- 문자열

- 반드시 값이 있어야 함

- 다른 회원과 중복될 수 없음 

 

행

테이블에 저장된 하나의 실제 데이터 단위

ex) users테이블 → 한 행이 회원 한 명

 

값

행과 컬럼이 만나는 위치에 저장된 실제 데이터

ex) users 테이블
id | name   | status
---|--------|--------
1  | 이개발 | active

- name 컬럼의 값 : 이개발

- status 컬럼의 값 : active

 


 

스키마

개념

데이터베이스에 데이터를 어떤 구조와 규칙으로 저장할지 정의한 설계 

ex) 어떤 테이블이 존재하는가, 각 테이블에 어떤 컬럼이 있는가, 각 컬럼에는 어떤 타입의 값을 저장하는가

 

cf) 스키마 vs 데이터

구분 의미 예시
스키마 데이터를 저장하는 구조와 규칙 이메일은 문자열이며 필수이고 중복 불가
데이터 스키마에 따라 실제로 저장된 값 a@example.com

 

스키마에 포함되는 요소

  • 테이블
  • 컬럼
  • 데이터 타입
  • 기본키와 외래키
  • 제약조건
  • 인덱스
  • 테이블 사이의 관계
  • 뷰 등이 데이터베이스 객체