Beste svaret
Hva er forskjellen mellom RDBMS og SQL?
En RDBMS er et Relational Database Management System. Det er databaseprogramvaren i seg selv, som administrerer lagring, spørring, oppdatering og vel, alt. Spesielt bruker en RDBMS en relasjonsmodell av data, som navnet antyder. Hvis du vil jobbe med en RDBMS, må du lære implementeringsspråket (ofte C), relasjonsmodellteori og mange ting som handler om filsystemtilgang, transaksjonslogging, skalerbarhet, synkronisering og så videre.
SQL, Structured Query Language, er et språk (eller en familie av nært beslektede språk eller dialekter) som vanligvis brukes til å spørring RDBMS. Hvis du vil jobbe med SQL, lærer du bare SQL og kanskje en liten bit av relasjonsmodellteori for bakgrunn.
Så: RDBMS er systemet, og SQL er språket som brukes til å samhandle med systemet. . I prinsippet kan du ha et RDBMS som bruker et annet språk for tilgang, og i prinsippet kan du bruke SQL til å samhandle med et annet slags databasesystem, men i praksis er de to nært sammenkoblede.
SQLite, MySQL, MariaDB, Postgres, et al er alle RDBMSer, og språket du vil bruke til å samhandle med dem alle er SQL. (Merk imidlertid at dialekten til SQL ikke er identisk, så mens all grunnleggende CRUD-funksjonalitet skal være den samme på alle SQL-baserte DB-er, vil det være noen forskjeller mellom dem. Det ville være fint om det bare var en SQL, men i praksis er det MySQL dialekt av SQL og så videre.)
Svar
SQL = Structured Query Language (oppfunnet av IBM)
Det er et språk designet for tilgang til og administrering av databaser. Det er et eksempel på et DSL (Domain Specific Language), i dette tilfellet er domenet databaser.
Databaser kom tradisjonelt i to smaker; Relational DataBase Management System (RDBMS) som var store og kraftige (og ofte dyre) og Desktop / Personal databaser som var mindre kraftige (og vanligvis billigere).
Hver personlig database (dBase, FoxBASE, Clipper osv. ) hadde vanligvis egne proprietære måter å la brukeren samhandle med dem.
RDBMS var raskere med å ta i bruk SQL og ble også kjent for vanlige brukere som SQL-databaser.
Hoveddriveren for dette var etter hvert som selskaper utvidet seg, og nye og kraftigere applikasjoner ble bygd, og utviklere måtte ofte overvinne problemer med tilgang og data «låst» i proprietære databaser. .
Som et resultat ble det et viktig aspekt av mange forretnings-IT-strategier å bruke SQL-databaser fremover for å unngå fremtidig risiko for datalåsing.
Oracle ledet felt og var kjent for å være den første kommersielle SQL-databasen.
Siden SQL-databaser var lettere å få virksomhetens «buy-in» for, ble de fleste nye databaseservere produkter ble navngitt for å gjenspeile dette, for eksempel Sybase / MS SQL Server.
Trenden rant over i åpen kildekode da Postgres ble omdøpt til PostgreSQL når den vedtok SQL-støtte.
Så teknisk sett er SQL et domenespesifikt språk, men begrepet SQL-database er i så utstrakt bruk for å bety et RDBMS at det er lite å hente ved å sparke tilbake mot begrepet.
Den ene sideanmerkningen, ordtilgang er i fet skrift ovenfor fordi det var en av nøkkelfunksjonene i Microsofts Access-databaseapplikasjon, muligheten til å få tilgang til låste data fra mange eldre skrivebordsdatabaser. Jeg tror de også allerede hadde varemerket fra et tidligere forlatt prosjekt.