DBMS의 관계 대수학: Opera예제와 함께
관계형 대수
관계대수학 널리 사용되는 절차적 쿼리 언어입니다. 관계의 인스턴스를 입력으로 수집하고 관계의 발생을 출력으로 제공합니다. 이 작업을 수행하기 위해 다양한 연산을 사용합니다. SQL 관계 대수 쿼리 연산은 관계에 대해 재귀적으로 수행됩니다. 이러한 연산의 출력은 하나 이상의 입력 관계에서 형성될 수 있는 새로운 관계입니다.
기본 SQL 관계 대수학 OperaTIONS
다양한 그룹으로 나누어진 관계대수학
단항 관계형 OperaTIONS
- SELECT(기호: σ)
- 프로젝트(기호: π)
- 이름 바꾸기(기호: ρ)
관계형 대수 Opera집합이론의 내용
- 유니온(υ)
- 교차로( ),
- 차이점 (-)
- 데카르트 곱( x )
이진 관계형 OperaTIONS
- JOIN
- 분할
솔루션을 통해 자세히 연구해 보겠습니다.
선택(σ)
SELECT 연산은 주어진 선택 조건에 따라 튜플의 하위 집합을 선택하는 데 사용됩니다. Sigma(σ) 기호는 이를 나타냅니다. 선택 조건을 충족하는 튜플을 선택하는 표현식으로 사용됩니다. Select 연산자는 주어진 술어를 충족하는 튜플을 선택합니다.
σp(r)
σ
술어이다
r
테이블의 이름인 관계를 나타냅니다.
p
전치사 논리이다
예제 1
σ topic = "Database" (Tutorials)
산출 – 주제 = '데이터베이스'인 자습서에서 튜플을 선택합니다.
예제 2
σ topic = "Database" and author = "guru99"( Tutorials)
산출 – 주제가 '데이터베이스'이고 '작성자'가 guru99인 자습서에서 튜플을 선택합니다.
예제 3
σ sales > 50000 (Customers)
산출 – 매출이 50000보다 큰 고객으로부터 튜플을 선택합니다.
투영(π)
프로젝션은 입력 관계의 모든 속성을 제거하지만 프로젝션 목록에 언급된 속성은 제거합니다. 투영 방법은 관계의 수직 하위 집합을 포함하는 관계를 정의합니다.
이것은 지정된 속성의 값을 추출하여 중복 값을 제거하는 데 도움이 됩니다. (파이) 기호는 관계에서 속성을 선택하는 데 사용됩니다. 이 연산자는 관계에서 특정 열을 유지하고 다른 열은 삭제하는 데 도움이 됩니다.
투영의 예:
다음 표를 고려하십시오.
고객 ID | 고객 이름 | Status |
---|---|---|
1 | 구글 | 최근활동 |
2 | Amazon | 최근활동 |
3 | Apple | 비활성 |
4 | Alibaba | 최근활동 |
여기서 CustomerName 및 상태의 투영은 다음과 같습니다.
Π CustomerName, Status (Customers)
고객 이름 | Status |
---|---|
구글 | 최근활동 |
Amazon | 최근활동 |
Apple | 비활성 |
Alibaba | 최근활동 |
이름 바꾸기 (ρ)
이름 바꾸기는 관계의 속성 이름을 바꾸는 데 사용되는 단항 연산입니다.
ρ (a/b)R은 관계의 속성 'b'를 'a'로 이름을 바꿉니다.
유니온 연산(υ)
UNION은 ∪ 기호로 표시됩니다. 여기에는 테이블 A 또는 B에 있는 모든 튜플이 포함됩니다. 또한 중복된 튜플도 제거됩니다. 따라서 세트 A UNION 세트 B는 다음과 같이 표현됩니다.
결과 <- A ∪ B
노동조합 운영이 유효하려면 다음 조건이 충족되어야 합니다.
- R과 S는 동일한 수의 속성이어야 합니다.
- 속성 도메인은 호환 가능해야 합니다.
- 중복된 튜플은 자동으로 제거되어야 합니다.
예시
다음 표를 살펴보세요.
열 1 | 열 2 | 열 1 | 열 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B는
열 1 | 열 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
차이 설정(-)
– 기호는 이를 나타냅니다. A – B의 결과는 A에는 있지만 B에는 없는 모든 튜플을 포함하는 관계입니다.
- A의 속성 이름은 B의 속성 이름과 일치해야 합니다.
- 두 개의 피연산자 관계 A와 B는 호환 가능하거나 Union과 호환 가능해야 합니다.
- 릴레이션 A에는 있지만 B에는 없는 튜플로 구성된 릴레이션을 정의해야 합니다.
예시
A-B
열 1 | 열 2 |
---|---|
1 | 2 |
가로 지름
교차점은 기호 ∩로 정의됩니다.
A ∩ B
A와 B 모두에 있는 모든 튜플의 집합으로 구성된 관계를 정의합니다. 그러나 A와 B는 통합 호환 가능해야 합니다.
예:
A ∩ B
열 1 | 열 2 |
---|---|
1 | 1 |
DBMS의 데카르트 곱(X)
DBMS의 데카르트 곱 두 관계의 열을 병합하는 데 사용되는 연산입니다. 일반적으로 데카르트 곱은 단독으로 수행될 때는 결코 의미 있는 연산이 아닙니다. 그러나 다른 연산이 뒤따를 때 의미가 있습니다. 교차 곱 또는 교차 조인이라고도 합니다.
예 - 데카르트 곱
σ 열 2 = '1' (AXB)
출력 – 위의 예는 열 2의 값이 1인 관계 A와 B의 모든 행을 보여줍니다.
열 1 | 열 2 |
---|---|
1 | 1 |
1 | 1 |
가입하기 OperaTIONS
조인 연산은 본질적으로 선택 기준이 따르는 데카르트 곱입니다.
⋈로 나타내는 조인 연산.
JOIN 연산은 서로 다른 관계에서 다양하게 연관된 튜플을 조인하는 것도 허용합니다.
조인 유형:
다양한 형태의 조인 연산은 다음과 같습니다.
내부 조인:
- 세타 조인
- EQUI 가입
- 자연스러운 결합
외부 조인:
- 왼쪽 외부 결합
- 오른쪽 외부 결합
- 전체 외부 결합
내부 조인
내부 조인에서는 일치 기준을 만족하는 튜플만 포함되고 나머지는 제외됩니다. 다양한 유형의 내부 조인을 살펴보겠습니다.
세타 조인
JOIN 연산의 일반적인 케이스를 Theta 조인이라고 합니다. 기호로 표시합니다. θ
예시
A ⋈θ B
세타 조인은 선택 기준의 모든 조건을 사용할 수 있습니다.
예 :
A ⋈ A.column 2 > B.column 2 (B)
열 1 | 열 2 |
---|---|
1 | 2 |
EQUI 가입
세타 조인이 등가 조건만 사용하면 동등 조인이 됩니다.
예 :
A ⋈ A.column 2 = B.column 2 (B)
열 1 | 열 2 |
---|---|
1 | 1 |
EQUI 조인은 RDBMS에서 SQL을 사용하여 효율적으로 구현하기 가장 어려운 작업이며 그 이유 중 하나입니다. RDBMS 근본적인 성능 문제가 있습니다.
자연 조인(⋈)
자연 조인은 관계 간에 공통 속성(열)이 있는 경우에만 수행할 수 있습니다. 속성의 이름과 유형은 동일해야 합니다.
예시
다음 두 표를 고려해보세요.
에 | 사각형. |
---|---|
2 | 4 |
3 | 9 |
에 | 입방체 |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
에 | 사각형. | 입방체 |
---|---|---|
2 | 4 | 8 |
3 | 9 | 27 |
외부 조인
외부 조인에는 일치 기준을 충족하는 튜플과 함께 기준과 일치하지 않는 일부 또는 모든 튜플도 포함됩니다.
왼쪽 외부 조인(A ⟕ B)
왼쪽 외부 조인에서 연산은 왼쪽 관계에 있는 모든 튜플을 유지할 수 있도록 합니다. 그러나 오른쪽 관계에 일치하는 튜플이 발견되지 않으면 조인 결과에서 오른쪽 관계의 속성은 null 값으로 채워집니다.
다음 2개의 표를 고려하십시오.
에 | 사각형. |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
에 | 입방체 |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
A B
에 | 사각형. | 입방체 |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
오른쪽 외부 조인( A ⟖ B )
오른쪽 외부 조인에서 연산은 오른쪽 관계에 있는 모든 튜플을 유지할 수 있도록 합니다. 그러나 왼쪽 관계에 일치하는 튜플이 발견되지 않으면 조인 결과에서 왼쪽 관계의 속성은 null 값으로 채워집니다.
A B
에 | 입방체 | 사각형. |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
완전 외부 조인(A ⟗ B)
완전 외부 조인에서는 일치 조건에 관계없이 두 릴레이션의 모든 튜플이 결과에 포함됩니다.
A B
에 | 입방체 | 사각형. |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
요약
Operation(기호) | 목적 |
---|---|
선택(σ) | SELECT 연산은 주어진 선택 조건에 따라 튜플의 하위 집합을 선택하는 데 사용됩니다. |
투영(π) | 프로젝션은 입력 관계의 모든 속성을 제거하지만 프로젝션 목록에 언급된 속성은 제거합니다. |
노동 조합 Opera션(∪) | UNION은 기호로 상징됩니다. 여기에는 테이블 A 또는 B에 있는 모든 튜플이 포함됩니다. |
차이 설정(-) | – 기호는 이를 나타냅니다. A – B의 결과는 A에는 있지만 B에는 없는 모든 튜플을 포함하는 관계입니다. |
교차점(∩) | 교차는 A와 B 모두에 있는 모든 튜플의 집합으로 구성된 관계를 정의합니다. |
데카르트곱(X) | 데카르트 연산은 두 관계의 열을 병합하는 데 유용합니다. |
내부 조인 | 내부 조인은 일치 기준을 충족하는 튜플만 포함합니다. |
세타 조인(θ) | JOIN 연산의 일반적인 케이스를 Theta 조인이라고 합니다. 기호 θ로 표시합니다. |
EQUI 가입 | 세타 조인이 등가 조건만 사용하면 동등 조인이 됩니다. |
자연 조인(⋈) | 자연 조인은 관계 간에 공통 속성(열)이 있는 경우에만 수행할 수 있습니다. |
외부 결합 | 일치 기준을 충족하는 튜플과 함께 외부 조인에서. |
왼쪽 외부 조인() | 왼쪽 외부 조인에서는 모든 튜플을 왼쪽 관계에 유지할 수 있는 작업이 수행됩니다. |
오른쪽 외부 조인() | 오른쪽 외부 조인에서는 모든 튜플을 오른쪽 관계에 유지할 수 있습니다. |
완전 외부 조인() | 완전 외부 조인에서는 일치 조건에 관계없이 두 릴레이션의 모든 튜플이 결과에 포함됩니다. |