본문 바로가기
CS/DataBase

데이터베이스 첫걸음 정리 - 33장. 관계형 모델

by yongckim 2022. 10. 3.
728x90
반응형

관계형 데이터베이스는 관계형 모델을 기반으로 만들어졌습니다.

SQL은 관계형 모델에 의해 구축된 데이터베이스를 조작하는 체계적인 명령의 집합입니다.

관계형 모델에서 SQL이 만들어졌지만 관계형 모델에서 사용하는 용어와 SQL의 용어는 일치하지 않습니다.

관계형 모델에서 테이블, 열, 행은 다음과 같이 표현됩니다.

관계형 모델은 데이터 구조에 관해 정의합니다.

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

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

  • 하나 이상의 관계를 바탕으로 연산한다.
  • 연산한 결과인 반환 값 또한 관계이다.
  • 연산을 중첩 구조로 실행해도 상관없다.

관계형 모델과 SQL

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

  • 합집합

합집합은 릴레이션끼리의 덧셈을 말합니다. SQL에서는 UNION에 해당하는 부분입니다.

  • 차집합

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

  • 교집합

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

  • 곱집합

곱집합(cartesian product)은 릴레이션끼리의 대전표를 조합하는 연산으로 릴레이션의 모든 조합이 계산됩니다.

CROSS JOIN으로 교차결합을 하면 곱집합을 할 수 있습니다. (FROM에 복수의 테이블을 지정해도 가능합니다.)

  • 선택

선택(selection)은 튜플의 추출을 말하며, 제한이라 불리기도 합니다.

WHERE 구에 조건을 지정해 데이터를 검색하는 것이 선택에 해당됩니다.

  • 투영

투영(projection)은 속성의 추출을 의미합니다.

SELECT 구에 결과로 반환할 열을 지정하는 것이 투영에 해당됩니다.

  • 결합

결합(join)은 릴레이션끼리 교차결합해 계산된 곱집합에서 결합조건을 만족하는 튜플을 추출하는 연산입니다.

SQL에서는 내부결합에 해당됩니다.

정리

  • 관계형 데이터베이스는 관계형 모델을 기반으로 만들어졌으며, SQL은 이를 조작하기 위한 명령의 집합입니다.
  • 관계형 모델의 릴레이션은 테이블, 속성은 열, 튜플은 행으로 표현됩니다.
  • 릴레이션은 튜플의 집합이며, 릴레이션에 대한 연산이 집합에 대한 연산에 대응한다는 이론을 관계대수라고 합니다.
  • 관계대수에서는 자주 사용될 것 같은 릴레이션의 연산 방법을 몇 가지 규정하며, 다음과 같은 연산 방법을 사용합니다.
    • 합집합 → 릴레이션끼리의 덧셈
    • 차집합 → 릴레이션끼리의 뺄셈
    • 교집합 → 릴레이션끼리의 공통부분
    • 곱집합 → 릴레이션 간 모든 경우의 수
    • 선택 → 조건에 맞는 튜플 반환
    • 투영 → 조건에 맞는 속성 반환
    • 결합 → 곱집합 후 조건을 만족하는 튜플 반환
반응형