Algebra Relationele sql GROUP BY Sorteren ORDER BY

Ik wilde weten wat is het equivalent in GROUP BY, Sorteren en ORDER BY in algebra relationele?


Antwoord 1, Autoriteit 100%

Ook is het mogelijk in de relationele algebra, maar mensen zijn het creëren van een aantal “extensies” voor deze operaties (Let op: in de oorspronkelijke tekst, wordt een deel van de tekst geschreven als subscript).

GROUP BY, Volgens het boek Fundamentals of Database Systems (Elmasri, Navathe 2011 6de ed):

Een ander type verzoek dat niet kan worden uitgedrukt in de basis relationele algebra is
specificeren wiskundige statistische functies op verzamelingen van waarden uit de database.



We kunnen een statistische functie operatie te definiëren, met het symbool ℑ (uitgesproken
script F) 7, om dit soort verzoeken te specificeren als volgt:

& lt; groepering kenmerken & gt; ℑ & lt; functie lijst & gt; (R)

waarbij & lt; groepering kenmerken & gt; een lijst attributen van de verhouding bedoeld in R, en & lt; functielijst & gt; een lijst (& lt; functie & gt; & lt; attribuut & gt;) paren. In elk dergelijk paar,
& Lt; functie & gt; is een van de toegestane functies zoals SOM-, gemiddelde, maximum,
MINIMUM, COUNT-en & lt; attribuut & gt; is een kenmerk van de verhouding gespecificeerd door R. De resulterende verhouding heeft de groepering kenmerken plus één kenmerk voor elk element in het rolmenu.

ORDER BY (Sorteren), andere bron:

Omdat een relatie een set (of een zak) is, is er geen volgorde gedefinieerd voor een relatie. Dat wil zeggen, twee relaties zijn hetzelfde als ze dezelfde tuples bevatten, ongeacht de volgorde. Een gebruiker wil echter vaak dat de uitvoer van een query in een bepaalde volgorde wordt weergegeven. We kunnen een extra operator τ definiëren die een relatie sorteert als we bereid zijn een operator toe te staan waarvan de uitvoer geen relatie is, maar een geordende lijst van tuples.

Bijvoorbeeld de uitdrukking

τAchternaam,Voornaam(leerling)

genereert een lijst van alle Student-tupels, geordend op Achternaam (als de primaire sorteersleutel) en vervolgens op Voornaam (als een secundaire sorteersleutel). (De secundaire sorteersleutel wordt alleen gebruikt als twee tuples het eens zijn over de primaire sorteersleutel. Een sorteerbewerking kan een willekeurig aantal sorteersleutels weergeven, van meest significant tot minst significant.)


Antwoord 2, autoriteit 16%

U kunt projectie πgebruiken voor de kolommen waarvan u de tabel wilt groeperen zonder aggregatie (de PROJECT-bewerking verwijdert eventuele dubbele tuples)
als volgt:

π c1,c2,c3 (R)

waarbij c1,c2,c3 kolommen(attributen) zijn en R de tabel(de relatie)

Other episodes