관계 대수(Relational Algebra)
- 릴레이션에서 사용자가 원하는 결과를 얻기 위해 연산자를 표현하는 방법.
- 결과를 얻기 위한 절차를 표현하기 때문에 절차적 언어라고 한다.
분류 | 연산자 | 표기법 | 설명 |
순수 관계 연산자 | SELECT(기호 : σ) | σ<선택조건>(테이블명) | - 릴레이션에서 조건을 만족하는 수평적 부분 집합(퓨틀)을 구하기 위한 연산. - 결과는 조건을 만족하는 튜플들로 테이블이 만들어진다. |
PROJECT(기호 : π) | π<추출 속성리스트>(테이블명) | - 릴레이션에서 수직적 부분 집합(속성의 값)을 구하는 연산. - 원하는 속성만 추출하기 위한 연산. |
|
JOIN(기호 : ⋈) | 테이블1⋈<조인 조건>테이블2 | - 두 테이블로부터 조건에 맞는 관련된 튜플들을 하나의 튜플로 결합하여 하나의 테이블로 만드는 연산. | |
동일 조인(Equi Join) | - 관계 연산자 =, ≠, <, ≤, >, ≥ 중 '=' 연산자만을 사용하여 조건을 표현. - 가장 기본적인 조인이며, 중복이 되는 속성도 모두 표현. |
||
자연 조인(Natural Join) | - 동일 조인한 결과에서 중복되는 속성을 제거하여 표현. | ||
외부 조인(Outer Join) | - 조인 시 두 테이블 간에 관련 없는, 즉 조건에 맞지 않는 튜플도 결과 테이블에 포함시켜 조인하는 방법. - 해당 자료가 없는 부분은 NULL값이 된다. |
||
세타 조인(Theta Join) | - 세타 연산자(=, ≠, <, ≤, >, ≥) 중 '=' 외의 연산자를 이용해 조건 수식을 표현하여 조인하는 연산. - 동일 조인과 같이 종복이 되는 속성도 모두 표현. |
||
DIVISION(기호 : ÷) | 테이블1(테이블1속성 ÷ 테이블2속성)테이블2 | - A, B 두 테이블에 대해 "A ÷ B"는 테이블B의 조건을 만족하는 튜플들을 테이블A에서 추출하는 연산. - 연산에 사용된 속성은 결과에서 제외. |
|
일반 집합 연산자 | 합집합(기호 : ∪) | X∪Y | - X테이블과 Y테이블의 속성값을 합집합하여 모두 표현. - 중복되는 속성은 한 번만 표현. |
교집합(기호 : ∩) | X∩Y | - X테이블과 Y테이블의 속성값을 교집합하여 표현. - 서로 같은 속성값만 표현. |
|
차집합(기호 : -) | X-Y | - X테이블과 Y테이블의 속성값을 차집합하여 표현. - X테이블의 속성값에서 Y테이블의 속성값을 제외한 값을 표현. |
|
카티션 프로덕트(기호 : ×) | X×Y | - 두 테이블의 속성값을 모두 대응시켜 모든 경우를 표현. |
관계 해석(Relational Calculus)
- 릴레이션에서 결과를 얻기 위한 과정을 표현하는 것.
- 연산자 없이 정의하는 방법을 이용하는 비절차적 언어.
- 튜플 관계 해석과 도메인 관계 해석이 있다.
- 표기 형식 : {결과값 | 조건}
ex) 학점 테이블에서 수강번호가 'B123'이고, 점수가 80 이상인 학생의 이름을 구하여라.{학점.이름 | 학점 ∧ 학점.수강번호='B123' ∧ 학점.점수≥80}
'정보처리산업기사 실기 > 데이터베이스' 카테고리의 다른 글
SQL 조작어(DML : Data Manipulation Language) (0) | 2020.11.06 |
---|---|
SQL 정의어(DDL : Data Definition Language) (0) | 2020.11.06 |
키(Key)와 무결성 제약조건 (0) | 2020.11.06 |
관계 데이터 모델 (0) | 2020.11.06 |
개체-관계 모델(Entity-Relationship Model, ERM) (0) | 2020.11.05 |