{{위키데이터 속성 추적}}
[[파일:Relational database terms.svg|섬네일|관계, 투플(tuple), 그리고 속성(attribute)은 테이블, 행(row) 그리고 열(column)로 타나난다.]]
[[관계 모델]]에서 '''관계'''(relation)는 동일한 구조로 이루어진 [[튜플]]의 집합을 말한다. 값으로서의 관계를 ‘관계값’(relation value)라고 하며, 관계값을 값으로 가지는 변수를 ‘[[관계변수]]’(relvar, relation variable)라고 한다.

속성명과 연결된 도메인(열)들을 정의한 것은 ‘'''관계 스키마'''’(relation schema)라고 불린다.<ref name="Ullman1989">{{서적 인용|author=Jeffrey D. Ullman|title=Principles of Database and Knowledge-Base Systems|url=http://books.google.com/books?id=YmpqAAAAMAAJ&pg=PA410|accessdate=28 November 2012|year=1989|publisher=Jeffrey Ullman|pages=410–}}</ref><ref name="ShashaBonnet2003">{{서적 인용|author1=Dennis Elliott Shasha|author2=Philippe Bonnet|title=Database Tuning: Priciples, Experiments, and Troubleshooting Techniques|url=http://books.google.com/books?id=1CJdgVO8PwAC&pg=PA124|year=2003|publisher=Morgan Kaufmann|isbn=978-1-55860-753-8|page=124}}</ref> 때로는 관계 스키마는 관계 그 자체의 이름에 포함되기도 한다. 이러한 관계 스키마는 ‘'''테이블 스키마'''’(table schema)로도 불리기도 한다.<ref name="Prigmore2007">{{서적 인용|author=Martyn Prigmore|title=Introduction to Databases With Web Applications|url=http://books.google.com/books?id=PKggKqIZnN0C&pg=PA101|year=2007|publisher=Pearson Education|isbn=978-0-321-26359-9|page=101}}</ref><ref name="HalpinMorgan2008">{{서적 인용|author1=T. A. Halpin|author2=Antony J. Morgan|author3=Tony Morgan|title=Information Modeling and Relational Databases|url=http://books.google.com/books?id=puO_VlbR_x4C&pg=PA772|year=2008|publisher=Morgan Kaufmann|isbn=978-0-12-373568-3|page=772}}</ref>

[[관계 데이터베이스]]의 [[데이터베이스 언어]]인 [[SQL]]에서는 관계 변수와 거의 같은 의미로 [[테이블]]이라는 용어가 사용되고 있다. 문맥에 따라서 ‘관계변수’를 ‘관계’라고 부르기도 하고 ‘관계값’을 관계라고 부르기도 한다.

기타 데이터베이스의 관계는 다음과 같은 것을 말할 수 있다.
* 관계변수를 값으로 갖는 관계값은 시간에 따라 변화한다.
* 관계변수는 [[데이터 정의 언어]](DDL)를 사용하여 정의할 수 있다.
* 제목(heading)은 특정 속성(열) 이 정렬되지 않은 집합이다.
* 관계값을 구성하는 튜플의 집합을 본체 (body)라고 한다. 즉 관계 값은 제목과 본체로 구성되어있다.
* 튜플은 0개 이상의 속성의 집합으로 구성된 데이터 구조이다.
* 속성(attribute)은 속성명과 정의영역 이름 열이다.
* 정의영역(domain)은 [[데이터 형식]]과 같은 의미로 생각해도 좋다.<ref name="Worboys1995">{{서적 인용|author=Michael F. Worboys|title=Gis: A Computing Perspective|url=http://books.google.com/books?id=duT2fcnQeJMC&pg=PA57|accessdate=22 November 2012|year=1995|publisher=Taylor & Francis|isbn=978-0-7484-0065-2|pages=57–}}</ref>
* 속성은 그 정의영역에 적용되는 하위의 속성 값을 가진다.
* 속성 값은 스칼라 값이나 더 복잡한 구조를 가지는 값이다.
* 제목을 구성하는 속성의 수를 차수(degree)라고 한다.
* 관계값의 차수는 0 또는 양의 정수이다.
* 차수가 n인 관계 값을 n항 관계(''n''-ary relation)라고 한다.
* 관계값을 구성하는 튜플 수를 [[집합의 크기|농도]] (cardinality)라고 한다.
* 관계값의 농도는 0 또는 양의 정수이다.
* 관계값은 중복 튜플이 존재하지 않는다.
* 관계 값을 구성하는 각각의 열은 특정한 하나 이상의 속성 집합으로 식별된다. 이 속성 집합을 [[후보 키]](candidate key)라고 한다.

== 예제 ==
아래는 3개의 속성명을 가진 관계의 예제이다. 정수(integer) 도메인에서 온 'ID'와 문자열(string)에서 온 'Name'과 'Address'를 가지고 있다:

{| class="wikitable"
! ID (Integer) !! Name (String) !! Address (String)
|-
| 102 || 홍길동 || 전라남도, 장성군
|-
| 202 || 임꺽정 || 경기도, 양주시
|-
| 104 || 신사임당 || 강원특별자치도, 원주시
|-
| 152 || 주논개 || 전라남도, 장수군
|}

SQL이 아니라, 관계 이론에서, 튜플(tuples)은 정렬되지 않으며, ‘임꺽정의 튜플’이라고 할 수 없는 것은 주논개의 튜플이라고 할 수 없는 것과 같고, 마찬가지로 "홍길동의 튜플'이 최초의 튜플이라고 할 수도 없다."

== 기본 관계변수와 파생 관계변수 ==
관계변수(relvar)는 기본 관계변수와 파생 관계변수로 두 가지 종류로 분류할 수 있다. 하나 또는 다수의 변수에 [[관계대수]]나 [[관계논리]] 표현식에 적용시킴으로써, 새로운 관계 변수값이 파생된다.

'''기본 관계변수'''는 어떤 다른 관계변수에서 파생되지 않은 기초적인 관계변수이다. [[관계 데이터베이스]]의 [[데이터베이스 언어]]인 SQL에서는 '''기본 테이블'''이라는 용어는 ‘기본 관계변수’로 여겨진다. [[데이터 정의 언어]] (DDL)을 사용함으로써 기본 관계변수를 정의할 수 있다. SQL에서는 <code>[[CREATE (SQL)|CREATE TABLE]]</code> 구문을 사용함으로써, 기본 변수를 정의할 수 있다. 아래의 예를 보자.
<syntaxhighlight lang="sql">
CREATE TABLE List_of_people (
 ID INTEGER,
 Name CHAR(40),
 Address CHAR(200),
 PRIMARY KEY (ID)
)
</syntaxhighlight>

'''파생 관계변수'''는 [[관계대수]]나 [[관계논리]] 표현식을 적용함으로써 획득되는, 하나 또는 여러 개의 관계 변수에서 파생된 관계 변수이다. [[뷰 (SQL)|VIEW]]는 파생 관계변수로 간주된다. [[데이터 정의 언어]] (DDL)에서 파생된 관계변수를 정의할 수 있다. SQL에서는 <code>[[CREATE (SQL)|CREATE VIEW]]</code> 구문을 통해 파생 관계변수를 정의할 수 있다. 아래는 그 예이다.
<syntaxhighlight lang="sql">
CREATE VIEW List_of_Jellanamdo_people AS (
 SELECT ID, Name, Address
  FROM List_of_people
  WHERE Address LIKE '%, 전라남도'
)
</syntaxhighlight>

== 각주 ==
{{각주}}

{{데이터베이스}}

{{전거 통제}}

[[분류:데이터베이스 관리 시스템]]
[[분류:데이터 모델링]]
[[분류:관계형 모델]]