관계형 데이터베이스

mjdevv·2023년 12월 22일
0

데이터베이스

목록 보기
2/6

들어가기에 앞서 데이터베이스가 무엇인지 알아보자. 위키피디아의 데이터베이스의 정의는 아래와 같다.

database is an organized collection of data or a type of data store based on the use of a database management system (DBMS)

해석해보자면,

  • organized 된 데이터의 집합으로
  • DBMS의 사용을 염두에 두고 저장 되어 있다.

아무렇게나 막 집어 넣은 게 아니라, 어떤 미리 정의된 방법으로 데이터를 구조화 해서 집어 넣었고, 이 데이터들의 집합은 DBMS가 다루는 대상으로서 미리 설계가 되었다는 설명이다.

한 번 더 세부적인 의미를 파고 들어가보자. DB는 데이터의 집합이다. 그렇다면 db를 구성하는 데이터의 의미는 무엇일까? 다시 위키피디아의 정의를 살펴보자.

a collection of discrete or continuous values that convey information, describing the quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted formally.

  • 이산적이거나 연속적인 값으로
  • 정보를 표현하는 basic units of meaning

사람이 이해할 수 있는 개념에 대응하는 이산적이거나 연속적인 값들을 데이터라고 표현한다. 예를 들면, 기온 -13도라는 데이터는 현실세계의 온도라는 정보를 이산적인 값으로 표현하고 있다. -13도라는 데이터 표현은 현실세계의 어떤 상태를 의미론적 값으로 가지게 된다.

근데 이 기온을 데이터로 바라보는 건 너무 자명해 보이니까 좀 더 복잡한 다른 예시를 들어보자.

예를 들어, 어떤 사람이 물건을 사기 위해 결제를 한다고 가정하자. 그런데 이 결제라는 개념은 위의 기온과는 달리 추상적이고 모호하다. 결제가 어떻게 이루어 질까? 결제 수단을 통해 결제라는 행위를 하면, 지불자의 통장에서 돈이 빠져나게 된다. 이 때 결제수단은 카드가 될 수도, 무통장 입급이 될 수도, 혹은 다른 결제 수단이 될 수도 있다. 이런 저런 복잡한 과정을 거치게 되는데, 이 결제 과정 자체가 명확하지가 않고 추상적이다.

하지만 현실에서는 실제로 이런 추상적인 상업 행위가 일어나기 때문에, 이런 현실에서 일어나는 결제와 같은 업무의 추상적인 개념 또한 데이터로 표현 할 수 있게 된다. 이 결제라는 행위를 구성하는 요소가 어떠 어떠한 것들이 있는지, 절차가 어떻게 어떻게 되는지는 파악 해야겠지만, 무엇보다 중요한 건 현실에서 이루어 지는 상업행위라는 것이고 이걸 분석해서 어떤 세부 개념들로 쪼개 데이터로 표현할 수 있다는 것이다.

그리고 이러한 데이터들의 집합인 db를 어떤 구조(what)로 어떻게(how) 표현할지에 대한 하나의 해답으로 나온 게 relational model 이고, 그 구조 위에서 위의 결제 업무와 같은 현실에 존재하는 업무를 어떤 식으로 RDB로 표현할 것인지가 데이터 모델링에 해당하는 일이 되는 것이다.

즉, relational model은 하나의 틀이다. 이 틀에 맞춰 현실에서 벌어지는 업무를 우겨 넣는 게 데이터 모델링이다. 이 RDB 설계가 잘 됐다는 건 데이터베이스 물리적인 구현체가 기술적으로 높은 수준인 것도 있겠지만, 현실에서 벌어지는 현상을 얼마나 RDB의 구조로 잘 표현 했느냐 이것도 있을 것이다.


관계형 모델이란?

데이터베이스가 데이터들의 모임이고, 데이터는 현실세계 혹은 추상적이 의미를 가지는 단위로 위에서 정의를 하였다. 그렇다면 관계형 모델은 무엇일까?

관계형 모델은 IBM 연구소의 연구원이었던 Candace C. Fleming & Barbara von halle 두 분이 제안한 데이터베이스 모델이다. 이산적인 값으로 현실세계를 반영하는 데이터와 그 데이터들의 모임인 db를 어떻게 표현할 것인지, 그 표현 방법에 대한 하나의 모델을 제시한 것으로서 수학의 집합론과 1차 논리를 이론적 바탕으로 하여 고안 되었다(관계대수).

집합론과 1차논리 위에서 다룰 수 있는 대상들은 대부분 relational model에서도 다룰 수 있다고 보면 될 것 같다. 그리고 집합론과 1차 논리는 사실상 수학과 물리에서 이 세상의 원리를 표현하는데 쓰기 때문에, relational model 또한 이런 논리적 표현력에 힘 입어 이 세상의 거의 모든 것을 표현할 수 있어 보인다. 그런 이론적 바탕 때문에 rdb가 굉장히 강력한 건지도 모른다..

profile
방구석 언어기술자

0개의 댓글

관련 채용 정보