SQL is zeer succesvol vanwege zijn declaratieve aard, wat optimalisatie vergemakkelijkt. De auteurs stellen echter dat fundamentele ontwerpkeuzes uit het verleden, specifiek het gebruik van bags (multisets) en nulls, problematisch zijn.
Op basis van hun ervaring met de taal Rel tonen zij aan dat het mogelijk is om een effectieve taal te implementeren die gebruikmaakt van volledig genormaliseerde relaties en verzamelingsemantiek (set semantics). De auteurs betogen dat de gangbare rechtvaardigingen voor bags and nulls in SQL niet standhouden en pleiten voor een moderne benadering zonder deze 'gecorrumpeerde relaties'.
Tijd om verder te gaan: Queryen zonder Nulls en Bags
Samenvatting
SQL is het succesverhaal van de databasegemeenschap op het gebied van taalontwerp. De belangrijkste reden voor dit succes is de declaratieve aard ervan: dit maakt optimalisatie mogelijk, wat de last voor de programmeur aanzienlijk vermindert. Gezien de evoluerende complexiteit van de problemen die met querytalen moeten worden opgelost, moet onze gemeenschap echter opnieuw nadenken over enkele fundamentele vroege ontwerpbeslissingen.
Onze ervaring met het ontwerp van Rel (een taal voor end-to-end relationeel programmeren) leert ons dat het mogelijk is om een taal te ontwerpen, implementeren en succesvol inzetten die is gebaseerd op volledig genormaliseerde relaties. Dergelijke relaties vermijden wat Codd "gecorrumpeerde relaties" noemde — tegenwoordig algemeen aangeduid als bags (multisets) — en de "fout van een miljard dollar" die we kennen als nulls.
In de wereld van SQL is het geaccepteerd dat bags en nulls worden getolereerd als een onvermijdelijk kwaad. Wij betogen dat dit kwaad volledig vermijdbaar is: de redenen die worden aangevoerd om bags and nulls te rechtvaardigen, verdwijnen bij nadere bestudering. Naast het ontkrachten van deze argumenten beschrijven we ook de kansen die geboden worden door een taal zonder nulls met verzamelingsemantiek (set semantics).
Auteurs: Molham Aref, Leonid Libkin, Wim Martens
Tijd om verder te gaan: Queryen zonder Nulls en Bags
Samenvatting
SQL is het succesverhaal van de databasegemeenschap op het gebied van taalontwerp. De belangrijkste reden voor dit succes is de declaratieve aard ervan: dit maakt optimalisatie mogelijk, wat de last voor de programmeur aanzienlijk vermindert. Gezien de evoluerende complexiteit van de problemen die met querytalen moeten worden opgelost, moet onze gemeenschap echter opnieuw nadenken over enkele fundamentele vroege ontwerpbeslissingen.
Onze ervaring met het ontwerp van Rel (een taal voor end-to-end relationeel programmeren) leert ons dat het mogelijk is om een taal te ontwerpen, implementeren en succesvol inzetten die is gebaseerd op volledig genormaliseerde relaties. Dergelijke relaties vermijden wat Codd "gecorrumpeerde relaties" noemde — tegenwoordig algemeen aangeduid als bags (multisets) — en de "fout van een miljard dollar" die we kennen als nulls.
In de wereld van SQL is het geaccepteerd dat bags en nulls worden getolereerd als een onvermijdelijk kwaad. Wij betogen dat dit kwaad volledig vermijdbaar is: de redenen die worden aangevoerd om bags and nulls te rechtvaardigen, verdwijnen bij nadere bestudering. Naast het ontkrachten van deze argumenten beschrijven we ook de kansen die geboden worden door een taal zonder nulls met verzamelingsemantiek (set semantics).
Zichtbare categorieën
Kies welke categorieën je wilt zien.
Over deze site
Waarom Tech-update?
Tech-update is ontstaan omdat ik merkte dat ik dagelijks veel verschillende websites moest bezoeken om interessant technieuws te vinden. Dat kon efficiënter.
Hoe werkt het?
Meerdere keren per etmaal gaat mijn zelfgebouwde AI-agent op zoek naar interessante artikelen op blogs en nieuwssites.
Vindt hij iets relevants, dan wordt het artikel naar het Nederlands vertaald en op Tech-Update geplaatst.
Van ieder artikel maakt de AI ook een korte samenvatting. Zo kun je snel bepalen of het de moeite waard is om het volledige artikel te lezen.
Bij ieder artikel staat altijd een link naar de oorspronkelijke bron (vaak een Engelstalige website).
Artikelen kun je bewaren als favoriet, vastzetten in de zijbalk of terugvinden via de zoekfunctie.
In de instellingen (tandwielikoon rechtsboven) geef je aan in welk soort nieuws je geïnteresseert bent.