Está en la página 1de 18

Consultas y Lenguaje Lenguaje de Manipulacin de Datos Datos (DML)

Un lenguaje de Manipulacin de Datos es un lenguaje proporcionado por el sistema de gestin de bases de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado.
El lenguaje de manipulacin de datos ms popular hoy en da es SQL, usado para recuperar y manipular datos en una base de datos relacional.

3.1 Instrucciones INSERT, UPDATE, DELETE

Insertar registros mediante INSERT


Para realizar esta operacin se debe tener en cuenta dos puntos importantes. El primero es que el dato que se inserte debe ser del mismo tipo que el campo, y el segundo punto a tener en cuenta que este dato a insertar no debe ser mas grande que el campo.
Ejemplos de uso... INSERT INTO clientes(nombre, direccion, ciudad, telefono, codempresa) VALUES ('Carlos Rios', 'Caseros 2417', 'Buenos Aires', '48485825', 23)

Modificar registros mediante UPDATE


SQL al encontrar un UPDATE chequea la condicin WHERE, si esta es verdadera se realiza la actualizacin. Un ejemplo de UPDATE, donde ser corregira un nombre que se inserto de manera incorrecta: UPDATE clientes SET nombre= 'Carlos Rios' WHERE nombre= 'Carlos Rioso

Borrar registros mediante DELETE


La sentencia DELETE puede borrar un solo registro como tambin puede borrar varios registros a la vez, como tambin puede borrar todos los registros de la base de datos. Si quiero borrar todos los clientes que son de la ciudad de Mar del Plata: DELETE FROM clientes WHERE ciudad= 'Mar del Plata' Si quiero borrar un registro en especial podria utilizar el campo clave de la tabla, por ejemplo: DELETE FROM clientes WHERE id_cliente = 501

3.2 Consultas Bsicas SELECT, WHERE y funciones a nivel de registro.

select: select * from tab_matricula Como pueden notar aqui hay 2 palabras reservadas que usa SQL: la de select y la de from y un comodin * entonces leemos de esta manera: Selecciona todo de tab_matricula. OTRO TIPO DE CONSULTA IMPLEMENTANDO EL Where: select tab_cobranzas.importe, tab_pagocobranza.* from tab_pagocobranza,tab_cobranzas where tab_cobranzas.id_cobranza = pagocobranza.id_cobranza Podemos apreciar nuevas cosas como son .* el . y las comas que separan a los nombres de las tablas. ahora comenzaremos a explicar que estamos consultando aqui: le estoy diciendo que seleccione al campo importe de la tabla de tab_cobranzas y separo con una , para sealar que seguire extrayendo datos. despues le indico que seleccione todo .* de la tabla de tab_pagocobranza y le indico de donde se extraeran mis datos con el from de tab_pagocobranza y tab_cobranzas ahora la parte buena. antes de cada where no lleva coma. Ahora la comparacion dondewhere notamos que tiene un igual. Esa es una comparacion que se hace diciendole que relacione el id_cobranza de ambas tablas.

3.3 Consultas sobre mltiples tablas.

En una base de datos relacional, la informacin est distribuida entre diferentes tablas relacionadas. Las clusulas obligatorias en unaconsulta son:
SELECT. Lista de la informacin (columnas, expresiones, funciones, ) que debe visualizarse FROM. Detalla de que tablas o vistas debe obtenerse la informacin Para obtener informacin de ms de una tabla, es necesario identificar las columnas comunes entre cada par de tablas relacionadas. En la clusula WHERE se definen las relaciones entre las tablas listadas en la clusula FROM. La SELECT puede tener columnas o expresiones de una o ms de estas tablas. Una JOIN es una consulta que combina filas de dos o ms tablas o vistas. Las tablas de la JOIN deben aparecer en el FROM.

3.3.1 Subconsultas.

Una subconsulta es una sentencia SELECT que aparece dentro de otra sentencia SELECT que llamaremos consulta principal. Se puede encontrar en la lista de seleccin, en la clusula WHERE o en la clusula HAVING de la consulta principal. Una subconsulta tiene la misma sintaxis que una sentencia SELECT normal exceptuando que aparece encerrada entre parntesis, no puede contener la clusula ORDER BY, ni puede ser la UNION de varias sentencias SELECT, adems tiene algunas restricciones en cuanto a nmero de columnas segn el lugar donde aparece en la consulta principal. A menudo, es necesario, dentro del cuerpo de una subconsulta, hacer referencia al valor de una columna en la fila actual de la consulta principal, ese nombre de columna se denomina referencia externa. Una referencia externa es un nombre de columna que estando en la subconsulta, no se refiere a ninguna columna de las tablas designadas en la FROM de la subconsulta sino a una columna de las tablas designadas en la FROM de la consulta principal. Ejemplo: SELECT numemp, nombre, (SELECT MIN(fechapedido) FROM pedidos WHERE rep = numemp) FROM empleados;

3.3.2 Operadores JOIN

La sentencia JOIN, si es proveida, nombra una funcin de estimacin selectiva join para el operador (nota que esto es un nombre de una funcin, no un nombre de un operador). Las sentencias JOIN solamente tienen sentido para operadores binarios que retorna valores bouleanos. La idea detrs de un estimador selectivo join es suponer que fraccin de las filas de un par de tablas satisfacern la condicin de la sentencia WHERE del formulario, para el operador corriente. Como la sentencia RESTRICT, esta ayuda al optimizador muy sustancialmente permitiendole deducir cual de las posibles secuencias join es probable que tome el menor trabajo.

3.4 Agregacin GROUP BY, HAVING

Las funciones de agrupacin operan sobre conjuntos de filas para dar un resultado por grupo. As tenemos para atributos numricos. Las funciones de agrupacin ignoran los valores NULL en las consultas, aunque se puede utilizar NVL (en Oracle) para forzar a que considere a NULL como un valor determinado. La clusula GROUP BY seguida de una lista de atributos permite agrupar las tuplas en grupos que tengan los mismos valores en todos los atributos de esa lista

Ejemplo: Obtener el nmero de profesores de cada rea SELECT COUNT(*) ,AREA FROM PROFESORES GROUP BY AREA;

La clusula HAVING permite establecer una condicin sobre los grupos de manera que slo se seleccionan aquellos grupos que la cumplen
listar los profesores y el n de clases que imparten, pero slo de aquellos profesores que imparten ms de 10 clases SELECT PROFESOR,COUNT(*) FROM DOCENCIA GROUP BY PROFESOR HAVING COUNT(*)>10;

3.5 Funciones de conjunto de registros COUNT, SUM, AVG, MAX, MIN

Funciones de agregacin Son funciones que toman una coleccin de valores como entrada y producen un nico valor de salida. SQL proporciona cinco funciones de agregacin primitivas: avg: media aritmtica de un atributo o una expresin numrica min: mnimo de un atributo o expresin numrica max: mximo de un atributo o expresin numrica sum: suma total de atributos o expresiones numricas count (*): contador de tuplas count (distinct): contador de tuplas parcial, no tiene encuenta Todos los operadores, excepto avg y sum, pueden operar con nmeros y cadenas de caracteres. La funcin de agregacin se coloca en la lnea select. La clusula group by se utiliza cuando las funciones de agregacin se aplican a un grupo de conjuntos de tuplas, y la clusula having se utiliza para poner una condicin a los grupos.

También podría gustarte