Bästa svaret
Vad är skillnaden mellan RDBMS och SQL?
En RDBMS är ett Relational Database Management System. Det är själva databasprogramvaran som hanterar lagring, fråga, uppdatera och, ja, allt. Specifikt använder en RDBMS en relationsmodell av data, som namnet antyder. Om du vill arbeta med en RDBMS måste du lära dig dess implementeringsspråk (ofta C), relationsmodellteori och mycket nitty-gritty grejer om filsystemåtkomst, transaktionsloggning, skalbarhet, synkronisering och så vidare.
SQL, Structured Query Language, är ett språk (eller en familj av närbesläktade språk eller dialekter) som vanligtvis används för att fråga RDBMS. Om du vill arbeta med SQL lär du dig bara SQL och kanske en liten bit av relationsmodellteori för bakgrund.
Så: RDBMS är systemet och SQL är det språk som används för att interagera med systemet . I princip kan du ha en RDBMS som använder något annat språk för åtkomst, och i princip kan du använda SQL för att interagera med någon annan typ av databassystem, men i praktiken är de två nära kopplade.
SQLite, MySQL, MariaDB, Postgres, et al är alla RDBMS, och språket du använder för att interagera med dem alla är SQL. (Observera dock att dialekten för SQL inte är identisk, så även om all grundläggande CRUD-funktionalitet bör vara densamma över alla SQL-baserade DB: er kommer det att finnas några skillnader mellan dem. Det vore trevligt om det bara fanns en SQL, men i praktiken finns det MySQL dialekt av SQL och så vidare.)
Svar
SQL = Structured Query Language (uppfunnit av IBM)
Det är ett språk som är utformat för åtkomst och hantering av databaser. Det är ett exempel på ett DSL (Domain Specific Language), i det här fallet är domänen Databaser.
Databaser har traditionellt förekommit i två smaker; Relational DataBase Management System (RDBMS) som var stora och kraftfulla (och ofta dyra) och Desktop / Personal-databaser som var mindre kraftfulla (och vanligtvis billigare).
Varje personlig databas (dBase, FoxBASE, Clipper, etc) ) hade vanligtvis sina egna sätt att låta användaren interagera med dem.
RDBMS var snabbare att använda SQL och blev också kända för vanliga användare som SQL-databaser.
Huvuddrivrutinen för detta var när företagen expanderade och nya och kraftfullare applikationer byggdes, utvecklare var ofta tvungna att övervinna problem med tillgång och data ”låst” i egna databaser .
Som ett resultat blev det en viktig aspekt av många företags IT-strategi att använda ”SQL-databaser” framöver för att undvika framtida risker för datalåsning.
Oracle ledde och var kända för att vara den första kommersiella SQL-databasen.
Eftersom SQL-databaser var lättare att få ”inköp” för företag, var de flesta nya databaser produkter började namnges för att återspegla detta, till exempel Sybase / MS SQL Server.
Trenden sprang över till öppen källkod när Postgres döptes om till PostgreSQL när den antog SQL-stöd. Så tekniskt sett är SQL ett domänspecifikt språk, men termen SQL-databas används i sådan utbredning för att betyda ett RDBMS att det finns lite att vinna genom att slå tillbaka mot termen.
En sidoteckning, ordåtkomst är i fetstil ovan eftersom det var en av nyckelfunktionerna i Microsofts Access-databasapplikation, möjligheten att komma åt inlåsta data från många äldre skrivbordsdatabaser. Jag tror att de också redan hade varumärket från ett tidigare övergett projekt.