Revoluția bazelor de date: cum SQL a schimbat totul
1970
Înainte de bazele de date relaționale, stocarea și recuperarea datelor era un coșmar. Programele din anii 1960 foloseau baze de date ierarhice sau în rețea, unde datele erau organizate în structuri arborescente rigide. Dacă voiai să pui o nouă întrebare despre datele tale (una pe care programatorul original nu o anticipase), adesea trebuia să rescrii întregul program.
În iunie 1970, Edgar F. Codd, un matematician de la laboratorul de cercetare IBM din San Jose, a publicat "A Relational Model of Data for Large Shared Data Banks." Lucrarea propunea ceva revoluționar: stocarea datelor în tabele simple (relații) cu rânduri și coloane. Relațiile dintre date ar fi exprimate prin valori comune, nu prin pointeri fizici sau structuri de fișiere.
Frumusețea consta în separarea responsabilităților. Programatorul ar descrie ce date dorea (declarativ), iar sistemul bazei de date ar afla cum să le obțină eficient. Aceasta era opusul sistemelor existente, unde programatorii trebuiau să navigheze ei înșiși prin structura fizică a datelor.
IBM, în ciuda faptului că îl angaja pe Codd, a acționat încet. Produsul lor existent de baze de date (IMS) era extrem de profitabil, iar un sistem relațional l-ar fi canibalizat. Așa că alții au acționat primii. Un mic startup numit Relational Software Inc. a construit prima bază de date relațională comercială în 1979 și a numit-o Oracle. Larry Ellison, cofondatorul ei, citise lucrarea lui Codd și înțelesese că IBM lăsa bani pe masă.
IBM a lansat în cele din urmă SQL/DS (1981) și DB2 (1983), dar Oracle avea un avans. Limbajul SQL, numit inițial SEQUEL (Structured English Query Language), a devenit modalitatea standard de a comunica cu bazele de date relaționale.
Puterea SQL consta în simplitatea sa. O interogare precum SELECT name FROM students WHERE grade > 90 se citește aproape ca engleza. Oamenii care nu erau programatori puteau să o învețe. Analiștii de afaceri puteau interoga datele direct, în loc să depună cereri la departamentul IT.
Astăzi, bazele de date relaționale sunt peste tot. PostgreSQL, MySQL, SQLite, SQL Server și Oracle alimentează practic fiecare aplicație care stochează date structurate, de la sisteme bancare care gestionează trilioane de dolari la aplicația care îți urmărește traseele de alergare. Bazele de date NoSQL au apărut în anii 2010 pentru cazuri de utilizare specifice, dar SQL rămâne cel mai utilizat limbaj de baze de date din lume.
Codd a primit Premiul Turing în 1981. Și-a petrecut ultimii ani frustrat că implementările SQL nu urmau pe deplin modelul său relațional. A murit în 2003, lăsând în urmă o invenție care conduce discret lumea.