Skip to content

릴레이션이란? (튜플/애트리뷰트/도메인) ​

릴레이션(Relation) = 행과 열로 이루어진 테이블이라고 생각하면 됩니다. 엑셀 시트를 떠올리면 쉽습니다.

        [애트리뷰트] (열, 컬럼)
         이름   나이   부서
튜플 →   철수   28    개발팀
(행)     영희   31    기획팀
  • 튜플(Tuple) = 행 하나. 파일로 치면 레코드 한 줄입니다.
  • 애트리뷰트(Attribute) = 열 하나. 데이터베이스를 구성하는 가장 작은 논리적 단위입니다.
  • 도메인(Domain) = 하나의 애트리뷰트가 가질 수 있는 값의 타입과 범위입니다. 예를 들어 "나이" 컬럼의 도메인은 "0 이상의 정수"입니다. DB는 이 도메인을 기준으로 잘못된 값(예: 나이 = "가나다")이 들어오는 걸 막습니다.

숫자로 세는 용어도 따로 있습니다.

용어의미엑셀로 치면
카디널리티(Cardinality)튜플의 수행의 개수
디그리 / 차수(Degree)애트리뷰트의 수열의 개수

릴레이션은 데이터가 계속 쌓이고 지워지므로 시간에 따라 내용이 바뀝니다. 그래서 릴레이션은 두 가지로 나눠 이야기합니다.

  • 릴레이션 스키마: "이 테이블은 어떤 열들로 이루어져 있는가" (틀, 설계도)
  • 릴레이션 인스턴스: 그 틀에 실제로 채워진 데이터 (지금 이 순간의 내용물)

그 외에 릴레이션이 지켜야 할 규칙도 몇 가지 있습니다: 같은 행이 두 번 들어올 수 없고, 행들 사이에 순서가 없으며, 한 칸에는 더 쪼갤 수 없는 값(원자값) 하나만 들어갑니다. 이 "한 칸에 값 하나" 규칙은 나중에 정규화(1정규형)에서 다시 나옵니다.

참고: 개인 Notion 학습 노트