392. 릴레이션 인스턴스 (Relation Instance)
⚠️ 이 문서는 관계형 데이터베이스(RDB)에서 설계도(스키마)에 맞춰 **특정 시점에 테이블 안에 실제로 저장되어 있는 데이터 값들의 집합인 '릴레이션 인스턴스(외연)'**를 다룹니다.
핵심 인사이트 (3줄 요약)
- 본질: 릴레이션 인스턴스는 테이블 안에 채워진 '진짜 데이터'들의 모음이다. 각 행(Row)을 뜻하는 튜플(Tuple)들의 집합으로 구성된다.
- 특징: 스키마가 정적인 설계도라면, 인스턴스는 회원이 가입하고 탈퇴할 때마다 시시각각 내용이 변하는 동적인(Dynamic) 특성을 가진다.
- 다른 용어: 데이터베이스 이론에서는 이 값들이 겉으로 드러난 구체적인 실체라는 뜻에서 **외연 (Extension)**이라고 부른다.
Ⅰ. 개요: 붕어빵을 구워내다 (Context & Necessity)
391번 문서에서 우리는 [아이디, 이름, 나이]라는 '회원 테이블'의 뼈대(스키마)를 만들었다.
하지만 뼈대만으로는 쇼핑몰을 운영할 수 없다.
실제로 고객이 가입 버튼을 눌러서 [user1, 김철수, 20]이라는 데이터를 밀어 넣었을 때, 비로소 데이터베이스는 살아 움직이기 시작한다.
어느 특정한 시간(예: 오늘 오후 3시 정각)에 이 테이블을 찰칵! 하고 사진 찍었을 때, 그 안에 들어있는 모든 회원 데이터의 목록을 우리는 릴레이션 인스턴스라고 부른다.
📢 섹션 요약 비유: 릴레이션 스키마가 **'붕어빵 틀'**이라면, 릴레이션 인스턴스는 그 틀에 밀가루와 팥을 붓고 구워내어 내 손에 쥐어진 **'따끈따끈한 붕어빵들'**입니다. 붕어빵은 방금 구워내서 10개가 될 수도 있고, 내가 먹어버리면 8개가 될 수도 있죠(동적 변화).
Ⅱ. 릴레이션 인스턴스의 구성 요소
릴레이션 인스턴스는 수학적으로 튜플(Tuple)들의 집합으로 정의된다.
- 튜플 (Tuple)
- 테이블의 가로줄(Row, 행) 하나하나를 의미한다. (예:
[1001, 김철수, 20]) - 각각의 튜플은 한 명의 회원, 혹은 하나의 주문을 완벽하게 설명하는 데이터 덩어리다.
- 테이블의 가로줄(Row, 행) 하나하나를 의미한다. (예:
- 카디널리티 (Cardinality)
- 릴레이션 인스턴스 안에 들어있는 튜플의 총개수를 말한다.
- 데이터가 늘어나면 카디널리티는 증가하고, 지워지면 감소한다. (시간에 따라 계속 변함)
Ⅲ. 동적인 특성 (Dynamic Nature)
인스턴스의 가장 중요한 특징은 계속해서 상태가 변한다는 것이다.
- 오후 1시: 김철수, 이영희 가입 (인스턴스 카디널리티 = 2)
- 오후 2시: 박민수 가입 (인스턴스 카디널리티 = 3)
- 오후 3시: 김철수 탈퇴 (인스턴스 카디널리티 = 2)
이처럼 릴레이션 인스턴스는 INSERT, UPDATE, DELETE 같은 DML(데이터 조작어) 명령어에 의해 하루에도 수십만 번씩 춤을 춘다.
┌──────────────────────────────────────────────────────────────┐
│ 릴레이션 인스턴스(Instance)와 카디널리티의 시각적 이해 │
├──────────────────────────────────────────────────────────────┤
│ │
│ [ 📐 릴레이션 스키마 (뼈대) ] │
│ 학번(PK) │ 이름(문자) │ 나이(숫자) │
│ ────────┼─────────┼───────── │
│ │
│ [ 📦 릴레이션 인스턴스 (외연 / Extension) ] ◀── (여기서 설명하는 개념) │
│ 1001 │ 김철수 │ 20 ◀── 튜플 1 │
│ 1002 │ 이영희 │ 21 ◀── 튜플 2 │
│ 1003 │ 박민수 │ 22 ◀── 튜플 3 │
│ │
│ ★ 현재 이 인스턴스의 '카디널리티(데이터 개수)'는 3이다! │
└──────────────────────────────────────────────────────────────┘
Ⅳ. 결론
"스키마는 약속이고, 인스턴스는 현실이다."
우리가 SQL 쿼리(SELECT * FROM Users)를 날려서 화면에 보는 결과물은 스키마가 아니라 바로 이 '릴레이션 인스턴스'다. 시험에서는 인스턴스가 튜플들의 집합이며, 시간이 지남에 따라 변하는 '동적인 성질'을 가지고 있고, '외연(Extension)'이라고 불린다는 점이 스키마(내포)와 짝을 이루어 단골로 출제되므로 두 가지를 명확히 구분해야 한다.
📌 관련 개념 맵
- 대칭 개념: 릴레이션 스키마 (내포 / Intension - 391번 문서)
- 인스턴스의 구성요소: Tuple(튜플), Cardinality(카디널리티 - 행의 수)
- 관련 명령어: DML (Data Manipulation Language - SELECT, INSERT, UPDATE, DELETE)
- 동의어: 외연 (Extension)
👶 어린이를 위한 3줄 비유 설명
- 학교에서 나눠준 '빈 시간표 종이'가 스키마라면, 인스턴스는 내가 연필로 직접 적어 넣은 '수학, 국어, 체육' 같은 진짜 과목 이름들이에요.
- 시간표 종이의 틀(월화수목금)은 안 바뀌지만, 내가 쓴 과목 이름들은 1학기랑 2학기 때 달라질 수 있잖아요?
- 이렇게 계속 지우개로 지우고 새로 쓸 수 있는 '진짜 내용물'들을 우리는 인스턴스(외연)라고 부른답니다!