33강 관계형 모델
관계형 모델을 기반으로 작성된 데이터베이스가 관계형 데이터베이스라는 점이다.
SQL은 관계형 모델에 의해 구축된 데이터베이스를 조작하는 체계적인 명령의 집합이다. 관계형 모델에서 SQL이 만들어졌지만, 관계형 모델에서 사용하는 용어와 SQL의 용어는 일치하지 않는다.
관계형 모델
관계형 모델(Relational Model)의 기본적인 요소는 릴레이션(Relation)이다. 이 릴레이션이라는 말 자체는 관계를 뜻하지만 관계형 모델에서는 조금 다른 의미를 가진다.
관계형 모델의 릴레이션은 SQL에서 말하는 테이블에 해당된다. 테이블끼리의 관계가 아니다.
릴레이션은 테이블이다.
관계형 모델의 릴레이션에는 몇 가지 속성(attribute)이 있다. 이 속성은 속성 이름과 형 이름으로 구성된다. 속성은 SQL에서 열에 해당한다. 그리고 SQL의 행은 관계형 모델에서 튜플(tuple)이라고 불린다.
관계형 모델은 데이터 구조에 관해 정의한다. 릴레이션은 튜플의 집합이며, 릴레이션에 대한 연산이 집합의 연산에 대응된다는 이론을 관계대수라고 한다. 관계대수의 기본 규칙은 다음과 같다.
- 하나 이상의 관계를 바탕으로 연산한다.
- 연산한 결과, 반환되는 것 또한 관계이다.
- 연산을 중첩 구조로 실행해도 상관없다.
UNION이나 테이블의 결합과 마찬가지로 연산한 결과도 관계(릴레이션)이다.
관계형 모델과 SQL
관계대수에서는 자주 사용될 것 같은 릴레이션의 연산 방법을 몇 가지 규정한다.
- 합집합 (UNION)
- 차집합 (EXCEPT)
- 교집합 (INTERSECT)
- 곱집합 (CROSS JOIN)
- 선택 (튜플의 추출, 제한) -> WHERE구의 조건 지정
- 투영 (속성의 추출) -> SELECT구에 결과로 반환할 열을 지정
- 결합 (JOIN)