¿Para qué y cómo se usa SQL?
Null (SQL)
La siguiente muestra SQL desarrolla una combinación externa de tabla izquierda entre las dos tablas anteriores. SELECT e.ID, e.Apellido, e.Nombre, pn.Número FROM Empleado e LEFT OUTER JOIN Número de teléfono pn ON e.ID = pn.ID; El resultado generado en esta serie de cuestiones demuestra cómo SQL usa el Null como un marcador para valores que faltan en la parte derecha de la tabla (Números de teléfono), como se muestra a continuación: SQL
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. SQL también tiene las siguientes características:Algunos de los tipos de datos básicos de SQL son:Como ya se dijo antes, y suele ser común en los lenguajes de acceso a bases de datos de alto nivel, 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. Null (SQL)
Es necesario tener cuidado a la hora de utilizar columnas en las que pueda operar Null en criterios de unificación de SQL. Como un Null no es igual a ninguna otro Null, los Nulls que se encuentren en una columna de una tabla no se unirán a Nulls de columnas relacionadas de otra tabla que usa los operadores de comparación de igualdad estándar. La función SQL COALESCE o expresiones CASE pueden ser usadas para "simular" una igualdad Null en criterios de unificación, y los predicados ‘ES NULO’ Y ‘NO ES NULL’ pueden ser utilizados en los criterios de unificación también. Análisis estructurado
El lenguaje de consulta estructurado (SQL) es un lenguaje estandarizado para la consulta de la información de una base de datos. SQL se introdujo por primera vez como un sistema de bases de datos comerciales en 1979 y desde entonces ha sido el lenguaje de consulta favorita para los sistemas de gestión de base de datos que se ejecutan en sistemas grandes y medianos. Cada vez más, sin embargo, SQL está siendo apoyado por los sistemas de bases de datos de PC, ya que soporta las bases de datos distribuidas (véase la definición de base de datos distribuida). Esto permite que varios usuarios en una red informática puedan acceder a la misma base de datos al mismo tiempo. Aunque hay diferentes dialectos de SQL, sin embargo es lo más parecido a un lenguaje de consulta estándar que existe en la actualidad.Algunos problemas asociados los diagramas de flujo de datos han sido: Transact-SQL
Puede ser utilizado como cualquier SQL como lenguaje embebido en aplicaciones desarrolladas en otros lenguajes de programación como Visual Basic, C, Java, etc. Y por supuesto los lenguajes incluidos en la plataforma .NET. SQL
SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje de dominio específico, diseñado para administrar, y recuperar información de sistemas de gestión de bases de datos relacionales. Una de sus principales características es el manejo del álgebra y el cálculo relacional para efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos, así como realizar cambios en ellas. Null (SQL)
Null (nulo) es un marcador especial usado en el lenguaje de consulta estructurado (SQL) para indicar que no existe un valor dentro de una base de datos. Introducido por el creador del modelo relacional de bases de datos E. F. Codd, su función es la de solventar el requisito de que los sistemas de gestión relacionales de base de datos (en inglés: Database management system, abreviado DBMS) verdaderos puedan representar información “desconocida” o “no aplicable”. Asimismo, Codd también introdujo el uso de la letra griega omega (ω) en minúscula para representar el Null en la teoría de la teoría de las bases de datos. NULL es también una palabra reservada en el lenguaje SQL para identificar el marcador especial Null. Microsoft SQL Server
Las ventajas de utilizar procedimientos almacenados en SQL Server en vez de programas Transact-SQL almacenados localmente en equipos clientes consisten en que:  • Permiten una programación modular. Puede crear el procedimiento una vez, almacenarlo en la base de datos, y llamarlo desde el programa el número de veces que desee. Un especialista en programación de bases de datos puede crear procedimientos almacenados, que luego será posible modificar independientemente del código fuente del programa. Facilitan el mantenimiento.  • Permiten una ejecución más rápida. En situaciones en las que se necesita una gran cantidad de código Transact-SQL, o si las operaciones se realizan varias veces, los procedimientos almacenados pueden ser más rápidos que los lotes de código Transact-SQL. Los procedimientos son analizados y optimizados en el momento de su creación, y es posible utilizar una versión del procedimiento que se encuentra en la memoria después de que se ejecute por primera vez. Las instrucciones de Transact-SQL que se envían varias veces desde el cliente cada vez que deben ejecutarse tienen que ser compiladas y optimizadas siempre que SQL Server las ejecuta. • Pueden reducir el tráfico de red. Una operación que necesite centenares de líneas de código Transact-SQL puede realizarse mediante una sola instrucción que ejecute el código en un procedimiento, en vez de enviar cientos de líneas de código por la red. • Pueden utilizarse como mecanismo de seguridad.  Es posible conceder permisos a los usuarios para ejecutar un procedimiento almacenado, incluso si no cuentan con permiso para ejecutar directamente las instrucciones del procedimiento. Transact-SQL
Transact-SQL (T-SQL) es una extensión al SQL de Microsoft y Sybase. SQL, que frecuentemente se dice ser un Lenguaje de Búsquedas Estructurado (por sus siglas en inglés), es un lenguaje de cómputo estandarizado, desarrollado originalmente por IBM para realizar búsquedas, alterar y definir bases de datos relacionales utilizando sentencias declarativas. T-SQL expande el estándar de SQL para incluir programación procedimental, variables locales, varias funciones de soporte para procesamiento de strings, procesamiento de fechas, matemáticas, etc, y cambios a las sentencias DELETE y UPDATE. Estas características adicionales hacen de T-SQL un lenguaje que cumple con las características de un autómata de Turing. Procedimiento almacenado
Estos procedimientos, se usan a menudo, pero no siempre, para realizar consultas SQL sobre los objetos de la base de datos de una manera abstracta, desde el punto de vista del cliente de la aplicación. Un procedimiento almacenado permite agrupar en forma exclusiva parte de algo específico que se desee realizar o, mejor dicho, el SQL apropiado para dicha acción.
Normalización de bases de datos
Esto significa que las cláusulas para leer, escribir, eliminar y agregar registros (SELECT, UPDATE, DELETE e INSERT en SQL) deben estar disponibles y operables, independientemente del tipo de relaciones y restricciones que haya entre las tablas o no. SQL
ALTER TABLE alumnos ADD edad INT UNSIGNED; Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, función, procedimiento o cualquier objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER.DROP TABLE alumnos; Este comando solo aplica a tablas y su función es borrar el contenido completo de la tabla especificada. La ventaja sobre el comando DELETE, es que si se quiere borrar todo el contenido de la tabla, es mucho más rápido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE solo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de Manipulación de Datos), es en realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transacción.Un lenguaje de manipulación de datos ("Data Manipulation Language", o "DML" en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. Inyección SQL
No obstante es más recomendado usar alternativas que ofrecen consultas preparadas como la clase PDO. $statement = $pdo->prepare("SELECT * FROM usuarios WHERE nombre = :nombre"); $statement->bindParam(':nombre', $nombre_usuario); $statement->execute(); $result = $statement->fetch(); Y si se utiliza MySQLi... // Con funciones $conexion = mysqli_connect("host", "usuario", "clave", "bdd"); $query = mysqli_query($conexion, "SELECT * FROM usuarios WHERE nombre = '" . mysqli_real_escape_string($conexion, $nombre) . "'"); // Orientado a objetos heredando la clase: $query = $this->query("SELECT * FROM usuarios WHERE nombre = '" . $this->real_escape_string( $nombre ) . "'"); // Sin heredar la clase $query = $this->mysqli->query("SELECT * FROM usuarios WHERE nombre = '" . $this->mysqli->real_escape_string($nombre) . "'"); /* donde $this->mysqli es el enlace mysqli a la base de datos */ En lenguaje Java, se puede usar la clase PreparedStatement Inyección SQL
Al ejecutarse la consulta en la base de datos, el código SQL inyectado también se ejecutará y podría hacer un sinnúmero de cosas, como insertar registros, modificar o eliminar datos, autorizar accesos e, incluso, ejecutar otro tipo de código malicioso en el computador. Microsoft SQL Server
Microsoft SQL Server utiliza diferentes modelos de licencias, estas son las licencias Server + CAL y las licencias por núcleo. SQL
[HAVING  [{AND|OR} ...]] NonStop SQL
NonStop SQL es un sistema de gestión de base de datos relacional comercial que está diseñado para tolerancia de fallos y escalabilidad, actualmente ofrecido por Hewlett Packard Enterprise. Base de datos bibliográfica
Fue también en esta época cuando se empezó a modificar la primera publicación hecha por ANSI del lenguaje SQL y se empezó a agregar nuevas expresiones regulares, consultas recursivas, triggers y algunas características orientadas a objetos, que posteriormente en el siglo XXI volverá a sufrir modificaciones introduciendo características de XML, cambios en sus funciones, estandarización del objeto sequence y de las columnas autonuméricas. Y además, se creará la posibilidad de que SQL se pueda utilizar conjuntamente con XML, y se definirá las maneras de cómo importar y guardar datos XML en una base de datos SQL. Dando así, la posibilidad de proporcionar facilidades que permiten a las aplicaciones integrar el uso de XQuery (lenguaje de consulta XML) para acceso concurrente a datos ordinarios SQL y documentos XML. Y posteriormente, se dará la posibilidad de usar la cláusula order by. SQL
Una subconsulta es una sentencia SELECT que está embebida en una cláusula de otra sentencia SQL. También pueden utilizarse subconsultas en los comandos INSERT, UPDATE, DELETE y en la cláusula FROM. SQL
INSERT INTO agenda_telefonica (nombre, numero) VALUES ('Roberto Jeldrez', 4886850); Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia acortada: INSERT INTO nombre_tabla VALUES ('valor1', ['valor2', ...]); Ejemplo (asumiendo que 'nombre' y 'número' son las únicas columnas de la tabla 'agenda_telefonica'): INSERT INTO agenda_telefonica VALUES ('Johnny Aguilar', 080473968); Una característica de SQL (desde SQL-92) es el uso de "constructores de filas" para insertar múltiples filas a la vez, con una sola sentencia SQL: INSERT INTO VALUES Esta característica es soportada por DB2, PostgreSQL (desde la versión 8.2), MySQL, y H2. PL/SQL
PL/SQL soportará todas las consultas, ya que la manipulación de datos que se usa es la misma que en SQL, incluyendo nuevas características:El lenguaje PL/SQL está incorporado en:En un entorno de base de datos los programadores pueden construir bloques PL/SQL para utilizarlos como procedimientos o funciones, o bien pueden escribir estos bloques como parte de scripts SQL*Plus. Null (SQL)
El lugar primario en el cual la lógica ternaria SQL se entrecruza con la Lengua de Definición de Datos SQL (DDL) es en forma de revisión de las limitaciones. Una revisión o comprobación de las limitaciones colocada sobre una columna opera bajo una serie de reglas ligeramente diferentes de aquellas para la cláusula DML WHERE. Mientras que una cláusula DML WHERE debe evaluar la Verdad para una fila, una comprobación no debe evaluar la Falsedad. Esto quiere decir que una revisión tendrá éxito si el resultado de la comprobación es Verdadero o Desconocido. El ejemplo siguiente muestra una tabla con una comprobación que prohibirá a cualquier valor de número entero ser insertado en la columna i, pero permitirá a la Null ser insertada ya que el resultado de la comprobación siempre evaluará si es Desconocido para la Null. CREATE TABLE t ( Con el objetivo de que una columna rechace Nulls, la coacción NOT NULL puede ser aplicada, como abajo se muestra en el ejemplo. La coacción NOT NULL es semánticamente equivalente a una comprobación de las limitaciones con un predicado IS NOT NULL. CREATE TABLE t ( i INTEGER NOT NULL ); Data Transformation Services
Los Servicios de Transformación de Datos, o DTS, son un conjunto de objetos y utilidades para permitir la automatización de extracción, transformación y carga hacia, o desde, una base de datos. Los objetos son los paquetes DTS y sus componentes, y sus utilidades son llamadas herramientas DTS. DTS estaba incluido en las versiones más antiguas de Microsoft SQL Server, y casi siempre es utilizado con bases de datos SQL, a pesar de que puede ser usado independientemente con otras bases de datos. Mecanismos de almacenamiento (MySQL)
ScaleDB es un mecanismo de almacenamiento enchufable para MySQL, que lo escala para poder disponer de la potencia del "cloud computing", ya sea esta pública, privada o interna a la empresa. Es un mecanismo pionero del NewSQL, que ofrece las ventajas de SQL y NoSQL, al mismo tiempo que permite el funcionamiento "in the cloud". Microsoft SQL Server
Las copias creadas por estas herramientas, pueden ser utilizadas como un respaldo disponible inmediatamente en caso de que el sistema falla, tanto como una réplica en un subsistema, independiente del sistema de origen, para equilibrio de carga; y que las actualizaciones se ejecuten en la base de datos, y las recuperaciones para los reportajes se ejecuten en la réplica. Microsoft SQL Server
A las tablas se puede crear índices. Los índices se almacenan junto a la tabla (Non Clustered Index) o son la tabla en sí (Clustered Index). Los índices asisten en la búsqueda de datos en las tablas (como los ficheros en las librerías), en ordenarlas, y la definición de claves primarias. SQL
Una sentencia "UPDATE" de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla. Lenguaje de manipulación de datos
El lenguaje de manipulación de datos más popular hoy en día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras. Microsoft SQL Server
A contrario de sistemas de bases de datos como Microsoft Access que son "pasivas" y contienen un archivo a cual hay que conectar y la ejecución de los comandos se lleva a cabo en el cliente (la computadora de usuario), en SQL Server hay número de servicios, software que están ejecutadas en la memoria del servidor por parte del sistema, y por lo tanto aprovechan las capacidades del servidor que es más potente que los clientes, previenen congestión en la red, y pueden programar tareas que corran aunque el cliente no está conectado. Sqlserver ce
Un proveedor de datos de .NET Compact Framework para SQL Server CE describe una colección de clases utilizada para tener acceso a una base de datos de SQL Server CE, los dispositivos basados en Windows CE o Windows Mobile obtienen mediante la invocación de este gestor un entorno administrado de base de datos similar a los grandes repositorios, tales como Informix u Oracle. Con SqlServerCe, se pueden crear bases de datos de SQL Server CE en un dispositivo móvil y establecer conexiones con las bases de datos de SQL Server que se encuentran en el dispositivo o en un servidor remoto.En un principio SQL Server Compact Edition era llamado SQL Server Everywhere Edition, pero las quejas de los usuarios por posibles conflictos con otros sistemas gestores llevó a Microsoft a cambiar el nombre por el que conocemos actualmente... Microsoft SQL Server
Adicionalmente a sus capacidades elementarías como herramienta de gestión de bases de datos relacionales (crear tablas, definir las relaciones entre ellas, gestión de transacciones, crear índices etc, SQL Server apoya una lista que aumenta de otras herramientas de servicio; aparte de herramientas de terceros que cambian o que completan lo que existe. ISO/IEC 9075
ISO/IEC 9075 : "Tecnologías de la Información - Lenguajes de bases de datos - SQL" es una norma ISO que describe SQL (por sus siglas en inglés Structured Query Language; en español Lenguaje de Consulta Estructurada). Microsoft SQL Server
Una vista se puede considerar una tabla virtual o una consulta almacenada. Los datos accesibles a través de una vista no están almacenados en un objeto distinto de la base de datos. Lo que está almacenado en la base de datos es una instrucción SELECT. El resultado de la instrucción SELECT forma la tabla virtual que la vista devuelve. El usuario puede utilizar dicha tabla virtual haciendo referencia al nombre de la vista en instrucciones Transact-SQL, de la misma forma en que se hace referencia a las tablas. Las vistas se utilizan para alguna de estas funciones, o para todas:  • Restringir el acceso del usuario a filas concretas de una tabla.  Por ejemplo, permitir que un empleado solo vea las filas que guardan su trabajo en una tabla de seguimiento de actividad laboral.  • Restringir el acceso del usuario a columnas específicas.  Por ejemplo, permitir que los empleados que no trabajen en el departamento de nóminas vean las columnas de nombre, oficina, teléfono y departamento de la tabla de empleados, pero no permitir que vean las columnas con los datos de salario u otra información personal.  • Combinar columnas de varias tablas de forma que parezcan una sola tabla.  • Agregar información en lugar de presentar los detalles.  Por ejemplo, presentar la suma de una columna o el valor máximo o mínimo de una columna. Inyección SQL
En la base de datos se ejecutaría la consulta en el orden dado, se seleccionarían todos los registros con el nombre 'Alicia', se borraría la tabla 'usuarios' y finalmente se seleccionaría toda la tabla "datos", que no debería estar disponible para los usuarios web comunes. En resumen, cualquier dato de la base de datos puede quedar disponible para ser leído o modificado por un usuario malintencionado. NoSQL
Implementaciones de NoSQL usadas en el mundo real incluyen los 3TB de los marcadores verdes de Digg (indicados para señalar las historias votadas por otros en la red social; aunque duró menos de 3 meses y fue abandonado); los 6 TB de la base de datos del “ENSEMBLE” de la Comisión Europea usado en los modelos de comparación y calidad del aire, y los 50 TB de la búsqueda de la bandeja de entrada de Facebook. Asignación objeto-relacional
Sin embargo, muchos productos populares de base de datos, como los Sistemas de Gestión de Bases de Datos SQL, solamente pueden almacenar y manipular valores escalares como enteros y cadenas, organizados en tablas normalizadas. El programador debe convertir los valores de los objetos en grupos de valores simples para almacenarlos en la base de datos (y volverlos a convertir luego de recuperarlos de la base de datos), o usar sólo valores escalares simples en el programa. El mapeo objeto-relacional es utilizado para implementar la primera aproximación. SQL
SQL fue uno de los primeros lenguajes comerciales para el modelo relacional de Edgar Frank Codd como se describió en su artículo de investigación de 1970 "El modelo relacional de datos para grandes bancos de datos compartidos". A pesar de no adherirse totalmente al modelo relacional descrito por Codd, pasó a ser el lenguaje de base de datos más usado. SQLJ
SQLJ es un estándar ISO (ISO/IEC 9075-10) para embeber sentencias SQL en programas de Lenguaje de programación Java. Mecanismos de almacenamiento (MySQL)
MySQL es un gestor de bases de datos relacional de licencia GPL. Una base de datos relacional desde un punto de vista lógico usa tablas para guardar los datos. Internamente un mecanismo de almacenamiento ("storage engine") es el encargado de almacenar en último término los datos de las tablas en dispositivos físicos, para que estos tengan durabilidad. El mecanismo es totalmente clave a la hora de evaluar la rapidez y las funcionalidades que puede ofrecer el SGBD. MySQL tiene la opción de incluir dinámicamente -desde MySQL 5.1- los distintos mecanismos para soportar el almacenamiento de las tablas. La mayoría de estos mecanismos se pueden instalar en desarrollos derivados de MySQL como MariaDB y Percona Server. Microsoft SQL Server
Una tecnología que fue agregada en 2005 que implementa arquitectura orientada a servicios, y que posibilita ejecuciones asíncronos: primero que nada para enviar mensajes entre distintas aplicaciones que se ejecutan simultáneamente, pero también para ejecutar procedimientos asíncronamente, en la manera de dispara y olvida - un procedimiento que se ejecuta en una sesión diferente de la sesión que lo inició, y ambos procedimientos siguen ejecutado independientemente uno del otro. Base de datos relacional
Un sistema de software utilizado para mantener las bases de datos relacionales es un "relational database management system" (RDBMS) o sistema de gestión de bases de datos relacionales. Virtualmente, todos los sistemas de bases de datos relacionales utilizan SQL (Structured Query Language) para consultar y mantener la base de datos.En una BDR, todos los datos se almacenan y se accede a ellos por medio de relaciones previamente establecidas. SQL*Plus
SQL*Plus opera como una herramienta relativamente simple con una interfaz de líneas de comando básica. Los programadores y los administradores de bases de datos (DBA's) lo usan de forma muy común como interfaz fundamental en la mayoría de las instalaciones de software de Oracle. SQL Server Compact
SQL Server Compact puede ser consumida tanto por aplicaciones .NET Framework y .NET Compact Framework como por aplicaciones nativas. El conjunto de clases que proporciona es muy extenso y abarca desde la creación de la base de datos y mantenimiento hasta la manipulación de datos.  //ejemplo de creación de un registro mediante SqlCeResultSet using (SqlCeConnection con = MySQL
HeidiSQL, anteriormente conocido como MySQL-Front, es un cliente libre y de código abierto, o frontend para MySQL (y para sus bifurcaciones como MariaDB y Percona Server), Microsoft SQL Server y PostgreSQL. HeidiSQL es desarrollado por el programador alemán Ansgar Becker y algunos otros colaboradores en Delphi. Para manejar bases de datos con HeidiSQL, los usuarios deben ingresar a un servidor MySQL local o remoto con credenciales aceptables, creando una sesión. Dentro de esta sesión los usuarios pueden manejar las bases de datos MySQL dentro del servidor MySQL conectado, desconectándose del servidor cuando haya terminado. Su conjunto de características es suficiente para las operaciones más comunes y avanzadas de bases de datos, tablas y registros de datos, pero permanece en desarrollo activo para avanzar hacia la funcionalidad completa que se espera en un Frontend MySQL. Asignación objeto-relacional
Los tipos de bases de datos usados mayoritariamente son las bases de datos SQL, cuya aparición precedió al crecimiento de la programación orientada a objetos en los 1990s. Las bases de datos SQL usan una serie de tablas para organizar datos. Los datos en distintas tablas están asociados a través del uso de restricciones declarativas en lugar de punteros o enlaces explícitos. Los mismos datos que pueden almacenarse en un solo objeto podrían requerir ser almacenados a través de varias tablas. Asignación objeto-relacional
Las bases de datos orientadas a objetos aún no han conseguido una alta aceptación y uso. Una de las principales limitaciones reside en que, cambiar de un sistema de administración de base de datos SQL a un sistema orientado totalmente a objetos implica que se pierde la capacidad de crear sentencias SQL, un método ya probado para obtener combinaciones específicas de datos. Por esta razón, muchos programadores se encuentran más a gusto trabajando con un sistema de mapeo de objetos y SQL, aun cuando la mayoría de las bases de datos comerciales orientadas a objetos son capaces de procesar consultas SQL de manera limitada. NoSQL
En ese sentido, a menudo, las bases de datos NoSQL están altamente optimizadas para las operaciones recuperar y agregar, y normalmente no ofrecen mucho más que la funcionalidad de almacenar los registros (p.ej. almacenamiento clave-valor). La pérdida de flexibilidad en tiempo de ejecución, comparado con los sistemas SQL clásicos, se ve compensada por ganancias significativas en escalabilidad y rendimiento cuando se trata con ciertos modelos de datos. Hibernate
Como todas las herramientas de su tipo, Hibernate busca solucionar el problema de la diferencia entre los dos modelos de datos coexistentes en una aplicación: el usado en la memoria de la computadora (orientación a objetos) y el usado en las bases de datos (modelo relacional). Para lograr esto permite al desarrollador detallar cómo es su modelo de datos, qué relaciones existen y qué forma tienen. Con esta información Hibernate le permite a la aplicación manipular los datos en la base de datos operando sobre objetos, con todas las características de la POO. Hibernate convertirá los datos entre los tipos utilizados por Java y los definidos por SQL. Hibernate genera las sentencias SQL y libera al desarrollador del manejo manual de los datos que resultan de la ejecución de dichas sentencias, manteniendo la portabilidad entre todos los motores de bases de datos con un ligero incremento en el tiempo de ejecución. SQL
En 1970, E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados. Basándose en estas ideas, los laboratorios de IBM definieron el lenguaje SEQUEL (Structured English Query Language) que más tarde fue ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un producto comercial. SQLite
SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores individuales. Por ejemplo, se puede insertar un "string" en una columna de tipo entero (a pesar de que SQLite tratará en primera instancia de convertir la cadena en un entero). Algunos usuarios consideran esto como una innovación que hace que la base de datos sea mucho más útil, sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven como un gran inconveniente, ya que la técnica no es portable a otras bases de datos SQL. SQLite no trataba de transformar los datos al tipo de la columna hasta la versión 3. SPARQL
Al igual que sucede con SQL, es necesario distinguir entre el lenguaje de consulta y el motor para el almacenamiento y recuperación de los datos. Por este motivo, existen múltiples implementaciones de SPARQL, generalmente ligados a entornos de desarrollo y plataforma tecnológicas. Microsoft SQL Server
Una herramienta para crear bases de datos multidimensionales (no relacionales), que se puede explorar mediante extracciones de datos en distintos niveles de agrupación, profundización (Drill Down) de una suma a sus detalles, y utilización de MDX (un lenguaje parecido a SQL, adaptado a bases de datos multidimensionales). SQL
En la actualidad SQL es el estándar "de facto" de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio. Microsoft SQL Server
SQL Server tiene la capacidad de enviar correos electrónicos a través del código. Esta funcionalidad se utiliza generalmente para enviar alertas sobre problemas en el sistema (por ejemplo si el uso de la CPU aumentó hasta un umbral predefinido o si el proceso ETL falló), pero también cuando el proceso terminó exitosamente. Inyección SQL
Sentencias condicionales con el tipo "Or 1=1" o "having 1=1" ofrecen respuestas "siempre correctas" (true o verdadero) por lo cual suelen ser usadas por los programadores como formas de comprobación. El problema para la seguridad de la página radica en que esta técnica es utilizada en combinación con diccionarios o fuerza bruta para la búsqueda, carácter por carácter, de una contraseña, un nombre de usuario, un número de teléfono o cualquier otra información que albergue la base de datos atacada; para ello se utiliza código SQL específico que "va probando" cada carácter consiguiendo un resultado positivo acumulable cuando hay una coincidencia. De esta manera se puede saber, por ejemplo, que una contraseña comienza por "F...", luego continúa con ".i...", y luego "..r...", etc (acumula "Fir..."), hasta dar con la palabra completa. Microsoft SQL Server
El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL (TSQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL). Microsoft SQL Server
Una CAL de dispositivo da acceso a un dispositivo. Esto significa que todos los usuarios de este dispositivo pueden iniciar sesión para acceder al servidor. A menudo, esto solo es beneficioso cuando hay más usuarios que dispositivos dentro de una organización,Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños, que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition, que es una edición que se distribuye en forma "gratuita". Base de datos
El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, "Structured Query Language" o "Lenguaje Estructurado de Consultas", un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Microsoft SQL Server
T-SQL (Transact-SQL) es el principal medio de interacción con el Servidor, el cual permite realizar las operaciones claves en SQL Server, incluyendo la creación y modificación de esquemas de base de datos, inserción y modificación de datos en la base de datos, así como la administración del servidor como tal. Esto se realiza mediante el envío de sentencias en T-SQL y declaraciones que son procesadas por el servidor y los resultados (o errores) regresan a la aplicación cliente. Null (SQL)
Los valores lógicos ternarios de SQL se encuentran en el Lenguaje de Manipulación de Datos (LMD) en comparaciones predicadas de afirmaciones LMD y dudas frecuentes. La proposición WHERE (DONDE) propicia que la declaración LMD actúe sólo en aquellas filas para las cuales los cálculos de predicados evalúan la Verdad. Las filas para las cuales estos cálculos evalúan si son Falsas o Desconocidas no derivan de declaraciones DML como INSERT, UPDATE o DELETE, y son desechados a partir de preguntas SELECT. Interpretando Desconocido y Falso como el mismo resultado lógico es un error común encontrado cuando tratamos con Nulls. El siguiente ejemplo lo demuestra: SELECT *  FROM t  WHERE i = NULL; El ejemplo arriba planteado siempre devuelve lógicamente ceros a las filas debido a que la comparación entre la columna i con Null siempre devuelve un valor Desconocido, incluso para aquellas filas en las que i es Null. El resultado Desconocido causa la declaración SELECT para desechar todas y cada una de las filas (De todas formas, en la práctica, las herramientas SQL recuperarán las filas utilizando la comparación con Null). MySQL
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual: Licencia pública general/Licencia comercial por Oracle Corporation y está considerada como la base de datos de código abierto más popular del mundo, y una de las más populares en general junto a Oracle y Microsoft SQL Server, todo para entornos de desarrollo web. Cifrado de datos transparente
SQL Server utiliza una jerarquía de cifrado que permite compartir bases de datos dentro de un clúster o migrar a otras instancias sin volver a cifrarlas. La jerarquía consta de una combinación de cifrados simétricos y asimétricos:Durante las copias de seguridad de la base de datos, la compresión se produce después del cifrado. Debido al hecho de que los datos fuertemente cifrados no se pueden comprimir. Las copias de seguridad de la bases de datos cifradas TDE requieren recursos adicionales. Base de datos en memoria
SQL Server utiliza la API de las Extensiones de ventana de dirección (AWE) para admitir los tamaños de memoria física muy grandes. SQL Server admite hasta un máximo de 64 GB de memoria física en sistemas operativos Microsoft Windows de 32 bits: Microsoft Windows XP Professional; Windows 2000Standar Edition; Windows 2000 Advanced Server; Windows 2000 Datacenter Server; Windows Server 2003 Enterprise Edition; o Windows Server 2003 Datacenter Edition. SQL Server asigna de forma dinámica memoria AWE asignada cuando se ejecuta con cualquiera de las ediciones del sistema operativo Windows Server 2003. En otras palabras, el grupo de búferes puede administrar dinámicamente memoria AWE asignada para equilibrar el uso de memoria de SQL Server con los requisitos globales del sistema. AWE soluciona una limitación inherente a las aplicaciones de 32 bits: éstas no pueden tener acceso a más de 4 gigabytes (GB) de espacio de direcciones del proceso. (Un puntero de 32 bits no puede mantener una dirección de memoria mayor que 4 GB). Con AWE, las aplicaciones pueden reservar directamente memoria física hasta la cantidad máxima permitida por el sistema operativo como memoria no paginada. El uso de AWE permite a SQL Server copiar en caché más información, en vez de leerla desde los archivos de paginación del sistema en el disco. A su vez, esto proporciona beneficios de rendimiento con un acceso a datos más rápido y reduce la frecuencia de acceso al disco. MySQL
SQLyog es una herramienta GUI disponible tanto en versión gratuita como de pago. Las manipulaciones de datos (por ejemplo, insertar, actualizar y eliminar) pueden realizarse desde una interfaz similar a una hoja de cálculo. Su editor tiene resaltado de sintaxis y varias opciones de formato automático. Se pueden manipular tanto los datos de la tabla en bruto como el conjunto de resultados de una consulta. Su función de búsqueda de datos utiliza una sintaxis de búsqueda similar a la de Google y se traduce a SQL de forma transparente para el usuario. Cuenta con una herramienta de respaldo para realizar copias de seguridad desatendidas. Las copias de seguridad pueden ser comprimidas y opcionalmente almacenadas como un archivo por tabla, así como identificadas con una marca de tiempo. Microsoft SQL Server
Con el fin de mejorar el rendimiento del sistema hay que mantener las estadísticas, utilizadas por el optimizador, organizar los archivos físicos, etc; y se utilizan herramientas dedicadas para estos propósitos, que se ejecutan periódicamente por tareas programadas, y de una manera coordinada con las tareas de ETL y de respaldo. SQL
Hay varias razones para esta falta de portabilidad entre sistemas de bases de datos:El estándar ODBC (Open Database Connectivity) permite acceder a la información desde cualquier aplicación independientemente del sistema de gestión de base de datos (DBMS) en el que esté almacenada la información, desacoplando así la aplicación de la base de datos. PureXML
El sistema de gestión de base de datos DB2 incluye dos distinto mecanismos de almacenamiento: uno para el manejo eficiente de tipos de datos SQL tradicionales, y otro para el manejo de datos XML. EL mecanismo base de almacenamiento es claro y fácil de entender para los usuarios y aplicaciones; ya que simplemente usan SQL (incluyendo SQL con extensiones de XML o SQL/XML) o bien XQuery para trabajar con los datos. NewSQL
NewSQL es una clase de sistemas modernos de gestión de bases de datos relacionales que tratan de conseguir el mismo rendimiento escalable de sistemas NoSQL para el procesamiento de transacciones en línea (lectura-escritura), manteniendo durante las cargas de trabajo las garantías ACID de un sistema de base de datos tradicional. El término fue utilizado por primera vez por el analista Matthew Aslett de 451 Group en un trabajo de investigación en 2011, discutiendo la aparición de nuevos sistemas de base de datos como aspirantes a los "vendors" establecidos. Muchos sistemas empresariales que manejan datos de alto perfil (por ejemplo, financieras) también debían ser capaces de escalar, pero no son capaces de utilizar las soluciones NoSQL porque no pueden renunciar a los altos requerimientos transaccionales y de consistencia. Crystal Reports
Éstos son como fórmulas, pero escritos en SQL, y no en el lenguaje de fórmula de Crystal Reports. Los enunciados de SQL son usados, entre otras cosas, para obtener un conjunto específico de datos de una base de datos, pudiendo ordenar, agrupar y seleccionar datos, basándose en campos de enunciados SQL. Null (SQL)
SQL define las funciones agregadas para simplificar cálculos agregados de datos del servidor. Casi todas las funciones agregadas realizan un paso de eliminación Null, de modo que los valores Null no sean incluidos en el resultado final del cálculo. Esta eliminación implícita Null, sin embargo, puede influir en los resultados de funciones agregadas. La tabla ejemplificada a continuación deriva resultados diferentes siendo devueltos a cada columna cuando la función agregada SQL AVG (media) es aplicada: Modelo de base de datos
La mayoría de bases de datos orientadas a objetos (introducidas en 1990) usan el concepto de navegación para proporcionar acceso rápido entre objetos en una red. Objectivity/DB, por ejemplo, implementa 1:1, 1:N, N:1 y N:N entre distintas bases de datos. Muchas bases de datos orientadas a objetos también soportan SQL, combinando así la potencia de ambos modelos. NonStop SQL
El producto principalmente se utiliza procesamiento de transacciones on-line y es adaptado para organizaciones que requieren disponibilidad alta y escalabilidad para su sistema de base de datos. Los usuarios típicos del producto son bolsas de valores, telecomunicaciones, bancos, POS, y redes ATM. Null (SQL)
Las expresiones CASE de SQL funcionan conforme a las mismas reglas que las del DMS WHERE para Null. Debido a que puede ser evaluado como una serie de condiciones de comparación de igualdad, una expresión de CASE simple no puede comprobar la existencia de Null directamente. Una comprobación de la existencia de Null en una expresión CASE simple siempre resulta Desconocida, como a continuación: SELECT CASE i WHEN NULL THEN 'Es Null' -- Esto nunca será devuelto. FROM t; Como la expresión i = NULL evalúa a Desconocido sin importar el valor que la columna i contenga (incluso si contiene el Null), el resultado ' ES NULL ' nunca será devuelto. Una expresión de CASE buscada también devuelve el primer valor para el cual el resultado de la comparación predicada evalúa la Verdad, incluyendo comparaciones predicadas que usan el “ES NULL” Y “NO ES NULL”. El ejemplo siguiente muestra cómo usar una expresión CASE buscada para comprobar el Null: SELECT CASE WHEN i IS NULL THEN 'Es Null' -- Esto será devuelto cuando i es NULL FROM t; En la expresión CASE buscada, ' el Resultado Null ' es devuelta para todas las filas en las cuales i es Null. Microsoft SQL Server
Aparte de estos, se puede utilizar 2 tipos de Triggers (disparadores) para rastrear los cambios y las actividades: DML Triggers pre definidos sobre las tablas y las vistas y que se inician por instrucciones de actualización de datos (Select / Update / Delete), y DDL Triggers que se inician por cambios en los objetos mismos (y no en los datos), en el nivel de la base de datos o del servidor. Null (SQL)
Como SQL:2003 define todos los marcadores Null como desiguales entre sí, requirieron una definición especial para agrupar las Null en la realización de ciertas operaciones. SQL define "cualquiera de los dos valores que sean iguales el uno al otro, o cualquier pareja de Nulls", como "no distinto". Esta definición de no distinto permite a SQL agrupar y clasificar los Nulls cuando la cláusula GROUP BY (y otras palabras clave que realizan la agrupación) es usada. Microsoft SQL Server
Los procedimientos almacenados pueden facilitar en gran medida la administración de la base de datos y la visualización de información sobre dicha base de datos y sus usuarios. Los procedimientos almacenados son una colección precompilada de instrucciones SQL e instrucciones de control de flujo opcionales almacenadas bajo un solo nombre y procesadas como una unidad. Los procedimientos almacenados se guardan en una base de datos; se pueden ejecutar desde una aplicación y permiten variables declaradas por el usuario, ejecución condicional y otras funciones eficaces de programación. Los procedimientos almacenados pueden contener flujo de programas, lógica y consultas a la base de datos. Pueden aceptar parámetros, proporcionar resultados de parámetros, devolver conjuntos de resultados individuales o múltiples y devolver valores. Ofuscación SQL
Las consultas con codificación HEX se usan a menudo contra MySQL y MS SQL Server como métodos avanzados de conversión de binario a hexadecimal para entregar una carga a un sistema de destino a través de comandos SQL. Una vez que la carga útil está en el sistema de destino, convierte de formato hexadecimal a un ejecutable binario y luego se ejecuta. SQL:2008
SQL:2008 es la sexta revisión del estándar ISO y ANSI para el lenguaje de bases de datos SQL. Se adoptó formalmente en julio de 2008. Bacula
Los componentes de Bacula: generalmente usado en sistemas u organizaciones donde la información es ingresada desde un dispositivo o punto final de red (PC de escritorio), transporta parte de sus datos a un servidor directamente desde la dirección IP. Todo el conjunto de elementos que forman Bacula trabaja en sincronía y es totalmente compatible con bases de datos como MySQL, SQLite y PostgreSQL. SQL:1999
El estándar SQL:1999 llama a un tipo booleano, pero muchos servidores SQL comerciales (Oracle Database, IBM DB2) no lo admiten como un tipo válido de columna, un tipo de variable o para permitirlo en el conjunto de resultados. Microsoft SQL Server es uno de los pocos sistemas de bases de datos que soporta correctamente los valores de tipo booleano usando su tipo de datos "BIT". Cada 8 campos BIT ocupa un byte completo de espacio en el disco. MySQL interpreta "BOOLEAN" como sinónimo de TINYINT (entero con signo de 8 bits). PostgreSQL proporciona un tipo booleano de conformidad estándar. NoSQL
Típicamente las bases de datos relacionales modernas han mostrado poca eficiencia en determinadas aplicaciones que usan los datos de forma intensiva, incluyendo el indexado de un gran número de documentos, la presentación de páginas en sitios que tienen gran tráfico, y en sitios de streaming audiovisual. Las implementaciones típicas de SGBDR se han afinado o bien para una cantidad pequeña pero frecuente de lecturas y escrituras o para un gran conjunto de transacciones que tiene pocos accesos de escritura. Por otro lado NoSQL puede servir gran cantidad de carga de lecturas y escrituras. FSQL
Básicamente consiste en añadir al lenguaje SQL un conjunto de comparadores difusos tales como "igual difuso" o parecido, "posiblemente mayor", "posiblemente menor", "necesariamente mayor"... en los que usa la teoría de la posibilidad y necesidad. PL/SQL
Los programas o paquetes de PL/SQL se pueden almacenar en la base de datos como otro objeto, y todos los usuarios que estén autorizados tienen acceso a estos paquetes. Los programas se ejecutan en el servidor para ahorrar recursos a los clientes. Base de datos bibliográfica
Posteriormente en la época de los 80 también se desarrollará el SQL (Structured Query Language) o lo que es lo mismo un lenguaje de consultas o lenguaje declarativo de acceso a bases de datos relacionales que permite efectuar consultas con el fin de recuperar información de interés de una base de datos y hacer cambios sobre la base de datos de forma sencilla; además de analiza grandes cantidades de información y permitir especificar diversos tipos de operaciones frente a la misma información, a diferencia de las bases de datos de los años ochenta que se diseñaron para aplicaciones de procesamiento de transacciones. MyODBC
Open Database Connectivity (ODBC) es una API estandarizada que permite la conexión a los servidores de base de datos SQL. Se basa en la interfaz de nivel de llamada CLI, especificaciones de X / Open y ISO / IEC para los API de bases de datos y usa el lenguaje estructurado de consultas SQL como lenguaje de acceso a la base de datos. MyODBC
Ha sido desarrollado de acuerdo a las especificaciones de SQL Access Group y define un conjunto de llamadas a funciones, los códigos de error y tipos de datos que se pueden utilizar para desarrollar aplicaciones de base de datos independiente. ODBC por lo general se utiliza cuando la independencia de base de datos o el acceso simultáneo a diferentes fuentes de datos lo requiere. Microsoft SQL Server
SQL es un lenguaje declarativo, en el cual el desarrollador declara que quiere extraer o actualizar sin la necesidad de indicar cómo (a contrario de los lenguajes imperativos, y por lo tanto el optimizador juega un papel protagónico, que de acuerdo con las estadísticas que el sistema almacena sobre las distribuciones de los datos en las tablas, los índices, y reglas internas; toma la decisión adecuada. Glob
Si bien dicha función tiene estrictas reglas de uso en programación, su utilidad es fácilmente comprensible para la mayoría de los programadores al punto tal que forma parte intrínseca del shell de muchos sistemas operativos (MS-DOS, GNU/Linux) e incluso otros lenguajes como SQL en su Lenguaje de manipulación de datos (DML "Data Manipulation Language"), Pascal y Python. Microsoft SQL Server
Aparte de las interfaces estándares de SQL Server, se puede ejecutar comandos de TSQL con herramientas de conexión como ODBC y OLE-DB. ISO/IEC 9075:2016
En 1986 ANSI publicó la primera versión del estándar estadounidense SQL. Un año después SQL era publicado como un estándar internacional por parte de ISO. A lo largo de su vida SQL ha sido el lenguaje más utilizado para el desarrollo de una gran cantidad de Sistema de gestión de bases de datos relacionales. Sin embargo, estos últimos años ha aparecido un nuevo competidor, las bases de datos NoSQL, para intentar imponerse al lenguaje de consulta estructurado. Base de datos bibliográfica
El software encargado del almacenamiento, organización y recuperación de la información almacenada en una base de datos se llama Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés). Los DBMS más populares son Oracle, INFORMIX, SQL Server, PROGRESS y MySQL entre otros, que utilizan un modelo llamado Modelo Relacional en el cual la información se almacena en tablas llamadas entidades, las que se relacionan unas con otras a través de campos comunes llamados campos llave. Las ventajas de este modelo de base de datos es que se reduce la redundancia, se aumenta la consistencia de la información y se permite el compartir los datos. Inyección SQL
Inyección SQL es un método de infiltración de código intruso que se vale de una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas para realizar operaciones sobre una base de datos. SugarCRM
Tiene cinco ediciones, una de ellas libre y otras cuatro ediciones con componentes no-libres y con un costo por usuario. SugarCRM es una aplicación CRM muy completa para negocios de distinto tamaño. Está diseñada para facilitar la gestión de ventas, oportunidades, contactos de negocios y más. A partir de la versión 4.5 permite utilizar SQL Server como base de datos; y la empresa ha firmado acuerdos con Microsoft para poder expandir su mercado sobre servidores con Windows. Lenguaje de definición de datos
Create - Sirve para crear una nueva base de datos, tabla, índice, o procedimiento almacenado. Una sentencia CREATE en SQL crea un objeto dentro de un sistema de gestión de bases de datos relacionales (RDBMS). Los tipos de objetos que se pueden crear dependen del RDBMS que esté siendo utilizado, pero la mayoría soportan la creación de tablas, índices, usuarios, sinónimos y bases de datos. Algunos sistemas (como PostgreSQL) permiten CREATE, y otros comandos DDL, en el interior de una transacción y por lo tanto puede ser revertido. Otras que se incluyen dentro del DDL, pero que su existencia depende de la implementación del estándar SQL que lleve a cabo el gestor de base de datos son GRANT y REVOKE, los cuales sirven para otorgar permisos o quitarlos, ya sea a usuarios específicos o a un rol creado dentro de la base de datos. PL/PgSQL
PL/pgSQL (Procedural Language/PostgreSQL Structured Query Language) es un lenguaje imperativo provisto por el gestor de base de datos PostgreSQL. Permite ejecutar comandos SQL mediante un lenguaje de sentencias imperativas y uso de funciones, dando mucho más control automático que las sentencias SQL básicas. Null (SQL)
Otras operaciones SQL, cláusulas, y palabras clave usan "no distinto" en su tratamiento de Nulls. Estos incluyen lo siguiente:El estándar SQL no define explícitamente por defecto la clase de orden para los Null. En cambio, sobre sistemas conformados, los Nulls pueden ser clasificados antes o después de todos los valores de datos mediandte el uso de las cláusulas NULLS FIRST o NULLS LAST de la lista ORDER BY, respectivamente. No todos los vendedores de DBMS ponen en práctica esta funcionalidad pese a todo. Los vendedores que no ponen en práctica esta funcionalidad pueden especificar tratamientos diferentes para la clasificación de Null en el DBMS. Lenguaje de definición de datos
A diferencia de muchos lenguajes de descripción de datos, SQL utiliza una acción de versos imperativo cuyo efecto es modificar el esquema de la base de datos, añadiendo, cambiando o eliminando las declaraciones se pueden mezclar libremente con otras sentencias SQL, por lo que el DDL no es realmente una lengua independiente. La declaración más común es CREATE TABLE. El lenguaje de consulta SQL, el más difundido entre los gestores de bases de datos, admite las siguientes sentencias de definición: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las "tablas", "vistas", "procedimientos almacenados" y "triggers" de la base de datos Null (SQL)
SQL/PSM (SQL Módulos Persistentes Almacenados) define extensiones procesales para SQL, como la declaración IF. Sin embargo, las principales comercializaciones de SQL, históricamente han incluido sus extensiones procesales propias. Las extensiones procesales para la formación de bucles y comparaciones funcionan bajo las reglas de comparación Null, similares a las declaraciones DML e interrogaciones. El siguiente fragmento de código, en formato estándar ISO SQL, demuestra el empleo del Null 3VL en una declaración IF. IF i = NULL THEN ELSEIF NOT(i = NULL) THEN ELSE La declaración IF realiza acciones sólo para aquellas comparaciones que evalúan la Verdad. Para las declaraciones que evalúan la Falsedad o Desconocimiento, la declaración IF pasa el control de la cláusula ELSEIF, y finalmente la cláusula ELSE. El resultado de éste código, siempre será el mensaje 'Resultado es Desconocido' ya que las comparaciones con Null siempre evalúan el Desconocimiento. Función definida por el usuario
Usuario-definió las funciones en SQL están declaradas utilizando la declaración codice_1. Por ejemplo, una función que convierte Celsius a Fahrenheit podría ser declarado así: CREATE FUNCTION dbo.CtoF(Celsius FLOAT) Una vez creada, una función definida por el usuario puede ser utilizada en expresiones en declaraciones de SQL. Por ejemplo, pueda ser invocado dónde la mayoría otras funciones intrínsecas están dejadas. Esto también incluye declaraciones SELECT, donde la función puede ser utilizada contra los datos almacenaron en mesas en la base de datos. Conceptualmente, la función está evaluada una vez por fila en tal uso. Por ejemplo, suponer una mesa nombró ELEMENTOS, con una fila para cada elemento químico sabido. La mesa tiene una columna nombró BoilingPoint para el punto de hervir de aquel elemento, en Celsius. La consulta SELECT Name, CtoF(BoilingPoint) Recuperaría el nombre y el punto de hervir de cada fila. Invoca el CtoF función definida por el usuario cuando declaró encima para convertir el valor en la columna a un valor en Fahrenheit. Mecanismos de almacenamiento (MySQL)
El principal objetivo del mecanismo de almacenamiento Cassandra SE es la integración de datos entre el mundo SQL y el NoSQL al que pertenece la base de datos Cassandra. Permite:La base de datos Cassandra utiliza el lenguaje CQL, pero en MariaDB 10.0 será posible interrogarla utilizando SQL. Esto permite que las columnas de Cassandra aparezcan como tablas en las que se pueden realizar INSERT, UPDATE o SELECT. Es posible también escribir JOIN incluyendo tablas que usen otros mecanismos de almacenamiento. PL/SQL
Se usan para agrupar procedimientos y funciones. Facilitan la descomposición modular y el mantenimiento. SQL
SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones. Ofuscación SQL
Por ejemplo, la ofuscación de sentencias de SQL (nos referimos a esto más tarde como ofuscación de SQL) es muy común como un medio para eludir los firewalls de aplicaciones web (WAF) y ejecutar ataques de inyección SQL, y confundir las soluciones de monitoreo de actividad de base de datos, (DAM) que analizan el tráfico de la base de datos SQL Esta técnica es común entre atacantes, herramientas de automatización y pen testers para ejecutar implícitamente comandos SQL contra bases de datos. Microsoft SQL Server
Es una versión de SQL Server en la nube, que permite pagar mensualmente por el servicio sin la necesidad de mantener un servidor físico (On Premise). La empresa paga solo por el servicio, y el servicio es manejado a través de torres de servidores en distintos lugares en el mundo. Open SQL
Open SQL es un derivado SQL patentado que proviene de la compañía SAP . SAP tiene la intención de proporcionar un dialecto SQL unificado para todas las bases de datos compatibles con SAP. Open SQL es parte del lenguaje de programación ABAP . También hay una versión (menos significativa) para Java .  El uso de Open SQL requiere un servidor de aplicaciones SAP ABAP o Java. Además, todas las tablas de bases de datos utilizadas deben crearse en el Diccionario SAP. SQL
En nuestro ejemplo, se desea consultar un coche en concreto, para esto se agregó una cláusula WHERE. Esta cláusula especifica una o varias condiciones que deben cumplirse para que la sentencia SELECT devuelva los datos. En este caso la consulta devolverá solo los datos del coche con matrícula para que la consulta devuelva solo los datos del coche con matrícula codice_1o bien la matrícula codice_2 . Se puede utilizar la cláusula WHERE solamente, o en combinación con tantas condiciones como queramos. SELECT FROM WHERE Una condición WHERE puede ser negada a través del Operador Lógico NOT. La Siguiente consulta devolverá todos los datos de la tabla Coches, menos el que tenga la Matrícula codice_3. SELECT FROM WHERE La siguiente consulta utiliza la condicional DISTINCT, la cual nos devolverá todos los valores distintos formados por los campos "marca y modelo". de la tabla "coches". SELECT DISTINCT marca, modelo FROM coches; La cláusula" ORDER BY" es la instrucción que nos permite especificar el orden en el que serán devueltos los datos. Podemos especificar el orden de forma ascendente o descendente a través de las palabras clave ASC y DESC. El orden depende del tipo de datos que estén definidos en la columna, de forma que un campo numérico será ordenado como tal, y un alfanumérico se ordenará de la A a la Z, aunque su contenido sea numérico. El valor predeterminado es ASC si no se especifica al hacer la consulta. Función definida por el usuario
En bases de datos de SQL, una función definida por el usuario proporciona un mecanismo para extender la funcionalidad del servidor de base de datos añadiendo una función que puede ser evaluado en declaraciones de SQL. El estándar de distingue entre escalar y funciones de tabla. Una función escalar devuelve únicamente sólo un valor simple (o NULL), mientras que una función de tabla regresa una tabal(relacional) somete comprender cero o más filas, cada fila con uno o más columnas. SQL
El lenguaje de definición de datos (en inglés "Data Definition Language", o "DDL"), es el que se encarga de la modificación de la estructura de los objetos de la base de datos. Incluye órdenes para modificar, borrar o definir las tablas en las que se almacenan los datos de la base de datos. Existen cuatro operaciones básicas: CREATE, ALTER, DROP y TRUNCATE. Base de datos
Las consultas a la base de datos se realizan a través de un Lenguaje de manipulación de datos, el lenguaje de consultas a base de datos más utilizado es SQL. Microsoft SQL Server
A nivel de la base de datos, el usuario se identifica como un User que está relacionado generalmente al Login (que es a nivel del servidor), y los privilegios al User existen solamente en el ámbito de la base de datos (además a los privilegios al Login). Para otorgar derechos generales puede asistirse con listas de Server Roles (roles a nivel del servidor) o Database Roles (roles a nivel de la base de datos específica), cada cual con privilegios específicos a un rol específico; y cada usuario asociado con uno de estos Roles obtiene los privilegios asociados con él. Además, el administrador puede otorgar derechos specificos, y crear otros Database Roles (no se puede crear Server Roles).