In relationaler Algebra ist eine -Projektion eine unäre Operation, geschrieben als wobei ist eine Menge von Attributnamen. Das Ergebnis einer solchen Projektion ist definiert als Satz der erhalten wird, wenn die Komponenten des Tupels auf die Menge - es legt ab (oder schließt ) die anderen Attribute aus. [1]
Praktisch kann man davon ausgehen, dass man eine Untermenge aller verfügbaren Spalten auswählt. Wenn die Attribute beispielsweise (Name, Alter) sind, ergibt die Projektion der Beziehung {(Alice, 5), (Bob, 8)} auf die Attributliste (Alter) {5,8}. Wir haben die Namen verworfen. und nur wissen, welche Zeitalter vorhanden sind.
Außerdem kann die Projektion verwendet werden, um den Wert eines Attributs zu ändern: Wenn Beziehung R die Attribute a, b und c hat und b eine Zahl ist, dann gibt eine Relation fast gleich R zurück, aber alle Werte für 'b' sind um die Hälfte geschrumpft. [2]
Verwandte Konzepte [ edit ]
Die nahe verwandten Das Konzept in der Mengenlehre (siehe: Projektion (Mengenlehre)) unterscheidet sich von dem der relationalen Algebra dadurch, dass in der Mengenlehre auf geordnete Komponenten projiziert wird, nicht auf Attribute. Zum Beispiel Projizieren auf die zweite Komponente ergibt 7.
Die Projektion ist das Gegenstück zur existentiellen Quantifizierung der relationalen Algebra in der Prädikatenlogik. Die enthaltenen Attribute und nicht entsprechen existentiell quantifizierten Variablen im Prädikat, deren Erweiterung die Operandenbeziehung darstellt. Das folgende Beispiel veranschaulicht diesen Punkt.
Aufgrund der Übereinstimmung mit der existenziellen Quantifizierung ziehen es einige Behörden vor, die Projektion anhand der ausgeschlossenen Attribute zu definieren. In einer Computersprache ist es natürlich möglich, Notationen für beide bereitzustellen. Dies wurde in der ISBL und in mehreren Sprachen vorgenommen, die sich an der ISBL orientiert haben.
Ein nahezu identisches Konzept tritt in der Kategorie der Monoide auf, die als String-Projektion bezeichnet wird. Dabei werden alle Buchstaben in der Zeichenfolge entfernt, die nicht zu einem bestimmten Alphabet gehören.
Bei der Implementierung in SQL-Standard gibt die "Standardprojektion" anstelle eines Satzes ein Multiset zurück, und die Projektion π wird durch das Hinzufügen des Schlüsselworts DISTINCT
zum Beseitigen doppelter Daten erhalten.
Beispiel [ edit ]
Als ein Beispiel betrachten wir die Beziehungen, die in den folgenden zwei Tabellen dargestellt werden, die die Beziehung Person und ihre Projektion auf (einige sagen) "über") die Attribute Alter und Gewicht :
|
|
Angenommen, das Prädikat "Person" ist " Name ist Alter Jahre alt und wiegt Gewicht ." Dann stellt die gegebene Projektion das Prädikat dar: "Es existiert Name so, dass Name alt ist Jahre und wiegt Gewicht ."
Beachten Sie, dass Harry und Peter das gleiche Alter und Gewicht haben, aber da das Ergebnis eine Relation und somit eine Menge ist, erscheint diese Kombination nur einmal im Ergebnis.
Formaler wird die Semantik der Projektion wie folgt definiert:
wobei ist die Einschränkung des Tupels auf den Satz
wobei ist ein Attributwert, ist ein Attributname und ist ein Element der Domäne dieses Attributs - siehe ] Relation (Datenbank).
Das Ergebnis einer Projektion ist nur definiert, wenn
Eine Projektion über überhaupt keine Attribute ist möglich und ergibt eine Relation von Grad Null. In diesem Fall ist die Kardinalität des Ergebnisses null, wenn der Operand leer ist, andernfalls eins. Die beiden Relationen des Grades Null sind die einzigen, die nicht als Tabellen dargestellt werden können.
Không có nhận xét nào:
Đăng nhận xét