Bases de Datos


Historia de las bases de datos

El propósito de las bases de datos surge con la necesidad de registrar y almacenar datos. Por muchos años la mejor forma de hacer esto consistía en un archivo de documentos en papel, pero pronto esto se volvió ineficiente, pues lo siguiente después de guardar datos es poderlos consultar fácilmente.

Hacer una búsqueda puede ser un proceso relativo, pues si tienes muchos tipos de datos podrías querer buscar a partir de cualquiera de ellos. Esto es lo que fundamenta la teoría de bases de datos. Imagina tener un archivo gigante de historias clínicas en un hospital, y que no haya una forma fácil de encontrar la de un paciente específico. Si no existe un proceso de indexación de la información podríamos pensar en buscar las historias de muchas maneras y tardar mucho en encontrar.

Actualmente existen diferentes tipos de bases de datos que permiten hacer consultas y escalar rápidamente.

Tipos de bases de datos


Hay bases de datos relacionales, como MySQL, SQL Server y Oracle. Como su nombre lo indica utilizan el modelo relacional y siempre es mejor usarlas cuando los datos son consistentes y ya tienes algo planificado.

También existen las no relacionales, como MongoDB y Redis, conocidas como NO-SQL (Not Only SQL). Estas son más flexibles en cuanto a consistencia de datos y se han convertido en una opción que intenta solucionar algunas limitaciones que tiene el modelo relacional.

Además hay otras BBDD no tan tradicionales, como las basadas en grafos o aquellas que tienen información cartográfica, que pueden servir, por ejemplo, si estás creando un e-commerce para encontrar relaciones entre los productos y las preferencias de los usuarios.

Tener un buen diseño de base de datos desde el comienzo te puede ayudar a ahorrar tiempo. Las bases de datos relacionales y no relacionales se organizan de formas diferentes y trabajan con tipos de datos distintos, así que es importante entender cómo se diseña cada una. En el caso de bases de datos relacionales se trabaja con el estándar SQL, que se usa para actualizar o recuperar datos.

Un ejemplo claro para entender las bases de datos es el funcionamiento de una aerolínea. Todas las aerolíneas tienen aplicaciones para hacer reservas y trabajan con diferentes rutas. Todas las personas que van a viajar tienen que proveer datos para hacer una reservación de una ruta específica, por ejemplo la fecha en que van a viajar. Para esto se hace necesario un repositorio en el que se pueda almacenar esta información y se pueda cruzar, además, con una cantidad de sillas por avión. Una base de datos permite no redundar en los datos.

Puede emitir sentencias SQL directamente a la base de datos del panel Consulta SQL de QMF. El panel Consulta SQL da soporte a todas las sentencias SQL que pueden ejecutarse dinámicamente.

En este capítulo se describen palabras clave y sentencias SQL específicas que se utilizan en las consultas SQL de QMF.
Al escribir una consulta en el panel Consulta SQL, recuerde:
Especificar las palabras reservadas entre comillas.

En muchos casos, las palabras que son palabras clave en sistemas de gestión de bases de datos no se pueden utilizar como nombre de tabla, vista, columna o índice en una consulta SQL de QMF, a menos que se delimiten entre comillas dobles.
Indicar entre comillas dobles cualquier parte de un nombre de objeto que se expanda en dos o más líneas.
Cuando cualquier parte de un nombre de objeto (la ubicación, el ID de autorización, o el propio nombre del objeto) continúa en una nueva línea, esa parte del nombre debe delimitarse por comillas dobles. La figura siguiente muestra un ejemplo de un nombre de objeto largo que ocupa dos líneas. El nombre está calificado cun un ID de autorización que también abarca dos líneas.

Activar el soporte de varias sentencias y utilizar la sintaxis correcta si la consulta contiene más de una sentencia SQL.

Para incluir varias sentencias SQL en una consulta SQL de QMF, establezca la variable global DSQEC_RUN_MQ en 1 y ponga un punto y coma al final de cada sentencia, excepto la última.

Las sentencias CREATE PROCEDURE y CALL se deben utilizar solas en una consulta.

No se puede utilizar más de una sentencia SELECT en una consulta que incluya otras sentencias SQL.

Cuando la consulta SQL hace referencia a un nombre de tabla o vista sin cualificar, QMF envía el nombre no cualificado a DB2 para su resolución. DB2 utiliza el valor del registro CURRENT SCHEMA para cualificar el nombre de tabla o vista. QMF le permite emitir sentencias SET CURRENT SCHEMA para cambiar el valor de este registro.

AÑADIR

El usuario puede añadir columnas a una tabla sólo si él mismo ha creado la tabla o si está autorizado específicamente para hacerlo.

ALL

Generalmente, una subconsulta devuelve un solo valor. Sin embargo, es posible que una consulta devuelva un conjunto de valores. Con ALL, se ha de cumplimentar cada valor del conjunto devuelto.

ALTER TABLE

El usuario puede modificar una tabla sólo si él mismo ha creado la tabla o si está autorizado específicamente para hacerlo. La sentencia ALTER TABLE especifica la tabla existente que ha de modificarse.

AND

Puede seleccionar filas según múltiples condiciones conectadas mediante AND u OR.
ANY
Generalmente, una subconsulta devuelve un solo valor. Sin embargo, es posible que una consulta devuelva un conjunto de valores.

AS

Puede utilizar una cláusula AS en una sentencia SELECT para denominar o redenominar una columna del resultado en una consulta. El nombre no debe estar calificado y no es necesario que sea exclusivo.

AVG

AVG es una función de columna que únicamente es válida en columnas que contienen datos numéricos.

BETWEEN x AND y

Puede recuperar datos de cada fila cuya columna, nombrada en una cláusula WHERE, tenga un valor comprendido entre dos límites. Utilice BETWEEN en lugar de la condición AND cuando use los operadores mayor que o igual a (>=) y menor que o igual a (<=).

CALL

Para ejecutar un procedimiento almacenado desde dentro de una sesión de QMF, debe emitir una sentencia CALL desde el panel Consulta SQL. La base de datos a la que se dirige la sentencia CALL debe dar soporte a la capacidad de llamar a un procedimiento almacenado.

COMMIT

La sentencia COMMIT aplica todos los cambios de base de datos que se han realizado durante la unidad de trabajo que contiene la sentencia de confirmación.

COUNT

La función COUNT sólo cuenta los valores no nulos. Por esto, el tipo de datos del resultado de la función COUNT siempre tiene el atributo NOT NULL.

CREATE SYNONYM

La sentencia CREATE SYNONYM define un nombre alternativo para una tabla o vista. Esto le permite hacer referencia a una tabla cuyo propietario es otro usuario sin tener que entrar el nombre completamente calificado.

CREATE TABLE

La sentencia CREATE TABLE define una tabla. El usuario proporciona el nombre de la tabla y los nombres y atributos de sus columnas. También puede otorgar o revocar la autorización para que otras personas utilicen una tabla que ha creado.

CREATE VIEW

Una vista es una tabla lógica que contiene datos seleccionados de tablas existentes. La vista puede cambiar el nombre de las columnas y volver a ordenarlas, omitir columnas o filas que no se deseen, definir columnas por expresiones, agrupar resultados y combinar más de una tabla.

SUPRIMIR

El usuario puede suprimir filas de una tabla solamente si la ha creado él mismo o si está específicamente autorizado para hacerlo. Puede suprimir información de una tabla por filas. No se pueden suprimir campos individuales ni columnas completas de información.
DISTINCT

Utilice la palabra clave DISTINCT antes de los nombres de columna en una sentencia SQL para evitar que se seleccionen filas duplicadas.

DROP

La sentencia DROP borra tablas, vistas, sinónimos, alias y otros objetos (como índices) de la base de datos.

EXISTS

La sentencia EXISTS determina si existe una fila que satisfaga una determinada condición.

GRANT

La sentencia GRANT proporciona a los usuarios autorización para realizar una o más operaciones con una tabla.

GROUP BY

La sentencia GROUP BY identifica una columna seleccionada para utilizarla para agrupar resultados. Divide los datos en grupos por los valores de la columna especificada, y devuelve una fila de resultados para cada grupo.

HAVING

La cláusula HAVING filtra los resultados obtenidos por la cláusula GROUP BY. En el siguiente ejemplo, la cláusula HAVING COUNT(*) > 4 elimina del resultado final todos los departamentos con cuatro miembros o menos.

IN

Utilice la sentencia IN para recuperar filas que coincidan como mínimo con un valor de un grupos de valores especificado.

INSERT

INSERT es una sentencia SQL que añade datos a una tabla.

IS

La palabra clave IS se utiliza sólo con NULL y NOT NULL.

LIKE

LIKE sólo se puede utilizar con datos de tipo carácter, gráficos y binarios en consultas SQL y sólo con datos de tipo carácter y gráficos en consultas QBE.

MAX y MIN

MAX y MIN funcionan en las columnas que contienen datos de tipo carácter, gráficos, numéricos, de fecha/hora y binarios (excepto para datos de objeto binario grande, o BLOB).

NOT

Puede excluir datos utilizando la palabra clave NOT en la cláusula WHERE de la consulta.

NULL

Si se crea una tabla y sólo se rellena parcialmente con datos, los campos que no contengan datos se considerarán nulos, lo que significa que se desconocen sus valores.

OR

Puede seleccionar filas basándose en varias condiciones conectadas mediante OR. Las condiciones conectadas mediante OR seleccionan cada fila que cumple una de las condiciones.

ORDER BY

Como parte de la sentencia SELECT de SQL, puede especificar la secuencia en la que deben visualizarse las filas seleccionadas. También puede eliminar las filas duplicadas de una selección.

REVOKE

La sentencia REVOKE elimina la autorización otorgada por una sentencia GRANT.

SELECT

Con la sentencia SELECT, puede especificar el nombre de las columnas que quiera recuperar de una tabla. Puede indicar varias columnas o sólo una de una tabla o vista, o puede seleccionar todas las columnas. Cada sentencia SELECT puede seleccionar información de diversas tablas.

SET variable global de DB2

Puede utilizar la sentencia SET en una sentencia SET en una consulta SQL de QMF para establecer variables globales de DB2 para z/OS o DB2 para Linux, UNIX y Windows.

SET registro especial

Puede utilizar la sentencia SET en una consulta SQL de QMF para establecer los registros especiales listados en este tema.

SOME

Utilice la palabra clave SOME con operadores de comparación para permitir que una consulta devuelva un conjunto de valores en lugar de un valor individual.

SUM

SUM sólo es válido en columnas que contienen valores numéricos.

UNION

UNION fusiona las filas de dos o más tablas en un informe. Para que la fusión tenga sentido, esas filas deben estar relacionadas, tener el mismo ancho y el mismo tipo de datos.

UPDATE

La sentencia UPDATE cambia los valores de columnas existentes especificada en las filas de una tabla. Sólo puede actualizar una tabla si ha creado la tabla o tiene una autorización específica para actualizarla.

WHERE

Utilice una cláusula WHERE en la sentencia SELECT para especificar una condición (uno o más criterios de selección) que identifique la fila o filas que desea recuperar, actualizar o suprimir. Sólo las filas que cumplen la condición de búsqueda se ven afectadas.

Resultados calculados

Puede utilizar los valores calculados como parte de una condición de búsqueda. Puede también visualizarlos para filas seleccionadas de la misma forma que visualiza valores de columna.

Funciones escalares de SQL

Tres tipos de funciones escalares SQL son funciones de fecha/hora, funciones de conversión y funciones de la serie.

Concatenación

El operador de concatenación (CONCAT) combina dos valores de una expresión en una sola serie. El operador alternativo para CONCAT es ||. Puesto que las barras verticales pueden ocasionar errores de análisis en las sentencias que se pasan desde un sistema de gestión de bases de datos a otro, CONCAT es el operador preferido para las sentencias que se ejecutan en ubicaciones remotas.

Comentarios

Entradas populares