다음 데이터베이스 스키마를 보고, 아래 SQL 질의문과 동등한 관계대수식은?○ 스키마
사원(
사원번호, 부서번호, 급여, 취미)
부서(
부서번호, 부서명, 건물층, 전화번호)
재정(
부서번호, 예산, 매출, 비용)
○ 질의문
Select D.부서명, F.예산
From 사원 E, 부서 D, 재정 F
Where E.부서번호=D.부서번호 and D.부서번호=F.부서번호
and D.건물층=1 and E.급여>=3000000
and E.취미=‘테니스’
1πD.부서명, F.예산((πE.부서번호(σE.급여>=3000000 and E.취미=‘테니스’(E))⋈πD.부서번호, D.부서명(σD.건물층=1(D)))⋈πF.예산, F.부서번호(F))
2πE.부서번호((πD.부서명, F.예산(σE.급여>=3000000 and E.취미=‘테니스’(E))⋈πD.부서번호, D.부서명(σD.건물층=1(D)))⋈πF.예산, F.부서번호(F))
3πD.부서명, F.예산((πF.부서번호, D.부서명(σD.건물층=1(D))⋈πE.부서번호(σE.급여>=3000000 and E.취미=‘테니스’(E)))⋈πF.예산(F))
4πD.부서명, F.예산((πE.부서번호(σF.예산, F.부서번호(F))⋈πD.부서번호, D.부서명(σD.건물층=1(D)))⋈πE.급여>=3000000 and E.취미=‘테니스’(E))
해설
동등한 식은 사원에서 급여·취미 조건을 선택해 부서번호를 추출하고, 건물층=1인 부서의 부서번호·부서명과 조인한 뒤 재정의 예산·부서번호와 조인해 부서명·예산을 투영한 식이다.
선택·투영을 조인 앞으로 내려 보내도 결과가 같다는 관계대수 동치를 이용한 형태다.
- 최종 투영을 E.부서번호로 한 식은 결과 열이 부서명·예산이 아니며, 사원에 대해 부서명·예산을 투영해 성립하지 않는다.
- 재정에서 예산만 투영한 식은 조인 속성인 부서번호가 사라져 부서와 연결되지 않는다.
- 재정에 열 목록을 선택 조건처럼, 사원에 조건식을 투영 목록처럼 쓴 식은 선택과 투영이 뒤바뀌었다.
오류나 개정된 내용이 보이면 알려주세요