관계대수 (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 |