백엔드 Back-end/데이터베이스 Database

Q. 관계형 데이터베이스Relational Database에서 관계Relation는 어디서 나온 말일까?

Tap to restart 2023. 3. 14. 17:00
반응형

A. 수학의 집합론에서 나온 말이다.

부모 자식 사이의 관계, 사돈 관계 등 일반적인 관계를 뜻하는 '관계'에서 나온 것이 아니다.
 

관계형 데이터베이스의 시초, 에드가 커

에드가 F. 커(Edgar Frank "Ted" Codd)는 관계형 데이터베이스의 아버지라고 불린다. 그 이유는 첫 상업용 관계형 데이터베이스 시스템인 오라클 데이터베이스Oracle Database가 바로 에드가 커의 논문의 영향을 받아 만들어졌기 때문이다. 

It was at this time that Ed Oates introduced Miner and Ellison to a paper by E. F. Codd on the relational model for database management. 
번역: 이때 에드 오츠는 마이너와 엘리슨에게 데이터베이스 관리를 위한 관계형 모델에 관한 에드가 커의 논문을 소개했다.
출처: 위키백과, Bob Miner

그의 논문을 보자. 

A Relational Model of Data for Large Shared Data Banks.pdf
1.40MB

자료 출처: Codd, Edgar Frank (June 1970). "A Relational Model of Data for Large Shared Data Banks"
웹페이지: A Relational Model of Data for Large Shared Data Banks
 

"1.3. A Relational View of Data
The term relation is used here in its accepted mathematical sense. ..."
번역: 1.3. 데이터의 관계형 뷰
여기서 관계라는 용어는 수학적 의미로 사용됩니다. 
출처: A Relational Model of Data for Large Shared Data Banks

 

 

집합론에서 관계Relation란?

위키백과 관계를 살펴보자. 집합론에서 관계란 곱집합의 부분집합을 뜻한다. 위 원본 논문 일부 이미지에 나온 unary 단항 관계, binary 이항 관계, ternary 삼항 관계, n-ary n항 관계에 대한 설명도 위키에서 볼 수 있다. 결국 관계를 이해하기 위해서는 곱집합을 이해해야 한다.
 

곱집합Product Set이란?

위키백과 곱집합을 살펴보자. "곱집합은 각 집합의 원소를 각 성분으로 하는 튜플들의 집합이다."라는 설명을 볼 수 있다. 예를 들어 집합 A는 {x, y}이고 집합 B는 {1, 2}라고 할 때 두 집합 A와 B의 곱집합은 {(x, 1), (x, 2), (y, 1), (y, 2)}이다. (x, 1), (x, 2), (y, 1), (y, 2)가 바로 튜플이다. 이제 왜 관계형 데이터베이스를 설명하면서 데이터 행을 튜플이라고 부르는지 알 수 있다. 
 

관계형 데이터베이스는 집합론이 뿌리

관계형 데이터베이스의 거의 대부분 용어가 수학 그 중에서 집합에서 나왔다. 옥스포드 대학에서 수학과 화학을 공부한 에드가 커는 데이터 관리를 수학의 집합으로 바라본 것이다. 데이터베이스의 근간이 되는 수많은 개념들을 잘 살펴보면 결국 수학의 집합과 맞닿아 있다. 예를 들어 관계형 데이터베이스에서 자주 쓰이는 도메인이란 용어도 마찬가지다. 고등학교 수학에서 집합을 배울 때 나오는 정의역이 영어로 도메인Domain이다. 정의역은 입력값들이 정의된 집합을 뜻한다. 혈액형이라는 집합이 있다고 하면 정의역 도메인은 {A, B, O, AB}다. 그 밖의 혈액형은 있을 수 없다. 도메인이란 수학 용어로 정의함으로써 왜 그밖의 숫자나 문자는 포함될 수 없는지에 대해서 다른 용어를 만들 필요도 추가로 설명할 필요도 없어진 것이다.
 

관련 글

Q. ER Model, Entity-Relationship Model에서 Relationship의 의미는?
 

반응형