Un SGBD relacional manipula la información a manera de tipos de cosas del mundo real (entidades) en tablas que representan esas entidades. Una tabla es como una hoja de cálculo; cada renglón representa una entidad en particular (instancia), y cada columna representa la información respecto de la entidad (dominio). En ocasiones las entidades están hechas de entidades más pequeñas, como órdenes y líneas de orden.
Una base de datos relacional bien manejada, minimiza la necesidad de las aplicaciones de contener información respecto al almacenamiento físico de los datos que se van a acceder. Para maximizar el aislamiento de los programas de las estructuras de datos, los SGBDs restringen el acceso a los datos mediante el lenguaje SQL, un lenguaje no procedimental que limita al programador a obtener ciertos resultados.
EL SGBD MÁS ADECUADO PARA MI ES EL SQL PORQUE ESTA LIGADO A LAS BASES DE DATOS RELACIONALES
CARACTERISTICAS
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en éstos últimos.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros.
Optimización
Como ya se dijo arriba, y suele ser común en los lenguajes de acceso a bases de datos de alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qué es lo que se quiere y no cómo conseguirlo, por lo que una sentencia no establece explícitamente un orden de ejecución.
El orden de ejecución interno de una sentencia puede afectar gravemente a la eficiencia del SGBD, por lo que se hace necesario que éste lleve a cabo una optimización antes de su ejecución. Muchas veces, el uso de índices acelera una instrucción de consulta, pero ralentiza la actualización de los datos. Dependiendo del uso de la aplicación, se priorizará el acceso indexado o una rápida actualización de la información. La optimización difiere sensiblemente en cada motor de base de datos y depende de muchos factores.
Existe una ampliación de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el acceso a bases de datos difusas, usando la lógica difusa. Este lenguaje ha sido implementado a nivel experimental y está evolucionando rápidamente.