릴레이션 (Relation)
•
데이터베이스에서의 정보를 구분하여 저장하는 기본 단위
•
테이블(RDBMS)이나 컬렉션(NoSQL)으로 표현된다.
•
릴레이션 = 테이블. 즉, ERD의 네모칸 하나하나가 결국 릴레이션이다.
테이블 (Table)
•
데이터를 행과 열로 구성하여 저장하는 구조
•
각 행은 하나의 레코드를 나타내고, 각 열은 속성(Attribute)을 나타낸다.
•
ex) 학생 테이블은 학번, 이름 학과 등의 열을 가진다.
컬렉션 (Collection)
•
비구조화된 데이터를 그룹화하여 저장하는 구조
•
NoSQL 데이터베이스에서 자주 사용되며, 문서(Document), 키-값 쌍(Key-Value Pairs), 그래프(Graph) 등 다양한 형태로 존재한다.
•
ex) MongoDB의 도큐먼트 컬렉션은 JSON 형태로 데이터를 저장한다.
릴레이션의 특징
•
한 릴레이션에는 똑같은 튜플(Tuple)이 포함될 수 없으므로 릴레이션에 포함된 튜플들은 모두 상이하다.
튜플?
•
한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
•
튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
•
릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않다.
•
속성의 유일한 식별을 위해 속성의 명칭은 유일해야 하지만, 속성을 구성하는 값은 동일한 값이 있을 수 있다.
•
릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합 키(Key)로 설정한다.
◦
릴레이션 내에서 각 튜플을 다른 튜플과 구별하여 식별할 수 있게 하기 위해 하나 이상의 속성을 선택하여 그 조합을 키로 사용한다는 의미
•
속성의 값은 논리적으로 더 이상 쪼갤 수 없는 원자 값만을 저장한다.