2013-10-24 1 views
0
Relation 1 (r1): 
ID | Name 
1 John 
2 Doe 
3 Foo 

Relation 2 (r2): 
ID | Name 
4 Johnny 
5 Doey 
6 Fooey 

Что будет r1 theta join(r1.ID = r2.ID) r2?Что происходит, когда мы тэта соединяем или пересекаем 2 отношения с общими атрибутами?

Что даст r1 cross r2?

Я просто спрашиваю, должны ли полученные отношения изменить имена атрибутов на что-то еще, потому что их по 2.

ответ

0

В реляционной алгебре произведение (кросс-соединение) обычно понимается как частный случай естественного объединения, где объединенные отношения не имеют общих атрибутов. Поэтому не имеет смысла говорить A x B, если A и B имеют общие атрибуты. Если A и B имеют общие атрибуты, то A x B означает A ⋈ B, или это означает, что была допущена ошибка, и ваша СУБД или интерпретатор, вероятно, должны сообщать об ошибке.

Theta join является сокращением для естественного объединения, за которым следует ограничение. Ему должно предшествовать переименование какого-либо атрибута (ов), если атрибуты в выражении тета в противном случае имели бы те же имена.