2014-10-05 2 views
1

방금 ​​데이터베이스 관계 대수학을 배우기 시작했고, 나는이 두 가지 질문에 매달 렸습니다.관계 대수학 첫날과 마지막 날

원래의 질문은 더 복잡했지만 아래의 표를 좁히고 단순화하여 관리하는 방법을 알아 내지 못했습니다. 순서는 관계 대수에 일반적으로 존재하는 개념이 아니다으로

enter image description here

답변

1

이 흥미 롭다. 따라서 우리는 해결 방법을 사용합니다. 우리는 관계 R의 두 복사본을 사용하는거야, 나는 1 X, 다른 Y 전화 할게 :

  1. (X.id, X.date, X.name, Y.id, Y.date, Y.name) 속성 우리의 관계를주는, 이름 속성에 XY을 동등이 조인. 나는이 합친 관계를 J이라고 부를 것입니다.
  2. X.date < Y.date을 만족하는 J 항목 중에서 선택하십시오. 기증자의 첫 데이트가 X.date에만 있고 마지막 날짜가 Y.date에만 존재하는 관계가 있습니다.
  3. 기부자가 기부 한 모든 날짜를 가져 오려면 원본 관계 R 및 프로젝트 (R.date, R.name)을 가져옵니다.
  4. 마지막으로 첫 번째 날짜의 관계를 얻으려면 (Y.date, Y.name) (첫 번째 날짜가 없음)을 프로젝션하고 First dates = (R.date, R.name)\(Y.date, Y.name)이라는 차이를 설정합니다. 마찬가지로, Last dates = (R.date, R.name)\(X.date, X.name).