릴레이션relation

릴레이션relation (rev. 1.7)

개체entity에 관한 data를 2차원 테이블table 구조로 저장한 것.

기본적으로 테이블table이다. data를 table 형태로 표현한 것.
RDB를 구성하는 개체entity, 관계relationshiprelation이라는 table로 표현한다.

다음 둘:
  • 개체 relation
  • 관계 relation
으로 구분 가능.

구성: 다음 둘, 릴레이션 스키마와 릴레이션 인스턴스로 구성된다.
릴레이션스키마relation_schema 릴레이션인스턴스relation_instance
릴레이션 스키마 = relation 스키마schema (relation type)
relation의 이름과 relation의 속성들의 집합.
relation의 이름과 relation에 포함된 모든 속성의 이름으로 정의하는 relation의 논리적 구조.
릴레이션 내포 (relation intension), 내포intension라고도 함.
형태 표현:
릴레이션이름 (속성이름1, 속성이름2, ..., 속성이름n)
릴레이션 인스턴스 = relation instance (relation occurrence)
relation에 어느 시점에 들어있는 튜플tuple들의 집합.
어느 한 시점에 relation에 존재하는 tuple들의 집합.
외연extension이라고 함.

ID 이름 나이 등급 → 릴레이션 스키마
apple 김현준 20 gold
banana 정소화 25 vip ├→ 릴레이션 인스턴스
good 정지영 22 silver

참고(비교):
  • database schema: DB를 구성하는 relation schema의 모음
  • database instance: DB를 구성하는 relation instance의 모음

relation의 특성[1]
  • tuple의 유일성 : 한 relation에는 동일한 tuple이 존재할 수 없음.
  • tuple의 무순서 : 한 relation에서 tuple사이의 순서는 무의미함.
  • 속성attribute의 무순서 : 하나의 relation에서 속성 사이의 순서는 무의미함.
  • 속성attribute의 원자성 : 속성 값으로 원자 값만 쓸 수 있음.

한 relation에 포함된 tuple들은 모두 다르다.
한 relation에 포함된 tuple들 사이에는 순서가 없다.

키key : relation에서 tuple들을 구별하는 역할을 하는 속성 또는 속성들의 집합.

차수degree: 한 relation에서 속성의 전체 개수.

릴레이션 관련 SQL 문법

릴레이션을 생성하는 SQL 문법: CREATE TABLE
릴레이션을 삭제하는 SQL 문법: DROP TABLE
릴레이션의 속성attribute을 추가/삭제/변경하는 명령: ALTER TABLE