💡 핵심 인사이트
릴레이션(Relation)은 관계형 데이터베이스(RDBMS)의 가장 핵심적인 기초 단위로, 우리가 흔히 '테이블(Table)'이라고 부르는 2차원 표 구조의 수학적이고 논리적인 명칭입니다.
데이터를 행(튜플)과 열(속성)의 교차점으로 구성하여 데이터 간의 관계를 직관적이고 체계적으로 관리합니다.
Ⅰ. 릴레이션(Relation)의 개념
1970년 에드가 코드(E.F. Codd) 박사가 제안한 관계형 데이터 모델(Relational Data Model)의 핵심 요소입니다. 수학의 집합론(Set Theory)에 기반을 두고 있으며, 실세계의 복잡한 정보(예: 학생 정보, 수강 정보)를 누구나 이해하기 쉬운 엑셀 형태의 가로세로 표 구조로 매핑한 것입니다.
- 물리적 명칭 vs 논리적 명칭:
- 사용자/실무자 관점: 테이블 (Table)
- 수학/이론적 관점: 릴레이션 (Relation)
- (엄밀히 말하면 릴레이션은 중복된 행을 허용하지 않는 엄격한 집합이지만, 실제 RDBMS의 테이블은 옵션에 따라 중복 행을 가질 수도 있다는 미세한 차이가 있습니다.)
Ⅱ. 릴레이션의 구조적 구성 요소
릴레이션 하나는 표의 머리글(구조)을 담당하는 스키마와, 실제 데이터인 인스턴스로 나뉩니다.
[ 학생 릴레이션 ]
┌───────┬────────┬────────┬───────┐
│ 학번 │ 이름 │ 학년 │ 전공 │ ◀── 릴레이션 스키마 (Relation Schema, 내포)
├───────┼────────┼────────┼───────┤
│ 1001 │ 김철수 │ 2 │ 컴공 │ ┐
│ 1002 │ 이영희 │ 1 │ 경영 │ ├─ 릴레이션 인스턴스 (Relation Instance, 외연)
│ 1003 │ 박민수 │ 3 │ 기계 │ ┘
└───────┴────────┴────────┴───────┘
- 릴레이션 스키마 (Schema / Intension / 내포)
- 릴레이션의 이름과 속성(열)들의 이름, 데이터 타입의 논리적 구조를 정의한 부분입니다.
- 시간이 지나도 자주 변하지 않는 정적인 특성을 가집니다. (학생의 속성이 학번, 이름, 학년이라는 뼈대는 잘 바뀌지 않음)
- 릴레이션 인스턴스 (Instance / Extension / 외연)
- 릴레이션 스키마에 실제로 등록된 데이터 값들의 집합(행들의 모임)입니다.
- 학생이 입학하고 졸업함에 따라 데이터가 추가/삭제되므로 계속해서 동적으로 변하는 특성을 가집니다.
Ⅲ. 릴레이션의 4대 필수 특징 (규칙)
데이터 덩어리가 진정한 '릴레이션'으로 인정받으려면 수학적 집합의 성질을 띠는 아래의 4가지 규칙을 절대적으로 지켜야 합니다. (매우 중요한 시험 단골 개념입니다.)
- 튜플의 유일성 (Uniqueness of Tuples)
- 한 릴레이션 안에 완벽히 똑같은 튜플(행)이 두 개 이상 존재할 수 없습니다. 모든 튜플은 서로 다른 식별자(기본키 등)를 가져야 합니다.
- 튜플의 무순서성 (No Ordering of Tuples)
- 튜플(행)들이 저장된 순서(위아래 위치)는 논리적으로 전혀 의미가 없습니다. 김철수 데이터가 위에 있든 이영희 데이터가 위에 있든 동일한 릴레이션입니다.
- 속성의 무순서성 (No Ordering of Attributes)
- 스키마를 구성하는 속성(열)들의 순서(좌우 위치)도 중요하지 않습니다. '학번-이름' 순이든 '이름-학번' 순이든 구조적으로 동일합니다.
- 속성값의 원자성 (Atomicity of Attribute Values)
- 테이블의 모든 셀(교차점)에는 분해할 수 없는 단 하나의 값(Atomic Value)만 들어가야 합니다. (예: '전화번호' 컬럼에
010-1111, 010-2222처럼 두 개의 값을 배열로 넣을 수 없음 ➔ 제1 정규형 위반)
- 테이블의 모든 셀(교차점)에는 분해할 수 없는 단 하나의 값(Atomic Value)만 들어가야 합니다. (예: '전화번호' 컬럼에
📢 섹션 요약 비유: 릴레이션은 **'깐깐하게 관리되는 엑셀 시트'**입니다. 엑셀 시트의 1행 머리글이 '스키마(뼈대)'이고, 그 아래 입력된 수백 명의 명단이 '인스턴스(살코기)'입니다. 단, 이 엑셀 시트에는 절대 중복된 사람이 들어갈 수 없고(유일성), 셀 한 칸에는 무조건 단어 하나만 적어야 하는(원자성) 엄격한 사규가 존재합니다.