본문 바로가기

컴퓨터 기초/데이터베이스

관계 데이터 모델 - Relation

🧐 릴레이션이란...

릴레이션은 하나 이상의 집합으로 표현되는 것을 이야기한다

여기서 릴레이션이라고 이야기했지만 테이블과 같은 의미를 가지고 있다

테이블로 이야기를 하자면..

테이블은 하나 이상의 열(column)로 표현되는 것을 이야기한다

하나의 행(row)을 선택했을 때 집합 또는 열들에서 선택된 원소들이 서로 관계를 맺고 있다고 볼 수 있다

관계(Relationship)의 개념

  • 릴레이션(테이블) 내에서 생성되는 관계 -> 하나의 행을 선택했을 때
  • 릴레이션 간에 생성되는 관계 -> 한 릴레이션에서 다른 릴레이션으로 식별 가능한 값을 이용하여 연결

🛠 릴레이션의 구성요소

릴레이션 스키마

릴레이션이 어떻게 구성되었으며 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의
보통 스키마는 릴레이션의 첫 행인 헤더에 나타난다


컴퓨터가 스키마를 분석하여 사용하기 위해서 필요한 스키마의 요소

  • 속성 Attribute : 릴레이션 스키마의 열의 제목
  • 도메인 Domain : 속성이 가질 수 있는 값의 집합 (프로그래밍으로 보자면 정수, 문자열등 타입을 이야기함)
  • 차수 Degree : 릴레이션 속성의 개수

릴레이션 표현
릴레이션 이름 (속성 1, 속성 2, 속성 3) 또는 릴레이션 이름 (속성 1 : 도메인 1, 속성 2 : 도메인 2, 속성 3 : 도메인 3)
ex) User (Email, Password, NickName) 또는 User (Email : String, Password : String, NickName : String)
-> User 릴레이션의 차수는 3개

릴레이션 인스턴스

정의된 스키마에 따라 테이블에 실제로 저장되는 데이터의 집합

  • tuple 튜플 : 릴레이션의 행
  • Cadinality: 릴레이션에 존재하는 튜플의 수

릴레이션의 특징

  • 속성은 단일 값을 가진다 -> 속성 집합에 속하는 값이 집합이여서는 안 된다...
  • 속성의 이름이 중복되어서는 안된다
  • 한 속성의 값은 같은 도메인을 가진다
  • 속성의 순서는 상관없다
  • 릴레이션 내의 중복된 행(튜플)이 존재해서는 안된다
  • 행(튜플)의 순서는 상관없다