ssumdev.log
로그인
ssumdev.log
로그인
Relational Algebra
Sumin Kim
·
2022년 10월 19일
팔로우
1
CS
Database
1
✔ Database
목록 보기
4/4
질의 결과도 릴레이션임
단항 관계 연산
SELECT, PROJECT
SELECT
( σ )
릴레이션에서 어떤 선택조건 c를 만족하는 투플들을 선택
σc(R)
결과 릴레이션은 r(R)의 투플 중 attribute 값들이 조건 c를 만족하는 투플들로 구성
PROJECT
( π )
릴레이션에서 attribute 리스트 L 에 명시된 attribute 만 선택
πL(R)
결과 릴레이션은 L에 명시된 R의 attribute 들만 가짐
중복된 투플들은 제거
L 이 R의 super key 일때
|πL(R)| = |R|
집합이론과 관계 대수 연산
합집합, 교집합, 차집합
피연산자 릴레이션은 attribute 갯수가 동일하고 대응되는 attribute 들의 domain이 호환성을 가져야함
dom(Ai) = dom(Bi)
결과 릴레이션은 피연산자 릴레이션 R1 과 동일한 attribute 이름들을 가짐
카티션 곱 연산
두개의 테이블에서 각각의 튜플들을 서로 결합하여 하나의 튜플을 구성하면서 가능한 모든 조합의 튜플들을 생성
R1이 n1개의 투플을, R2가 n2개의 투플을 갖는다면, R은 n1xn2 개의 투플을 가짐
select 연산과 함께 사용되면 두 릴레이션에서 서로 관련이 있는 투플들을 생성하는데 사용
이항 관계 연산
조인연산, 동등 조인과 자연 조인
조인연산
관련있는 투플을 결합하여 하나의 투플을 생성
카티션 곱은 모든 가능한 조합에 의해 튜플을 생성하지만, 조인은 특정조건을 만족하는 튜플만 선택
<테이블이름1>⋈{조건식}<테이블이름2> == σ{조건식}(<테이블1>x<테이블2>)
Theta Join
일반적인 조인조건을 가진 조인연산
동등연산
조인조건에서 동등비교만을 사용하는 조인
자연 조인
( * )
두 테이블에서 같은 이름을 갖는 필드들에 대한 동등조인
조인 결과에서 중복필드 중 하나를 제거하는 연산
동등조인의 결과에는 두 조인 속성의 값이 중복되어 나타나는데 이런 중복값을 하나로 합친 것이 자연조인
조인 attribute들이 양쪽의 릴레이션에서 동일한 이름을 가져야하고 그렇지 않으면 이름부터 동일하게 변경해야함
최소한의 연산자 집합
: SELECT, PROJECT, UNION, SET DIFFERENCE, CARTESIAN PRODUCT
추가적인 관계 연산
디비전 연산
모든 ~~ 이라는 조건이 주어지면 일단 의심해봄
R(Z) ⊆ S(X)이면, X ⊆ Z이고, Y = Z–X 임
T1 = πY (R) T2 = πY ((S × T1)–R) T = T1– T2
집계함수와 그룹화연산
집계함수
sum, count, average, min, max
표준관계대수로 표현할 수 없음
그룹화 연산
< grouping attributes >J< aggregate function list>(R)
순환적 폐포 연산
동일한 테이블에서 투플간의 순환적 관계를 질의하는데 사용
관계대수로서 표현할 수 없음
Looping 을 사용
외부 조인 연산
조인에 참여하는 릴레이션의 모든 투플들이 조건만족의 여부와 관계없이 결과 릴레이션에 나타내고 싶은 경우 외부조인을 사용
대응되는 투플이 없으면 빈 attribute들에 NULL 값을 채워 포함
외부합집합
호환성이 없는 두 릴레이션을 합집합하는데 사용
Sumin Kim
팔로우
이전 포스트
Relational model
0개의 댓글
댓글 작성