티스토리 뷰

DB

추가 관계 대수

tioon 2023. 3. 27. 02:37

*공부 기록용으로 하는 블로그입니다.잘못된 개념이나 오타가 있을 수 있습니다. 잘못된 정보알려주시면 수정하겠습니다!*

 

관계 대수란?

   -데이터베이스에서 원하는 정보를 효율적으로 검색할 수 있는 질의(Query) 언어입니다. 이 언어는 집합 연산자를 기반으로 구성되어 있으며 데이터를 검색, 조작하는데 사용이 됩니다. 기본 관계대수와 추가 관계대수로 이루어져 있습니다. 이번 글에서는 추가 관계 대수에 대해서 정리 하겠습니다.

 

 

 

 

EXAM_RESULT (예시로 쓰이는 테이블입니다)

Student_ID Exam_Name Score
1 Math 95
2 English 80
3 Korean 40
4 Science 70

 

 

 

EXAM_RESULT2

Student_ID Exam_Name Score
3 Korean 40
4 Science 70
5 Computer 100
6 Music 30

 

 

 

 

 

관계 대수 연산자

 

1. 할당(Assignment) - 결과를 임시 저장 하는 연산이다. 주로 복잡한 질의문을 작성할 때 중간 결과를 임시저장 하는 용도로 사용한다.

 

 σ Exam_Name ="Math" (EXAM_RESULT) 

-> EXAM_RESULT 테이블에서 Exam_Name = "Math"인 튜플을 r에 할당한다.

 

4.  교집합(intersection) - 두개의 관계에서 공통으로 존재하는 튜플을 선택하는 연산자입니다. 이 과정에서 속성이 같아야 합니다. 속성의 개수가 다르거나 속성의 이름이 다르면 교집합연산을 할 수 없습니다.

EXAM_RESULT EXAM_RESULT2

-> EXAM_RESULT 테이블과 EXAM_RESULT2의 테이블 사이에서 공통으로 존재하는 튜플을 선택하여 표시합니다.

 

3.  내부 조인(Inner Join) - 조인은 두 테이블의 카타시안 곱 결과에서 겹치는 속성들 중 값이 조건에맞는 튜플들 표시합니다. 종류에는 세타 조인, 동등조인,자연 조인이 있는데 

 

세타 조인은 이 조인하는 과정에서 값비교 연산자(<,>,<=.....)가 있는경우를 뜻합니다.

동등조인값비교 연산자가 = 인 경우 입니다.

자연조인동등조인에서 중복되는 속성을 제거한 것입니다.

(자연조인은 결합성과 교환성이라는 특징이 있어, 괄호의 순서 or 조인 테이블의 순서가 뒤바뀌어도 상관없음)

 

EXAM_RESULT   EXAM_RESULT2

-> EXAM_RESULT 테이블과 EXAM_RESULT2을 자연조인합니다.
EXAM_RESULT (EXAM_RESULT.score>EXAM_RESULT.score)  EXAM_RESULT2

-> EXAM_RESULT 테이블과 EXAM_RESULT2을  score점수조건에 맞춰 세타조인을 합니다.

 

4. 외부 조인(Outer Join) - 내부조인은 조인조건을 만족하지 않는 튜플은 배제하는거에 반해 외부조인은 조건에 만족하지않아도 NULL값을 사용해 관계에 포함시킵니다.

 

왼쪽 외부 조인왼쪽 테이블 튜플이 다 나와야 하는것 입니다.

오른쪽 외부조인오른쪽 테이블 튜플이 다 나와야하는 것입니다.

양쪽 외부조인양쪽 테이블 모두의 튜플이 다 나와야 합니다.

 

EXAM_RESULT EXAM_RESULT2

-> EXAM_RESULT 과 EXAM_RESULT2를 조인하는데 EXAM_RESULT의 모든 튜플이 포함되어야 합니다.

 

5.÷  나눔(Division) - 앞 테이블 중에서 뒤 테이블의 속성을 모두가지고 있는 튜플을 구하는 연산자입니다. (두 테이블의 공통 속성이 있어야함)

 

EXAM_RESULT ÷ EXAM_RESULT

->EXAM_RESULT중에서 EXAM_RESULT의 속성들의 데이터를 다 가지고 있는 튜플을 구합니다. (이 예시에서 만족하는 결과는 없습니다.)

 

 

'DB' 카테고리의 다른 글

SELECT 기본구조  (0) 2023.04.21
SQL 언어 종류 (DML , DDL, DCL)  (0) 2023.03.27
기본 관계 대수  (0) 2023.03.27
관계형 데이터베이스 제약조건 (Constraint)  (0) 2023.03.26
데이터베이스 키  (0) 2023.03.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함