4. Relational Algebra

2021. 5. 2. 20:02Computer Sciences/Database

데이터베이스를 사용하는 주된 이유는 쿼리를 사용하여 데이터를 효율적으로 처리하기 위해서다.

Relational Algebra

  • Relational model은 데이터에 대한 작업이 표준화되어있고, 그 작업을 수학적으로 나타낼 수 있다.
    • Relational algebra - 가장 많이 사용됨
    • Relational calculus
    • Datalog
  • ODL은 데이터에 대한 여러 작업을 수행할 수있는 메소드를 사용하는 방법이다.
    • 아직 수학적으로 표현할 수 없다
  • E/R model은 데이텅 조작에 대한 구체적인 방법을 포함하지 않는다

What is Algebra?

  • Algebra = operators + atomic operands
  • Arithmetic algebra
    • Atomic operands: x나 y같은 변수 또는 37과 같은 상수
    • Operators: +, -, *, /
    • Expression은 Operators와 atomic operands 또는 다른 Expression을 적용함으로써 만들어진다
      • 101
      • 1+2*3
      • x + 1

Relational Algebra

  • Atomic operands
    • 릴레이션을 나타내는 변수(r1, r2 등)
    • 릴레이션 자체를 나타내는 상수
  • Operators
    • 교집합, 합집합, 차집합
    • 릴레이션에서 일부를 떼어낼 때는 셀렉션, 프로젝션
    • 두 릴레이션의 튜플을 합칠 때는 커티션 프로덕트, 내추럴 조인, 세타 조인
    • 이름을 바꿀 땐 p
    • Expression은 Operators와 atomic operands 또는 다른 Expression을 적용함으로써 만들어진다

Query

  • 쿼리는 Relational algebra의 표현식이다
  • Relational algebra는 인류에게 있어서 질의어를 처음 수학적으로 나타낸 것이다
  • 임의의 릴레이션 R과 S에서
    • R 합집합 S - R과 S를 합침
      • 합집합 시 중복되는 튜플은 집합의 특성에 의해 하나만 남음
    • R 교집합 S - R과 S의 겹치는 부분을 구함
    • R 차집합 S - R과 S의 차를 구함
  • 조건
    • R과 S의 스키마가 같아야 함
      • 컬럼의 순서, 수가 같아야 하고, 데이터 타입도 같아야 함

Projection

  • 중복되는 컬럼은 하나만 남음

Selection

Cartesian Product(X)

  • 릴레이션을 합칠 때 컬럼이나 튜플의 수가 많으면 크기가 방대해지기 때문에 실제로는 거의 사용되지 않음

Natural Joins

  • R과 S를 결합하는데, R만 있는 부분, S만 있는 부분, 그리고 두 릴레이션에서 같은 컬럼을 결합한다.
  • 같은 컬럼이 없을 경우 Cartesian Product가 됨
  • 컬럼의 내용이 다른 경우 버림

Theta-Joins

'Computer Sciences > Database' 카테고리의 다른 글

6-1. E/R 모델  (0) 2021.05.02
5. Bags and Extended Relational Algebra  (0) 2021.05.02
3. Defining a Schema in SQL  (0) 2021.05.02
2. Relational Data Model  (0) 2021.05.02
1. What is Database?  (0) 2021.05.01