Ich wollte wissen, was ist das Äquivalent in GROUP BY, SORT BY und ORDER BY in Algebra relational?Algebra Relational sql GROUP NACH SORTIERUNG NACH BESTELLUNG VON
Antwort
Dies ist in der relationalen Algebra nicht möglich, aber die Leute haben einige "Erweiterungen" für diese Operationen erstellt (Anmerkung: Im Originaltext wird ein Teil des Textes als tiefgestellt geschrieben).
GROUP BY, nach dem Buch Grundlagen der Datenbanksysteme (Elmasri, Navathe 2011 6. ed):
Eine andere Art von Anforderung, die nicht im Grund relationale Algebra ausgedrückt werden kann, ist zu mathematische Aggregatfunktionen angeben auf Sammlungen von Werten aus der Datenbank.
Attribute
...
wir eine AGGREGAT Funktion Operation definieren können, das Symbol unter Verwendung i (ausgesprochen Skript F) 7, um diese Art von Anfragen wie folgt angeben:<Gruppierung> i <Listenfunktion> (R)
wo < Gruppierung Attribute> ist eine Liste der Attribute der Beziehung in R angegeben ist, und < Funktionsliste> ist eine Liste von (< Funktion> < attribute>) -Paare. In jedem solchen Paar ist < Funktion eine der erlaubten Funktionen wie SUM, AVERAGE, MAXIMUM, MINIMUM, COUNT und < Attribut> ist ein Attribut der durch R angegebenen Relation. Die resultierende Beziehung hat die Gruppierungsattribute plus ein Attribut für jedes Element in der Funktionsliste.
ORDER BY (SORT BY), another source:
Da eine Beziehung A gesetzt ist (oder Beutel), gibt es keine Anordnung für eine Beziehung definiert. Das heißt, zwei Relationen sind identisch, wenn sie die gleichen Tupel enthalten, unabhängig von der Reihenfolge. Ein Benutzer möchte jedoch häufig, dass die Ausgabe einer Abfrage in einer bestimmten Reihenfolge aufgeführt wird. Wir können einen zusätzlichen Operator τ definieren, der eine Relation sortiert, wenn wir einen Operator zulassen wollen, dessen Ausgabe keine Relation ist, sondern eine geordnete Liste von Tupeln.
Zum Beispiel kann der Ausdruck
τLastName, Vorname (Student)
erzeugt eine Liste aller Studenten Tupeln, geordnet nach Namen (als primärer Sortierschlüssel) dann Vorname (als ein sekundärer Sortierschlüssel). (Das sekundäre Sortierschlüssel wird nur verwendet, wenn zwei Tupeln auf dem primären Sortierschlüssel übereinstimmen. Eine Sortiervorgang eine beliebige Anzahl von Sortierschlüssel auflisten kann, von der höchstwertigen zur niedrigstwertigen.)
Sie können Projektions verwenden π für die Spalten, die Sie Gruppe der Tabelle ohne aggregieren von ihnen wollen (das Projekt Operation entfernt doppelte Tupel) , wie folgend:
π c1, C2,3 (R)
wo c1, c2, c3 sind Spalten (Attribute) und R ist die Tabelle (die rel a)
- 1. SQL-Bestellung nach Feld Wert
- 2. Gemfire Group Nach Funktionen
- 3. Neu berechnen nach Bestellung
- 4. Konvertieren von SQL nach LINQ mit Group By und Max
- 5. Mysql Gruppe von nach Bestellung von?
- 6. Tuple Relational Calculus oder relationale Algebra Syntax Verifier?
- 7. Typ Algebra und Knuth's Pfeil nach oben
- 8. MS Access BESTELLUNG nach Zeile
- 9. SQLLite Bestellung nach Datum Fehlern
- 10. SQL-Summe nach Gruppe von
- 11. MySQL COUNT NULL Inhalt nach Spalte, GROUP nach Spalte
- 12. Relationale Algebra statt SQL
- 13. Bestellung und Gruppierung nach Datum in Mysql
- 14. SQL-Abfrage nach Datensatznummer
- 15. Relatives Algebra-Äquivalent von SQL "NICHT IN"
- 16. SQL-Äquivalent von relationalen Algebra DIVISION
- 17. Sortieren nach in sql Join
- 18. Bestellung eines Django QuerySets nach Datum/Monat?
- 19. nach der Bestellung durch eine andere Spalte
- 20. SQL: Gibt es eine Möglichkeit, alle Daten von allen Spalten sortiert nach Klausel für exampe mit Bestellung: Bestellung von *
- 21. SQL Query SCHNEIDET - Relationale Algebra
- 22. SQL in relationale Algebra übersetzen
- 23. Control-M Laufjob N Tage nach Bestellung
- 24. Bestellung einer verketteten Liste nach einem Wert -
- 25. MySQL - Automatische Bestellung nach ID funktioniert nicht
- 26. Bestellung in Boxplot nach einem Objekt
- 27. Mysql Sql Bestellung vor der Gruppe von
- 28. Sql-Abfrage für die Verknüpfung von Daten von zwei Tabelle mit SUM und Bestellung nach Klausel
- 29. MySQL nach Datum mit GROUP BY
- 30. Group DataFrame nach Business Tag des Monats