본문 바로가기
Database

관계형 데이터베이스 개념 정리(릴레이션, 튜플, 도메인)

by 코더 제이콥 2023. 9. 18.

관계형 데이터베이스

수학과 관계형 모델에서 릴레이션의 차이

자료 구조 중 set은 서로 다른 요소를 가진 자료 구조로 순서가 없습니다.

이제 set이 두 개가 등장합니다. set A에는 a, b가 있고 set B에는 1, 2, 3이 있습니다. set A에서 하나의 요소를 고르고, set B에서 하나의 요소를 골랐을 때 가능한 모든 한 쌍의 조합을 릴레이션이라고 합니다. 위 이미지에서는 {a, 1}, {a, 2}, {a, 3}, {b, 1}, {b, 2}, {b, 3}이 있겠습니다.

이를 카테시안 곱이라고 하는데 수식으로 표현하면 A × B = {(a, b) | a ∈ A and b ∈ B}라고 합니다. 즉, A와 B의 카테시안 곱은 (a, b) 형태의 요소들로 이루어진 집합이며, 이때 a는 A의 원소이고 b는 B의 원소인 것입니다.

다시 위로 올라가서 set A와 set B의 조합 {a, 1}, {a, 2}, {a, 3}, {b, 1}, {b, 2}, {b, 3} 리스트를 각각 튜플이라 부를 수 있습니다. 튜플은 set처럼 순서를 보장하지 않습니다.

관계형 데이터 모델에서의 릴레이션

관계형 데이터 모델에서 set은 도메인이라 합니다. 도메인은 값들의 집합입니다. set A의 1, 2, 3이며 set B의 a, b라 할 수 있습니다. 또 관계형 데이터베이스에서도 set들이 쌍들을 이뤄 튜플을 이룹니다. 그리고 그 튜플들이 모여 릴레이션을 형성합니다. 역시 튜플은 순서를 보장하지 않습니다.

한 번 회사원 릴레이션을 예를 들어 릴레이션 데이터 모델을 보겠습니다.

회사원_아이디, 회사원_이름, 회사원_직급, 회사원_폰 번호는 각각 릴레이션의 속성을 가리킵니다. 이러한 튜플들은 테이블로 그리기 쉽기 때문에 관계형 데이터 모델에서는 튜플을 테이블로 나타냅니다.

관계형 데이터 모델에서 릴레이션의 열은 속성을 가리키고 행은 튜플입니다. 그리고 이러한 튜플들이 모인 릴레이션은 흔히 테이블이라 부릅니다.

앞서 관계형 데이터 모델에서의 도메인은 set에서의 값들의 집합이라 했는데요. 이때 도메인은 원자성을 보장해야 합니다. 원자성을 보장해야한다는 말은 더는 쪼개질 수 없다는 뜻입니다.

예를 들어 도서 테이블이 있다고 가정하겠습니다. 도서 "데이터베이스 시스템"은 세 명의 저자가 도서를 집필했습니다. 도메인에서 이를 쉼표를 통해 저자들을 구별했는데요? 이는 원자성을 보장한 형태가 아닙니다. 세 번 나뉠 수 있기 때문입니다. 한 번 원자성을 보장하도록 변경해보겠습니다.

위 테이블의 형태는 원자성을 보장하는데 성공했지만, 그로 인해 중복된 데이터를 허용했습니다. 이때 테이블을 쪼개보겠습니다.

테이블을 따로 분리했습니다. 한 테이블에는 도서의 정보를 담고, 한 테이블에는 도서를 쓴 작가의 정보를 담습니다. 완벽하게 원자성을 보장했고, 데이터의 중복도 허용하지 않았습니다. 이처럼 도메인은 원자성을 보장해야 합니다.

총 정리

  • 도메인 : 원자성 값들의 set
  • 속성 : 도메인이 릴레이션에서 맡은 역할
  • 튜플 : 속성의 값으로 이루어진 리스트이며 null일 수 있다. 또 순서를 보장하지 않는다.
  • 릴레이션 : 튜플들의 set