Mejor respuesta
¿Cuál es la diferencia entre RDBMS y SQL?
Un RDBMS es un sistema de gestión de bases de datos relacionales. Es el software de base de datos en sí mismo, que administra el almacenamiento, las consultas, la actualización y, bueno, todo. Específicamente, un RDBMS utiliza un modelo relacional de datos, como sugiere el nombre. Si desea trabajar en un RDBMS, deberá aprender su lenguaje de implementación (a menudo C), la teoría del modelo relacional y muchas cosas esenciales sobre el acceso al sistema de archivos, el registro transaccional, la escalabilidad, la sincronización, etc.
SQL, el lenguaje de consulta estructurado, es un lenguaje (o una familia de idiomas o dialectos estrechamente relacionados) que se utiliza normalmente para consultar el RDBMS. Si desea trabajar con SQL, solo aprenda SQL y tal vez un poco de teoría de modelos relacionales como fondo.
Entonces: el RDBMS es el sistema y SQL es el lenguaje que se usa para interactuar con el sistema. . En principio, podría tener un RDBMS que use algún otro lenguaje para el acceso, y en principio podría usar SQL para interactuar con algún otro tipo de sistema de base de datos, aunque en la práctica los dos están estrechamente relacionados.
SQLite, MySQL, MariaDB, Postgres, et al son RDBMS y el lenguaje que utilizará para interactuar con todos ellos es SQL. (Tenga en cuenta, sin embargo, que el dialecto de SQL no es idéntico, por lo que si bien todas las funciones básicas de CRUD deberían ser las mismas en todas las bases de datos basadas en SQL, habrá algunas diferencias entre ellas. Sería bueno si solo hubiera un SQL, pero en la práctica existe el dialecto de SQL de MySQL, y así sucesivamente).
Respuesta
SQL = Lenguaje de consulta estructurado (inventado por IBM)
Es un lenguaje diseñado para acceder y administrar bases de datos. Es un ejemplo de un DSL (lenguaje específico de dominio), en este caso el dominio es bases de datos.
Las bases de datos tradicionalmente venían en dos sabores; Sistema de gestión de bases de datos relacionales (RDBMS) que eran grandes y potentes (y a menudo costosos) y bases de datos de escritorio / personales que eran menos potentes (y generalmente más baratas).
Cada base de datos personal (dBase, FoxBASE, Clipper, etc. ) por lo general tenían sus propias formas patentadas para permitir que el usuario interactuara con ellos.
Los RDBMS eran más rápidos en adoptar SQL y, por lo tanto, los usuarios comunes también los conocían como bases de datos SQL.
El controlador principal Debido a que esto fue a medida que las empresas se expandieron y se crearon aplicaciones nuevas y más poderosas, los desarrolladores a menudo tenían que superar problemas de acceder a los datos bloqueados en bases de datos propietarias .
Como resultado, se convirtió en un aspecto importante de la estrategia de TI de muchas empresas utilizar bases de datos SQL en el futuro para evitar riesgos futuros de bloqueo de datos.
Oracle lideró el y eran conocidos por ser la primera base de datos SQL comercial.
Como las bases de datos SQL eran más fáciles de conseguir para las empresas, la mayoría de las nuevas bases de datos de servidores Los productos comenzaron a recibir nombres para reflejar esto, por ejemplo, Sybase / MS SQL Server.
La tendencia se extendió al código abierto ya que Postgres pasó a llamarse PostgreSQL una vez que adoptó el soporte SQL.
Entonces, técnicamente, SQL es un lenguaje específico de dominio, pero el término base de datos SQL tiene un uso tan generalizado para referirse a un RDBMS que hay poco que ganar al oponerse al término.
Una nota al margen, la El acceso de palabras está en negrita arriba porque esa era una de las características clave de la aplicación de base de datos Access de Microsoft, la capacidad de acceder a datos bloqueados de muchas bases de datos de escritorio heredadas. Creo que también tenían la marca registrada de un proyecto abandonado anterior.