본문 바로가기
시큐리티 아카데미

데이터베이스 관계대수

by christmas mushroom 2024. 7. 29.

관계대수 (Relational Algebra)

: 수학의 대수와 같은 연산을 이용해 질의하는 방법을 기술한 언어

  - 관계 데이터 모델의 중요한 언어로 릴레이션에서 원하는 결과 얻기 위해 사용

  - SQL 언어는 관계해석 기반으로 하지만 관계대수 개념 필요

  - 어떤 데이터를 어떻게 찾는지에 대한 처리절차 명시하는 절차적인 언어

  - DBMS 내부의 처리언어이고 내부에서는 최종 결과 집합을 반환함

 ● 관계대수 연산자

 

 

 ●관계대수 식

   : 관계대수 연산을 수행하기 위한 식

    - 릴레이션과 연산자로 구성되고 결과는 릴레이션으로 반환

    - 단항 연산자: 연산자<조건> 릴레이션

    - 이항 연산자: 릴레이션1 연산자<조건> 릴레이션2

 

 

셀렉션과 프로젝션

: 관계대수에서 가장 기본적인 연산으로 하나의 릴레이션을 대상으로 하는 단항 연산자, 순수 관계 연산자

 

 ● 셀렉션: 릴레이션의 투플 추출을 위한 연산으로 하나의 릴레이션을 대상으로 하는 단항 연산자

     ○ 찾고자 하는 투플 조건 명시하고 그 조건에 만족하는 투플 반환

      형식: σ<조 건> (R) (R은 릴레이션)

      조건이 여러 개이면 ∧(and), ∨ (or), ┑(not)기호를 이용해 표시

 ● 프로젝션

      릴레이션의 속성 추출위한 연산으로 단항 연산자

      형식: π<속성리스트> (R)

 

 

집한연산

합집합: 두개의 릴레이션 합해 하나의 릴레이션 반환하는 연산

    ○ 두 릴레이션은 서로 같은 속성 순서와 도메인을 가져야 함

    ○ 형식: R∪S

교집합: 합병가능한 두 릴레이션 대상으로 두 릴레이션 공통으로 가지고 있는 투플 반환하는 연산

    ○ 형식: R∩S 

차집합: 첫번째 릴레이션에는 속하고 두번째 릴레이션에는 속하지 않는 투플을 반환하는 연산

    ○ 형식: R-S

카디전 프로덕트: 두 릴레이션 연결시켜 하나로 합칠 때 사용하는 연산

    ○ 결과 릴레이션은 첫 번째 릴레이션의 오른쪽에 두 번째 릴레이션의 모든 투플을 순서대로 배열해 반환함

        - 차수(속성의 개수)는 두 릴레이션의 차수 합

        - 카디날리티(투플의 개수)는 두 릴레이션의 카디날리티의 곱

    ○ 형식: RXS

 

 

조인

: 두 릴레이션의 공통 속성 기준으로 속성값이 같은 투플수평으로 결합하는 연산

  - 두 릴레이션의 조인에 참여하는 속성은 동일한 도메인으로 구성됨

  - 결과는 공통 속성의 속성 값이 동일한 투플만 반환됨

  - 형식 :

 

  - 조인연산의 구분

 

 ● 세타조인

     ○ 조인에 참여하는 두 릴레이션의 속성 값을 비교해 조건을 만족하는 투플만 반환

     ○ 조건은 {=, ≠, ≤, ≥, <, >} 중 하나

 

 ● 동등조인

     ○ = 연산자를 사용한 조인

     ○ 보통 조인연산이라 하면 이를 말함

 

 ● 자연조인

     ○ 동등조인에서 조인에 참여한 속성이 두 번 나오지 않도록 두 번째 속성을 제거한 결과를 반환

 

 ● 외부조인

     ○ 자연조인 시 조인에 실패한 투플까지 모두 보여주고 값이 없는 대응 속성에는 NULL 값 채워서 반환

     ○ 기준 릴레이션의 위치에 따라 왼쪽, 오른쪽, 완전 외부조인으로 나뉨

 

 ● 세미조인

     ○ 자인조인 후 두 릴레이션 중 한쪽 릴레이션의 결과만 반환

     ○ 기호에서 닫힌 쪽 릴레이션의 투플만 반환

 

 

디비전

 ● 다른 연산과 달리 릴레이션의 속성 값의 집합으로 연산수행

 ● 형식: R÷S

 

'시큐리티 아카데미' 카테고리의 다른 글

정보보호 법/제도 2  (3) 2024.09.11
정보보호 법/제도 1  (2) 2024.09.11
데이터베이스 이론  (0) 2024.07.25
리눅스 8  (2) 2024.07.22
악성코드분석  (11) 2024.07.22