Een SQL-database is simpelweg een database die je leest en schrijft met de taal SQL, waarbij data in gestructureerde tabellen staat die aan elkaar gekoppeld zijn. In de praktijk is de term gewoon een andere naam voor een relationele database, want beide betekenen hetzelfde: tabellen, kolommen, relaties en de taal SQL eroverheen.
Een handige manier om het voor je te zien, is een stapel goed geordende spreadsheets die van elkaar afweten. Het ene blad bevat producten, het andere bestellingen, en een bestelling verwijst naar een product via zijn ID in plaats van elk detail te kopiëren. Het verschil met een gewone spreadsheet is dat een SQL-database de regels afdwingt, duizenden gebruikers tegelijk aankan en complexe vragen in milliseconden beantwoordt. Bekende voorbeelden zijn MySQL, PostgreSQL en SQL Server.
Dat regels afdwingen is de stille kracht. Een SQL-database kan een bestelling weigeren die naar een product wijst dat niet bestaat, of garanderen dat een betaling en de voorraadmutatie allebei plaatsvinden of geen van beide. Die garanties zijn waarom banken, winkels en boekhoudtools erop leunen: de data blijft kloppen, ook als er veel tegelijk gebeurt.
Die structuur leg je vooraf vast in een schema, de lijst van tabellen en kolommen en hoe ze samenhangen. Dat beetje plannen voelt streng vergeleken met data er gewoon in kieperen, maar het betaalt zich later terug. Rapportages blijven betrouwbaar, en een nieuwe ontwikkelaar leest het schema en snapt in een paar minuten hoe je bedrijf in elkaar steekt.
Het belangrijkste alternatief is NoSQL, dat strakke structuur inruilt voor flexibiliteit en handig is als je data los van vorm is of in enorme volumes binnenkomt. Voor de meeste zakelijke applicaties met duidelijk gekoppelde data blijft een SQL-database de betrouwbare standaardkeuze.
Bij TopDevs draaien we de meeste applicaties van klanten op een SQL-database, want gestructureerde, consistente data houdt rapportages kloppend en de software makkelijk uit te breiden.