Database

[Database] 관계 대수

Ocean_ 2023. 2. 3. 13:32

관계대수

관계대수

  • 릴레이션에서 원하는 결과를 얻기 위해 수학의 대수와 같은 연산을 이용하여 질의하는 방법

관계대수 - 어떤 데이터를 어떻게 찾는지에 대한 처리 절차를 명시(절차적언어)

  • select , 합집합, 교집합, division 이런거

관계해석 - 어떤 데이터를 찾는지만 명시하는 선언적인 단어(비절차적언어)

  • or 연산, and 연산, not연산 등

도메인의 집합 (카티전 프로덕트) → (부분집합) 릴레이션 → 연산(관계대수,관계해석) → 결과

 

관계대수 연산자

관계대수식

  • 릴레이션 간 연산을 통해 결과 릴레이션을 찾는 절차를 기술한 언어로, 이연산을 수행하기 위한 식을 관계대수식이라고함.

셀렉션 - R1에서 조건에 맞는 투플을 추출함

  • 릴레이션의 투플을 추출하기 위한 연산.
  • 찾고자 하는 조건을 명시하고 그 조건에 맞는 투플 반환
  • σ<조건> (R)
    • σ(가격<=8000 ∧ 도서번호 >=3) (도서)

프로젝션 - R2에서 조건에 맞는 속성만을 추출함

  • 릴레이션의 속성을 추출하기 위한 연산
  • π<속성리스트> (R)

합집합 - R1과 R2의 합집합

  • 두개의 릴레이션을 합하여 하나의 릴레이션 반환, 이때 두개의 릴레이션은 서로 같은 속성 순서와 도메인을 가져야 함
  • R ∪ S

교집합

  • 합병 가능한 두 릴레이션을 대상으로 공통으로 가지고 있는 투플을 반환함
  • R ∩ S

차집합 - R1과 R2 의 차집합

  • 첫번째 릴레이션 에는 속하고 두 번째 릴레이션에는 속하지 않는 투플

조인 - R1과 R2를 카티전 프로덕트를 구해서 조건에 맞는 투플 추출

 

카티전 프로덕트

  • 두 릴레이션을 연결시켜 하나로 합칠 때 사용
  • 차수 : 두 릴레이션의 차수의 합
  • 카디날리티 : 두 릴레이션의 카디날리티 곱
  • 3개와 4개 카티전 프로덕트하면 카디날리티 12

숭실대학교 Database 강의를 수강 후 정리하였습니다.