데이터베이스

[데이터베이스] 2. 관계형 데이터베이스

dev-K 2026. 1. 9. 05:11

관계형 데이터베이스란,
"관계있는" 여러 개의 테이블을 연결해놓은 것.
 
애초에 데이터베이스라는 것이 여러 개의 테이블이다.
이 테이블들간의 어떤 관계를 설정하여 연결하면
그게 관계형 데이터베이스다. (RDB, Relationship DataBase)
 
예시로, 어떤 가게에서 주문을 한다고 가정하자.
이 상황에서 생각할 수 있는 테이블들은 아래와 같다.
 
[사람]

MEMBER_ ID이름
1김철수
2박짱구
3최유리
......

 
[상품]

PRODUCT_ID상품명가격
1볼펜1,000원
2연필800원
3지우개500원
.........

 
 
이 상황에서, 김철수가 볼펜 하나를 구매하는 상황을 생각해볼 수 있다.
이 문장과 동치는, 이 테이블에서 관계가 발생했다는 것,
그리고 관계형 데이터베이스를 생각해볼 수 있다는 것이다.
 

"사람" 테이블에서 "MEMBER_ID"가 "1"이고 "이름"이 "김철수"인 사람이, 
"상품" 테이블에서 "PRODUCT_ID"가 "1"이고 "상품명"이 "볼펜"이고, "가격"이 "1,000원"인 상품을 
"주문" 했다.

 
 
쓸데없이 말이 길게 느껴지는 이유는, 불필요한 정보가 포함되었기 때문이다.
저 표를 보면, MEMBER_ID가 1인 사람의 이름이 김철수 라는 사실을 누가 모르겠는가?
따라서 이렇게 바꿀 수 있다.

"사람" 테이블에서 "MEMBER_ID"가 "1"이고 "이름"이 "김철수"인 사람이, 
--> "사람" 테이블에서 "MEMBER_ID"가 "1"인 사람이

 
이름을 뺀 이유는, 동명이인을 고려한 것이고 학창시절 출석번호를 생각하면 된다.
 
같은 맥락으로 "상품"테이블도, "PRODUCT_ID"로만 부른다면
복잡한 문장은 아래와 같이 바뀐다.

"사람" 테이블에서 "MEMBER_ID"가 "1"인 사람이, 
"상품" 테이블에서 "PRODUCT_ID"가 "1"인 상품을 
"주문" 했다.

 
여기에서 MEMBER_ID와 PRODUCT_ID는 각각 사람, 상품 테이블의 기본키이다.
 
기본키는 다른 객체와 중복되지 않으면서  
 
관계형 데이터베이스는, 두 테이블을 연결짓는 사건 또한 테이블로 정의한다.
따라서 앞서 텍스트로 표현했던 "주문" 이라는 사건 또한 아래 테이블로 정의할 수 있다.
 
 
 

'데이터베이스' 카테고리의 다른 글

[데이터베이스] 1. 데이터베이스 기본용어  (0) 2026.01.07