새소식

Lecture Note/[DB] Database Theory

Relational Algebra

  • -

Relational algebra

  • Select
  • Project
  • Cartesian product
  • Join
  • Rename
  • Union
  • Set-intersection
  • Set-difference

Operands and Operators

  • Operands: 변수나 값. (새로운 값을 구성할 수 있는)
    • 3, a, 4, d
  • Operators: 절차를 나타내는 기호 (지정된 operands에서 새 값을 구성하는)
    • add, sub, mult, div

Relational Algebra

  • operations 들의 집합을 포함하는 절차적인 언어
    • 하나 혹은 두개의 relations을 input으로 갖고 새로운 relation을 output으로 갖는다.
  • Basic operaties
    • Select, Project, Cartesian Product, Join, Rename, Union, Set-intersection, Set-difference

Select Operation

  • select
    • 주어진 조건을 만족하는 모든 column을 가져온다.

ex1. select those tuples if the instructor relation where the instructor is in the "Comp. Sci." department

Project operation

  • unary(단항의, 1진법) operation
    • returns its argument relation
    • certain attributes left out
  • result → a relation with k columns(k개를 선택했다면)
    • A1, A2, ..., Ak에 속하지 않은 column은 결과에서 제외된다.
    • 중복한 rows는 제거된다. (the resulting relation은 집합이다. )
  • 조건을 붙여서 특정 column만 가져오는 경우를 말한다.

Ex2. eliminate the dept_name attibute of instructor

Composition of Relational Operations

  • Relational-algebra 연산은 relational-algebra 표현으로 함께 구성될 수 있다.
    • 다시 불려진 relational algebra의 결과는 relation이다.
    • relation이름을 projection operation로 지정하는 대신, rel32ation을 평가하는 표현을 줄 수 있다..

Cartesian-Product Operation

  • denoted by X
    • 어떤 두 개의 relation으로 부터 information을 결합한다.
    • 각각의 가능한 모든 쌍의 튜플로 부터 relation 의 결과를 구성.
    • 모든 가능한 경우의 수를 만든다.
    • 12 instructors * 15 courses = total 180 tuples

Join Operation

  • 모든 teaches의 tuple과 모든 instructor의 tuple이 연관된다.
  • 선택한 operation과 cartesian-product를 단일 operation으로 결합한다.
    • r(R) and s(S)
    •  
    Union Operation (합집합)

  • 두 개의 relations의 superset
  • notation: r U s
    1. r, s의 attribute의 수가 같아야 한다. (same arity)
    2. attribute의 domain이 양립가능.
      • 예를 들어, 같은 열에 있는 애들은 각각 같은 type의 데이터를 처리함

Set-Intersection Operation (교집합)

  • notation: r (교집합 부호) s
  • 조건은 합집합과 같다.

Set-Difference Operation (차집합)

  • Notation: r-s
  • 조건은 위와 같다.

The Assignment Operation

  • notation: ←
  • assigning parts of it to temporary relation variables
    • Query
      • Physics ← select dept_name="Physics"(instructor)
      • Music ← select dept_name = "Music"(instructor)
      • Physics U Music
  • Find all instructor in the Physics and Music departments
  • 쿼리는 sequential program으로 쓰여질 수 있다.
    • sequential program은 일련의 assignment와 query의 결과로 값이 표시되는 식으로 구성된다.

Rename Operation

  • 다른 relational-algebra 표현에 참조할 수 있는 이름이 없다.
  • rename operator를 이용해서, 기울여진 p같이 생김. [로우]
  • notation; px(E)
    • x이름 아래 E라는 표현의 결과를 return한다.

Equivalent queries

  • 하나의 쿼리를 사용하는 데 여러가지 방법이 존재한다.

Find information about courses taught by instructors in the Comp. Sci. department with salary greater than 50,000

'Lecture Note > [DB] Database Theory' 카테고리의 다른 글

Structured Query Language  (0) 2023.10.27
Handshaking with an R-DBMS  (0) 2023.10.27
MySQL과 명령어  (0) 2023.10.27
Database Systems  (0) 2023.10.26
Database Theory  (0) 2022.08.04
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.