Skip to content

young's devlog

[SQL 첫걸음] 33. 관계형 모델

SQL 첫걸음, MySQL1 min read

SQL의 용어와 관계형 모델에서 사용하는 용어에는 조금 차이가 있다.

이번에는 관계형 모델에서 사용하는 용어에 대해 알아보자.;

1. 관계형 모델

관계형 모델에서 기본적인 요소는 릴레이션(Relation)이다. 릴레이션이란 말 자체는 관계를 뜻하지만 관계형 모델에서는 약간 다른 의미를 가진다. 관계형 모델의 릴레이션은 SQL에서 말하는 테이블에 해당된다.

릴레이션에는 몇 가지 속성(Attribute)이 있다. 속성(attribute)은 SQL에서 말하는 열에 해당된다. 그리고 SQL에서의 행은 관계형 모델에서 튜플(tuple)이라 불린다.

릴레이션은 튜플의 집합이며, 릴레이션에 대한 연산이 집합에 대한 연산에 대응된다는 이론을 관계대수라고 한다.

관계대수의 기본 규칙은 다음과 같다.

  • 하나 이상의 관계를 바탕으로 연산한다.

  • 연산한 결과, 반환되는 것 또한 관계이다.

  • 연산을 중첩 구조로 실행해도 상관없다.

2. 관계형 모델과 SQL

관계대수에서는 자주 사용될 것 같은 릴레이션의 연산 방법을 몇 가지 규정한다.

합집합

합집합(union)은 릴레이션끼리의 덧셈을 말한다. SQL에서는 UNION에 해당한다.

차집합

차집합(difference)은 릴레이션끼리의 뺄셈을 말한다. SQL에서는 EXCEPT에 해당한다.

교집합

교집합(intersection)은 릴레이션끼리의 공통부분(교집합)을 말한다. SQL에서는 INTERSECT에 해당한다.

곱집합

곱집합(cartesian product)릴레이션끼리의 대전표를 조합하는 연산을 말한다. SQL에서는 FROM 구에서 복수의 테이블을 지정하는 CROSS JOIN에 해당한다.

선택

선택(selection)튜플의 추출을 말한다. SQL에서는 WHERE 구에 조건을 지정해 데이터를 검색하는 것에 해당한다.

투영

투영(projection)속성의 추출을 말한다. SQL에서 속성은 열을 말하기 때문에 SELECT 구에 결과로 반환한 열을 지정하는 것에 해당한다.

결합

결합(join)곱집합에서 결합조건을 만족하는 튜플을 추출하는 연산을 말한다. SQL에서는 내부결합에 해당한다.

관계대수에도 내부결합, 외부결합이 존재한다.

정리하면

간단하게 관계형 모델에서 사용하는 용어와 SQL에서 사용하는 용어를 비교해보았다.

여러 자료를 검색하고 공부할 때 자주 만날 수 있는 용어이니 기억해두면 유용할 것 같다.