Database-expert Chris Date: 'Kennis relationeel model dramatisch'

'SQL is waardeloos'

Relationele databasetechnologie. De technologie waarover het meest wordt gesproken en waarvan het minst wordt begrepen. Chris Date, een van de bekendste specialisten op het gebied van relationele databases ter wereld, was voor het seminar Database Systems in Nederland en sprak daar wederom zijn zorg uit over de huidige relationele kennis en producten.

  
Chris Date: "SQL is voor het relationele model wat de Amerikaanse overheid is voor democratie."
Discussie
Discussieer mee op het forum op Computable.nl: SQL: relationeel drama of niet?
Uw uitspraken tijdens de sessies waren nogal anti-SQL.
"Dat klopt. Ik ben vanaf het begin betrokken bij het relationele model en weet dus hoe een echte relationele taal eruit zou kunnen zien en hoe een echt relationeel product zou moeten zijn. SQL is een voorbeeld van een taal die is ontworpen door mensen die niet weten hoe ze een taal moeten ontwerpen. Het is verschrikkelijk, er zijn zoveel dingen onjuist. Het allergrootste probleem met SQL is dat het het relationele model niet ondersteunt. Mensen denken dat als ze SQL beheersen, ze het relationele model kennen, maar dat is niet zo."
 
Toch is SQL ontworpen voor de relationele database.
"SQL is voor het relationele model wat de Amerikaanse overheid is voor democratie. Je hebt een ideaal, de theorie, en je hebt de praktijk. T.S. Elliot zei ooit: 'Tussen het idee en de realiteit valt de schaduw.'. Ik moet wel zeggen dat SQL beter is dan hetgeen we daarvoor hadden, zoals IMS en DL1. Het probleem is alleen dat we een relationeel systeem zouden kunnen hebben waarbij de taal op z'n minst zoveel beter zou zijn geweest als SQL versus DL1."
 
Heeft u nooit de neiging gehad om zelf een beter alternatief te ontwikkelen?
Verklaring
Relationele database - Een relationele database is een verzameling gegevens die worden georganiseerd als een set formeel beschreven tabellen van waaruit gegevens kunnen worden opgevraagd of bewerkt, zonder dat het daarvoor nodig is om de database-tabellen te reorganiseren.
SQL - Structured Query Language is een standaard interactieve programmeertaal voor het opvragen en wijzigen van informatie in een database.
Ted Codd - Edgar Frank (Ted) Codd, wiskundige en computer scientist. Werkzaam bij IBM toen hij het relationele model ontwikkelde in 1970. Stierf in 2003 op 79-jarige leeftijd aan een hartaanval.
Chris Date - Christopher J. (Chris) Date kwam in aanraking met Codd's relationele model toen hij met hem samenwerkte bij IBM. Momenteel is hij de voornaamste onderhouder en ontwikkelaar van het relationele model, samen met Hugh Darwen.
Hugh Darwen - Werkte van 1967 tot 2004 bij IBM UK en is sinds het begin betrokken bij het relationele model. Hij creëerde het eerste volledig relationele systeem, IBM BS12.
"Dat heb ik gedaan samen met mijn collega Hugh Darwen. Het is geen taal die je kunt krijgen in een commercieel product. We noemen het 'Tutorial D'. Ons boek, The Third Manifesto, geeft handreikingen voor een systeem dat het relationele model ondersteund, hetgeen van de huidige producten niet kan worden gezegd. We hebben een set regels gemaakt en iedere taal die daaraan voldoet, krijgt van ons het predikaat 'D'. SQL is geen D. Wij hebben zelf een taal ontwikkeld, die dient als onderwijzende taal, vandaar de naam 'Tutorial D'. Het is een goede taal, maar bestaat nog niet echt, omdat het bijvoorbeeld nog geen 'error handling' kent. Een van onze projecten is om de taal om te zetten in 'Industrial D', zodat het ook voor de markt beschikbaar komt. Op dit moment is er slechts één product op de markt die van ons het stempel 'D' krijgt, dat is de taal Dataphor van het Amerikaanse bedrijfje Alphora. Zij hebben bijna alles uit The Third Manifesto toegepast in hun taal."
 
Dat is toch vreemd, dat er slechts één taal is die aan het relationele model voldoet?
"Heel weinig mensen begrijpen het relationele model. Ze begrijpen de producten van Oracle of Sybase, maar ze snappen niet de theorie waarop die producten zijn gebaseerd. Wanneer de producten dan afwijken van die theorie, realiseren ze zich dat niet. Ze realiseren zich niet dat de theorie bestaat voor goede praktische redenen en dat wanneer je daarvan afwijkt, je in problemen komt. Een triviaal voorbeeld hiervan is bijvoorbeeld duplicate rijen in een tabel. Om theoretische en praktische redenen is dit niet mogelijk in het relationele model, maar SQL laat het je rustig doen. Je moet de theorie van het model weten, zodat je jezelf de discipline op kan leggen, daar waar SQL dat had moeten doen, maar het niet doet."
 
Wordt het ooit beter? Zal een D-taal SQL vervangen?
"Wie weet. Ik vergelijk het met Cobol. Cobol is een erg oude ontwikkeltaal, maar bestaat nog steeds en zal nooit verdwijnen. We zullen het niet gebruiken als we het kunnen vermijden. Als er meerdere manieren zijn om een applicatie te bouwen, zal Cobol altijd het laatste toevluchtsoord zijn. Voor mij is SQL zoals Cobol. Als we iets kunnen vinden dat beter is, zullen mensen daarop overgaan. SQL zal nooit verdwijnen, maar ik hoop dat het het laatste toevluchtsoord wordt wat betreft databasetalen. Het is mogelijk om iets beters te bouwen."
 
Kennis van het relationele model verdwijnt, ook bij de leveranciers. Wat betekent dat voor de toekomst?
"Die ziet er somber uit. Ik zie in Amerika dat universiteiten bijvoorbeeld geen database-integriteit onderwijzen. Dat is ongelooflijk. Mijn collega Fabian Pascal is sinds kort columnist in Database Magazine (uitgeverij Array - red.). Als je voorbeelden wilt van hoe weinig men van het relationele model snapt, zou je zijn columns moeten lezen. In het meest recente nummer neemt hij een boek dat is geproduceerd door Oracle, dat veronderstelt de ideeën achter de relationele database uit te leggen, maar Pascal vernietigt het gewoon. De Amerikaanse universiteiten onderwijzen het relationele model niet eens meer. Ze onderwijzen SQL en Oracle. Ik weet niet precies hoe dat hier in Europa zit, maar ik hoorde van Rick (van der Lans - red.) dat zijn boek, Introduction to SQL, wordt gebruikt door veel universiteiten hier in Nederland. Dus
Meer informatie
De twaalf regels van Codd
www.frick-cpa.com
Producent van Dataphor
www.alphora.com
Informatie over Darwen, Date en The Third Manifesto
www.thethirdmanifesto.com
Website ter promotie van het relationele model met venijnige aanvallen op de it-industrie. Door Chris Date en Fabian Pascal
www.dbdebunk.com
Interview met Chris Date door DBMS uit 1994
www.dbmsmag.com
Website Database Magazine
www.dbm.nl
misschien is het hier ook gaande. Als de mensen die van de universiteit afkomen de theorie niet meer kennen, dan weten professoren het blijkbaar ook niet, of vinden het niet belangrijk. Dit is al een aantal jaar gaande, en de studenten van vandaag zijn de professoren van morgen. Het is frustrerend. Maar ik moet optimistisch blijven. Ik blijf rondreizen om mensen op te leiden en het relationele model uit te leggen."
 
De huidige databaseproducten scoren niet zo goed op de twaalf regels van Ted Codd. Zijn de huidige systemen goed genoeg?
"Nee, absoluut niet. We moeten wellicht toe naar een heel nieuw databasemodel. Ook daarmee ben ik bezig. Steve Tarin heeft een implementatietechnologie ontwikkelt, genaamd het 'Transrelational Model'. Daarbij gaat het om een heel nieuwe manier van database bouwen, eigenlijk vanaf nul. Alles wat we dachten te weten over het bouwen van relationele databases is fout. Indexen zijn bijvoorbeeld niet meer nodig, er is een andere manier om het te doen. Dus er is een nieuwe technologie op komst, een implementatietechnologie die ons de mogelijkheid geeft om nieuwe producten te bouwen die voldoen aan het relationele model."
 
Zullen de huidige leveranciers ooit terugkeren naar het relationele model?
"Ze zullen doen wat geld oplevert, dus we moeten het aantrekkelijk voor hen maken. Er zijn twee manieren waarop dat kan gebeuren. De meest voor de hand liggende is druk vanuit de klanten. Als ik klanten kan laten zien hoe het zou moeten zijn, kunnen zij dat vervolgens van hun leverancier eisen. Een andere mogelijkheid is concurrentie, maar dat waag ik te betwijfelen. Ik denk niet dat een klein, onbekend bedrijf ineens met een beter product komt waardoor bestaande leveranciers hun producten veranderen. But you never know what's around the next corner."< BR> 
Codd's relationale regels
Edgar Frank Codd ontwikkelde in 1970 het relationele datamodel. Hij publiceerde een lijst met twaalf regels die een ideale relationele database definieerden. Deze zijn een richtlijn bij het ontwerp van relationele databases. Vooralsnog voldoet geen van de commerciële databases aan alle twaalf de regels. Hieronder een beknopt overzicht.
  1. De informatie regel
    Alle data moet aan de gebruiker worden aangeboden in de vorm van tabellen.
  2. Gegarandeerde toegang regel
    Alle data moet zonder tweeslachtigheid toegankelijk zijn. Dit kan worden bereikt door de combinatie van tabelnaam, 'primary key' en kolomnaam.
  3. Systematische afhandeling van NULL-waarden
    Een veld moet leeg kunnen blijven. Dit verlangt de ondersteuning van een NULL-waarde, die anders is dan een lege string of een numerieke waarde nul.
  4. Zelfbeschrijvend
    Een relationele database moet toegang bieden tot zijn structuur op dezelfde wijze als er toegang is tot de data. Dit kan worden bereikt door de structuurdefinitie in speciale systeemtabellen op te slaan.
  5. Eén taal om te communiceren met de database
    De database moet tenminste één duidelijk beschreven taal ondersteunen waarmee het mogelijk is om data te definiëren, te manipuleren, die integriteit veilig stelt en waarmee databasetransacties kunnen worden beheerd.
  6. Alternatieven voor het bekijken van data
    Data kan aan de gebruiker worden aangeboden in verschillende logische combinaties, views of virtuele tabellen genaamd. Views moeten op dezelfde wijze kunnen worden gemanipuleerd als de tabellen in de database.
  7. High-level insert, update en delete
    Data uit een relationele database wordt weergegeven in sets die uit verschillende tabellen of rijen kan worden gehaald. Dit betekent dat manipulaties als insert, update en delete moeten worden ondersteund op set-niveau en niet op een enkele rij in een enkele tabel.
  8. Fysieke data onafhankelijkheid
    De gebruiker is onafhankelijk van de fysieke opslagmethode. Veranderingen aan de hardware of architectuur hebben geen invloed op de toegang van de gebruiker tot de database.
  9. Logische data onafhankelijkheid
    De manier waarop een gebruiker data ziet, moet niet veranderen als de logische structuur (tabelstructuur) van de database wijzigt.
  10. Integriteit onafhankelijkheid
    Met data-integriteit wordt de consistentie en juistheid van gegevens bedoeld. De databasetaal zou op integriteit moeten controleren bij invoer van een gebruiker.
  11. Distributie onafhankelijkheid
    De gebruiker moet niets merken van het feit of een database gedistribueerd is (of delen van de database zicht op meerdere plaatsen bevinden).
  12. Data-integriteit kan niet worden ondermijnd
    Er mag geen andere manier zijn om de databasestructuur te manipuleren anders dan de databasetaal.

Het transrelationele model
Het transrelationele model is volgens Chris Date de belangrijkste vooruitgang sinds Ted Codd zo'n 35 jaar geleden het relationele model ontwikkelde. In essentie is het transrelationele model een implementatietechnologie. Toen het relationele model voor het eerst ten tonele verscheen, werd door sceptici het verwijt gemaakt dat het onmogelijk was om het op een efficiënte manier te implementeren. Het transrelationele model biedt een nieuwe benadering van implementatie, een die dramatisch verschilt van de benaderingen die in het verleden zijn geprobeerd en die veel te wensen overlieten (inclusief alle benaderingen die men in de huidige SQL-producten tegenkomt). Een aantal specifieke kenmerken van de transrelationele benadering zijn onder meer dat de gegevens op effectieve wijze tegelijkertijd worden opgeslagen in veel verschillende sorteervolgordes, dat de hoeveelheid gegevens slechts een fractie beslaat van de ruimte die tegenwoordig nodig is voor een conventionele database, dat indexen en andere conventionele manieren van benaderen overbodig zijn geworden, dat het fysieke databaseontwerp volledig geautomatiseerd kan worden en dat optimalisatie veel makkelijker is dan bij de huidige systemen. Chris Date trekt momenteel de wereld over om workshops en seminars over dit onderwerp te geven.
 
Lees ook de bijdrage van Fabian Pascal op http://www.dbdebunk.com/page/page/1548800.htm

SQL, een levende taal voor database-interactie
  
Martin Kersten, Hoofd afdeling Information Systems, Centrum voor Wiskunde en Informatica.
SQL is een taal die is ontwikkeld en wordt onderhouden door een internationale commissie. Vanuit die optiek is het altijd een resultaat van een 'democratisch' proces, waarbij de belangen van de gebruikers een sterke invloed hebben op de uitkomst. Vanuit puristisch oogpunt valt er veel op de eigenschappen van de taal af te dingen. Op vele plekken zijn de architectuur-overwegingen en producteigenschappen duidelijk zichtbaar. De redenen hiervoor laten zich in een historisch perspectief goed verklaren, maar zijn tevens een hindernis voor de toekomst. Zowel voor applicatie-ontwikkeling als product-evolutie. Het resultaat is dat momenteel de overdracht van een SQL-applicatie meestal niet zonder de nodige inspanning kan geschieden. De overstap kan gedeeltelijk worden opgevangen door middelware-software, die in staat is de oppervlakkige verschillen tussen de dialecten te ondervangen. Als dit niet meer werkt, dan zijn er boeken zoals "SQL in a Nutshell' (K.E. Kline, 2000) die uit de doeken doen waar de systemen verschillen in syntax en betekenis. Het is opvallend te constateren dat dit boek met elke editie in omvang verdubbelt.

SQL als een relationele query taal

De taal SQL laat zich gebruiken als een relationele query-taal, maar daarbij moet de gebruiker bewust een aantal eigenschappen niet (meer) gebruiken. De belangrijkste hierin zijn de aannames rond de opslag en ordening van informatie. Veelal wordt aangenomen dat de nieuwe records achteraan worden geplaatst, tenzij er een 'clustering key' is aangemerkt. Het relationele model doet echter in het geheel geen uitspraak over de volgorde waarin informatie wordt toegevoegd, noch de stabiliteit van een eenmaal gerealiseerde volgorde. Helaas gaan veel applicaties wel uit van de gedachte dat record 1 wordt gevolgd door record 2 en dat dit in lengte van dagen zo zal zijn. In ieder geval tot dat de DBA een database reorganisatie uitvoert.

Revolutionaire implementatietechnieken

In de implementatie van relationele systemen zijn vele wegen uitgeprobeerd en is de techniek in de huidige generatie commerciële systemen in belangrijke mate een legacy-probleem. Echter, het claimen van een nieuwe, revolutionaire implementatie-techniek gebaseerd op welbekende compressie-methoden zonder deze ter toetsing voor te leggen aan de wetenschappelijke wereld, noch de concrete databasetoepasser past meer in het beeld van een commerciële PR-activiteit dan een fluwelen revolutie.
De website http://www.requiredtech.com is overduidelijk leeg, men moet het doen met de patentaanvraag, waarin duidelijk is dat men goed gekeken heeft naar (overigens verouderde) MonetDB-technologie die is ontwikkeld aan het CWI en beschikbaar is in de open source-gemeenschap. De discussies in de internetfora richten zich meer op 'non-disclosure-agreements' dan op inhoud.

 
'Er zijn meer zaken relevant dan alleen pure theorie'

  
.Hans Bos, Technology Marketing Oracle.
Oracle heeft op verschillende manieren mee gewerkt aan de ontwikkeling van open standaarden zoals SQL. SQL is een implementatie van een database 'query' taal. Het leent zich in principe voor meerdere database (model) implementaties. Het is een 'abstractie laag' voor een technische implementatie. Het is bij wijze van spreken alsof je afspreekt te vergaderen in het Engels, dat helpt bij een internationaal gezelschap - maar je kunt nog steeds kiezen welke vergadertechniek je gebruikt. Om vervolgens te kunnen participeren volstaat het om goed engels te spreken, te lezen en te schrijven. Om effectiever te zijn tijdens het vergaderen en het articuleren van je vraag is het handig om iets te weten van de 'psychologie', cq de achtergrond van vergaderen et cetera.
Bij het ontwikkelen van een standaard geldt dat er meer zaken relevant zijn dan een 'pure implementatie van de theorie'. Er moet ook rekening worden gehouden met bestaande kennis, vaardigheden et cetera, alsmede met (toekomstige) uitbreidingen et cetera. Zo kon Oracle de SQL implementatie relatief snel uitbreiden met extensies voor bijvoorbeeld geografische mogelijkheden, object relationele eigenschappen enzovoorts. Je kunt discussiëren over het 'relationele model' gehalte van dit soort uitbreidingen, maar het staat buiten iedere discussie dat het de productiviteit en daarmee de zakelijke efficiëntie en effectiviteit enorm heeft verhoogt.

Snelle kennisopbouw

Het belangrijkste voordeel van een open standaard, zoals SQL, is dat de wereld relatief snel kennis kan opbouwen, nieuwe producten kan ontwikkelen en zich meer kan richten op het toepassen dan wel realiseren van oplossingen in plaats van. op 'low level' zaken. Open standaarden brengen flexibiliteit, (vrije markt) keuze aan implementaties, kostenbesparingen, kennis en ervaring et cetera met zich mee.

x

Om te kunnen beoordelen moet u ingelogd zijn:

Dit artikel delen:

Reacties

Ik ben benieuwd wat Martin Kersten en Hans Bos ervan vindt dat zijn hoofd in een promoverhaal voor de schrijfsels van Date gebruikt worden.

Stuur dit artikel door

Uw naam ontbreekt
Uw e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×
article 2005-04-01T00:00:00.000Z Kim Loohuis
Wilt u dagelijks op de hoogte worden gehouden van het laatste ict-nieuws, achtergronden en opinie?
Abonneer uzelf op onze gratis nieuwsbrief.