Summry
본 문서에서는 릴레이션의 개념 및 용어를 정리한다.
send me email if you have any questions.
릴레이션(relation)
릴레이션이란 두 개 이상의 집합이 주어질 때 각 집합을 구성하는 원소들의 순서쌍에 대한 집합이다.
테이블을 릴레이션이라고 함
릴레이션 예시
이름 | 전화번호 | 주소 | 생일 |
---|---|---|---|
홍길동 | 010-1234-5678 | 서울 | 3월 15일 |
이건우 | 010-2132-2345 | 서울 | 8월 23일 |
이몽룡 | 010-3245-4368 | 부산 | 12월 14일 |
속성(attribute)
속성은 내가 저장하고 싶은 개체의 어떤 학몽에 해당한다.
이름 | 전화번호 | 주소 | 생일 |
---|---|---|---|
홍길동 | 010-1234-5678 | 서울 | 3월 15일 |
이건우 | 010-2132-2345 | 서울 | 8월 23일 |
이몽룡 | 010-3245-4368 | 부산 | 12월 14일 |
위의 릴레이션에서 이름, 전화번호, 주소, 생일은 속성(attribute)에 해당한다.
하나의 열은 하나의 속성 정보를 표시하며 동일한 릴레이션 내에서는 같은 이름의 속성이 존재할 수 없다.
차수(degree)
한 릴레이션에 들어 있는 속성(attribute)의 수를 차수(dgree)라고 한다.
유효한 릴레이션의 최소 차수는 1이며 모든 릴레이션은 적어도 한 개의 속성을 가져야 한다.
이름 | 전화번호 | 주소 | 생일 |
---|---|---|---|
홍길동 | 010-1234-5678 | 서울 | 3월 15일 |
이건우 | 010-2132-2345 | 서울 | 8월 23일 |
이몽룡 | 010-3245-4368 | 부산 | 12월 14일 |
위의 릴레이션에서 차수는 4이다.
튜플(tuple)
릴레이션의 각 행을 레코드라고 한다. 레코드를 좀 더 공식적으로 튜플(tuple)이라고 부르는데 쉽게말해 행, 레코드, 튜플 모두 같은 말이라 생각하면 된다.
카디날리티(cardinality)
카디날리티(cardinality)는 릴레이션 튜플의 개수로 차수와는 다르게 0의 값이여도 유효 릴레이션이 될 수 있다. 테이블에 데이터가 없는 경우가 그러하며 카디날리티는 시간이 지남에 따라 계속 변한다.
도메인(domain)
도메인이란 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값들의 집합이라고 할 수 있다.
도메인이라는 개념이 필요한 이유는 릴레이션에 저장되는 데이터 값들이 본래 의도했던 값들만 저장되고 관리하기 위해서다.
예를 들어 ‘성별’이라는 속성이 있다면 이 속성이 가질 수 있는 값은 ‘남’ 또는 ‘여’인데, 데이터베이스 설계자는 성별의 도메인으로 ‘SEX’를 정의하고 그 값으로 ‘남’, ‘여’로 지정한 뒤 ‘성별’이라는 속성은 ‘SEX’ 도메인에 있는 값만을 가질 수 있다고 지정해 놓으면 사용자들이 실수로 남, 여 이외의 값을 입력하는 것을 방지할 수 있다.
도메인의 이름은 속성 이름과 같을 수도 있고 다를 수도 있으며 하나의 도메인을 여러 속성에서 공유할 수도 있다.
Reference
[데이터베이스]릴레이션 용어- 속성(애트리뷰트), 튜플, 도메인, 차수, 카디날리티 - IT 양햄찌(jhnyang)
관계형 데이터베이스 1) 릴레이션이란? - by Nolja놀자