2014-03-26 15 views
7

stieß ich auf eine Frage, die zu einem Studentenmaximale und minimale Anzahl von Tupeln in einem natürlichen Join

  • Datenbank

    Betrachten Sie die folgende Beziehung Schema im Zusammenhang heißt es: Student (rollno, Name, Adresse)

  • Enroll (rollno, courseno, course)

, wo die Primärschlüssel unterstrichen dargestellt sind. Die Anzahl der Tupel in den Student- und Enroll-Tabellen beträgt 120 bzw. 8. Was ist das Maximum und die minimale Anzahl von Tupeln, die in (Student * Enroll) vorhanden sein können, wobei '*' natürliche Verknüpfung bedeutet? Gemäß meinem Verständnis

Ich habe mehrere Lösungen auf Internet wie this oder this

gesehen. maximale Tupel sollten 8 und Minimum sollte auch 8 sein, da für jedes (Rollnum, Kurs) ein Roll-Num in Studenten sein sollte. Jeder, der in dieser Hinsicht helfen kann

+0

Ihre erste Verbindung von Lösungen erfordert Authentifizierung anzuzeigen erscheinen könnte Antworten. – paqogomez

+0

@paqogomez es sagt "Ein natürlicher Join über zwei Mengen, gibt nur diejenigen Tupel zurück, in denen das gemeinsame Attribut zwischen den beiden Tupeln übereinstimmt. Hier ist das gemeinsame Attribut rollno. Da es nur 8 Tupel in der Enroll-Tabelle gibt, ist die maximale Anzahl von Tupel im natürlichen Join von Student und Enroll können nicht größer als 8 sein. Das ist der Fall, wenn jede Rolle no in der Enroll-Tabelle auch in der Student-Tabelle vorhanden ist. Und die minimale Anzahl von Tupeln in ihrem natürlichen Join ist 0 , wo zwischen den beiden Tischen kein gemeinsamer Nenner ist. " –

+0

Nun, du hast Recht! 'Enroll' kann entweder Daten über mindestens 1 Schüler oder über maximal 8 Schüler enthalten. Ein natürlicher (innerer) Join wird immer zu 8 Zeilen führen, da 'Roll no 'in' Enroll 'referenziert wird. – KrazzyNefarious

Antwort

3

Wenn eine referenzielle Einschränkung vorhanden war, die sicherstellt, dass jedes rollno in Enroll auch in Student angezeigt werden muss, dann wäre Ihre Antwort von 8 für Minimum und Maximum korrekt. Die Frage erwähnt jedoch keine solche Beschränkung. Es muss nicht davon ausgegangen werden, dass die RI-Einschränkung existiert, nur weil das Attribut rollno in beiden Tabellen erscheint. Also die beste Antwort ist 0 Minimum und 8 Maximum. Wenn es sich um eine Multiple-Choice-Frage handelt und 0,8 keine der gegebenen Antworten ist, dann beantworte stattdessen 8,8 - und erzähle deinem Lehrer, dass die Frage unklar ist.

2

Ich hoffe, Sie haben verstanden, was Natural Join genau ist. Sie können here überprüfen.

Wenn die Tabellen R und S gemeinsame Attribute enthalten und der Wert dieses Attributs in jedem Tupel in beiden Tabellen gleich ist, ergibt der natürliche Join n * m Tupel, da er alle Kombinationen von Tupeln zurückgibt.

Betrachten folgenden zwei Tabellen

Tabelle R (mit Attributen A und C)

 
A | C 
----+---- 
1 | 2 
3 | 2

Tabelle S (mit Attributen B und C)

 
B | C 
----+---- 
4 | 2 
5 | 2 
6 | 2

Ergebnis natürlicher R kommen * S (Wenn die Domäne des Attributs C in den beiden Tabellen gleich ist)

 
A | B | C 
---+---+---- 
1 | 4 | 2 
1 | 5 | 2 
1 | 6 | 2 
3 | 4 | 2 
3 | 5 | 2 
3 | 6 | 2

Sie können sehen, dass sowohl R als auch S das Attribut C enthalten, dessen Wert in jedem Tupel 2 ist. Tabelle R enthält 2 Tupel, Tabelle S enthält 3 Tupel, wobei die Ergebnistabelle 2 * 3 = 6 Tupel enthält.

Darüber hinaus wird bei der Durchführung eines natürlichen Joins, wenn es keine gemeinsamen Attribute zwischen den beiden Relationen gab, Natural Join sich wie das kartesische Produkt verhalten. In diesem Fall haben Sie offensichtlich m x n als maximale Anzahl von Tupeln.

Betrachten folgenden zwei Tabellen

Tabelle R (mit Attributen A und B)

 
A | B 
----+---- 
1 | 2 
3 | 2

Tabelle S (mit Attributen C und D)

 
C | D 
----+---- 
4 | 2 
5 | 2

Ergebnis natürlicher R kommen * S

 
A | B | C | D 
---+---+----+---- 
1 | 2 | 4 | 2 
1 | 2 | 5 | 2 
3 | 2 | 4 | 2 
3 | 2 | 5 | 2

Hoffe das hilft.

0

Wenn Sie über die maximale Anzahl von Tupel fordern, dass die in der natürlichen Join von R und S das sein das cartesianischen Produkt der beiden Tupeln

Verwandte Themen