관계 대수학은 절차적 쿼리 언어입니다. 쿼리 결과를 얻기 위한 단계별 프로세스를 제공합니다. 연산자를 사용하여 쿼리를 수행합니다.
관계 연산의 유형
1. 작업 선택:
- 선택 작업은 주어진 조건을 만족하는 튜플을 선택합니다.
- 시그마(σ)로 표시됩니다.
Notation: σ p(r)
어디:
피 선택 예측에 사용됩니다.
아르 자형 관계에 사용됩니다
피 AND OR 및 NOT과 같은 커넥터를 사용할 수 있는 명제 논리 공식으로 사용됩니다. 이러한 관계형은 =, ≠, ≧, , DF와 같은 관계 연산자로 사용할 수 있습니다.
예: 대출 관계
지점명 | LOAN_NO | 양 |
---|---|---|
도심 | L-17 | 1000 |
세쿼이아 | L-23 | 2000 |
페리라이드 | L-15 | 1500 |
도심 | L-14 | 1500 |
미아누스 | L-13 | 500 |
라운드힐 | L-11 | 900 |
페리라이드 | L-16 | 1300 |
입력:
σ BRANCH_NAME='perryride' (LOAN)
산출:
document.queryselector
지점명 | LOAN_NO | 양 |
---|---|---|
페리라이드 | L-15 | 1500 |
페리라이드 | L-16 | 1300 |
2. 프로젝트 운영:
- 이 작업은 결과에 표시하려는 속성 목록을 표시합니다. 나머지 속성은 테이블에서 제거됩니다.
- ∏로 표시됩니다.
Notation: ∏ A1, A2, An (r)
어디
A1 , A2 , A3 관계의 속성 이름으로 사용됩니다. 아르 자형 .
예: 고객 관계
지도 자바
이름 | 거리 | 도시 |
---|---|---|
존스 | 기본 | 해리슨 |
스미스 | 북쪽 | 호밀 |
헤이스 | 기본 | 해리슨 |
카레 | 북쪽 | 호밀 |
존슨 | 영혼 | 브루클린 |
브룩스 | 평의원 | 브루클린 |
입력:
∏ NAME, CITY (CUSTOMER)
산출:
이름 | 도시 |
---|---|
존스 | 해리슨 |
스미스 | 호밀 |
헤이스 | 해리슨 |
카레 | 호밀 |
존슨 | 브루클린 |
브룩스 | 브루클린 |
3. 연합 운영:
- 두 개의 튜플 R과 S가 있다고 가정합니다. 합집합 연산에는 R이나 S에 있거나 둘 다 R과 S에 있는 모든 튜플이 포함됩니다.
- 중복된 튜플을 제거합니다. ∪로 표시됩니다.
Notation: R ∪ S
Union 연산은 다음 조건을 충족해야 합니다.
- R과 S는 동일한 숫자의 속성을 가지고 있어야 합니다.
- 중복된 튜플은 자동으로 제거됩니다.
예:
예금자 관계
고객 이름 | 계정 없음 |
---|---|
존슨 | A-101 |
스미스 | A-121 |
메이스 | A-321 |
돌리는 사람 | A-176 |
존슨 | A-273 |
존스 | A-472 |
린제이 | A-284 |
차입관계
고객 이름 | LOAN_NO |
---|---|
존스 | L-17 |
스미스 | L-23 |
헤이즈 | L-15 |
잭슨 | L-14 |
카레 | L-93 |
스미스 | L-11 |
윌리엄스 | L-17 |
입력:
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
산출:
고객 이름 |
---|
존슨 |
스미스 |
헤이즈 |
돌리는 사람 |
존스 |
린제이 |
잭슨 |
카레 |
윌리엄스 |
메이스 |
4. 교차점 설정:
- 두 개의 튜플 R과 S가 있다고 가정합니다. 교차 집합 연산에는 R과 S 모두에 있는 모든 튜플이 포함됩니다.
- 교차점 ∩로 표시됩니다.
Notation: R ∩ S
예: 위의 DEPOSITOR 테이블과 BORROW 테이블을 사용하여
입력:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)
산출:
행과 열
고객 이름 |
---|
스미스 |
존스 |
5. 차이 설정:
- 두 개의 튜플 R과 S가 있다고 가정합니다. 교차 집합 연산에는 R에는 있지만 S에는 없는 모든 튜플이 포함됩니다.
- 교차 마이너스(-)로 표시됩니다.
Notation: R - S
예: 위의 DEPOSITOR 테이블과 BORROW 테이블을 사용하여
입력:
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
산출:
if else 문 자바
고객 이름 |
---|
잭슨 |
헤이즈 |
윌리엄스 |
카레 |
6. 데카르트 곱
- 데카르트 곱은 한 테이블의 각 행을 다른 테이블의 각 행과 결합하는 데 사용됩니다. 교차곱이라고도 합니다.
- X로 표시됩니다.
Notation: E X D
예:
직원
EMP_ID | EMP_NAME | EMP_DEPT |
---|---|---|
1 | 스미스 | ㅏ |
2 | 괴롭히다 | 씨 |
삼 | 남자 | 비 |
부서
DEPT_NO | DEPT_NAME |
---|---|
ㅏ | 마케팅 |
비 | 매상 |
씨 | 합법적인 |
입력:
EMPLOYEE X DEPARTMENT
산출:
EMP_ID | EMP_NAME | EMP_DEPT | DEPT_NO | DEPT_NAME |
---|---|---|---|---|
1 | 스미스 | ㅏ | ㅏ | 마케팅 |
1 | 스미스 | ㅏ | 비 | 매상 |
1 | 스미스 | ㅏ | 씨 | 합법적인 |
2 | 괴롭히다 | 씨 | ㅏ | 마케팅 |
2 | 괴롭히다 | 씨 | 비 | 매상 |
2 | 괴롭히다 | 씨 | 씨 | 합법적인 |
삼 | 남자 | 비 | ㅏ | 마케팅 |
삼 | 남자 | 비 | 비 | 매상 |
삼 | 남자 | 비 | 씨 | 합법적인 |
7. 이름 바꾸기 작업:
이름 바꾸기 작업은 출력 관계의 이름을 바꾸는 데 사용됩니다. 그것은 다음과 같이 표시됩니다. 로 (피).
예: 이름 바꾸기 연산자를 사용하여 STUDENT 관계의 이름을 STUDENT1로 바꿀 수 있습니다.
ρ(STUDENT1, STUDENT)