Download (Microsoft PowerPoint - R\341pido Repaso de SQL)
Document related concepts
Transcript
Rápido repaso de SQL Antes de sumergirnos en los detalles de SQL, es buena idea desarrollar una perspectiva global del lenguaje y de cómo funciona. Este capítulo contiene un rápido repaso de SQL que ilustra sus características y funciones más importantes. Una base de datos sencilla • Pequeña base de datos de una empresa de distribución. La base de datos, mostrada en la siguiente página, almacena la información necesaria para implementar una pequeña aplicación de procesamiento de pedidos. – Los clientes, clientes que compran los productos de la empresa; – Los pedidos remitidos por esos clientes; – Los vendedores que venden los productos a los clientes; y – Las oficinas de ventas donde trabajan los vendedores. • Esta base de datos, datos como la mayoría de las demás, es un modelo del <<mundo real>> real>>. >>. • Los datos almacenados en la base de datos representan entidades reales: clientes, pedidos, vendedores y oficinas. oficinas. • Hay una tabla separada de datos para cada clase diferente de entidad. • Las peticiones de base de datos que usted hace utilizando el lenguaje SQL se corresponden con actividades del mundo real, real tales como emisión, cancelación y cambio de pedidos por parte de los clientes, contratación y despido de vendedores, etc. Veamos como se puede utilizar SQL para manipular los datos. Recuperación de datos • Primero, listemos las oficinas de ventas, ventas mostrando la ciudad donde está localizada cada una de ellas, así como sus ventas anuales hasta la fecha. La sentencia SQL que recupera datos de la base de datos se denomina SELECT. • Esta sentencia recupera datos que se desean: SELECT CIUDAD, OFICINA, VENTAS FROM OFICINAS CIUDAD Denver New York Chicago Atlanta Los Ángeles OFICINA 22 11 12 13 21 VENTAS 186,042.00 92,637.00 735,042.00 367,911.00 835,015.00 • La sentencia SELECT solicita tres datos (la ciudad, el número de oficina y las ventas por cada oficina). • También especifica que los datos proviene de la Tabla OFICINAS, OFICINAS que almacena datos acerca delas oficinas de ventas. • Los resultados de la consulta aparecen, inmediatamente después de la solicitud en forma tabular, • La sentencia SELECT es utilizada por todas las consultas SQL. SQL Por ejemplo, a continuación se muestra una consulta que lista los nombres y las ventas anuales hasta la fecha para cada vendedor de la base de datos. • También muestra la cuota (objetivo de ventas) y el número de la oficina donde trabaja cada persona. En este caso, los datos provienen de la Tabla REPVENTAS: REPVENTAS SELECT NOMBRE, OFICINA_REP, VENTAS, COUTA FROM REPVENTAS • SQL también permite solicitar el cálculo de resultados. Por ejemplo, se puede solicitar a SQL que calcule la cuantía en la cual cada vendedor está por encima o por debajo de su cuota: SELECT NOMBRE, VENTAS, COUTA, (VENTAS-COUTA) FROM REPVENTAS • Los datos solicitados (incluyendo la diferencia calculada entre las ventas y la cuota de cada vendedor) aparecen una vez más en la fila/columna de una tabla. Quizá preferiría centrarse en el vendedor cuyas ventas son inferiores a sus cuotas. SQL permite recuperar esta clase de información selectiva muy fácilmente, añadiendo una comparación matemática a la petición previa: SELECT NOMBRE, VENTAS, CUOTA, (VENTAS-CUOTA) FROM REPVENTAS WHERE VENTAS < COUTA Rob Smith; 142,594.00; 200,000.00; -57,406.00 Nancy Angelli; 186,054.00; 300,000.00; -113,958.00 • Se puede utilizar la misma técnica para listar grandes pedidos en la base de datos y para hallar qué cliente remitió el pedido, qué producto fue pedido y en qué cantidad. También se puede solicitar a SQL que ordene los pedidos basándose en su importe: SELECT NUM_PEDIDO, CLIE, PRODUCTO, CANT, IMPORTE FROM PEDIDOS WHERE IMPORTE > 25000.00 ORDER BY IMPORTE Realización de resúmenes • SQL no solamente recupera datos de la base de datos, también puede ser utilizado para resumir los contenidos de la base de datos. ¿Cuál es el tamaño medio de un pedido en la base de datos? Esta petición solicita a SQL que examine todos los pedidos y encuentre el importe medio: SELECT AVG(IMPORTE) FROM PEDIDOS AVG(IMPORTE): 8,256.37 • También puede solicitarse el importe medio de todos los pedidos de todos los pedidos remitidos por un cliente particular: SELECT AVG(IMPORTE) FROM PEDIDOS WHERE CLIE = 2013 AVG(IMPORTE): 8,895.50 • Finalmente, hallemos el importe total de los pedidos remitidos por cada cliente. Para hacer esto, se puede solicitar a SQL que agrupe los pedidos por número de cliente, y que luego totalice los pedidos de cada cliente: SELECT CLIE, SUM(IMPORTE) FROM PEDIDOS GROUP BY CLIE CLIE 2101 2102 2103 …. …. …. 2124 SUM(IMPORTE) 1,458.00 3,978.00 35,582.00 3,082.00 Introducción de datos en la Base de Datos SQL también se utiliza para añadir nuevos datos a la base de datos. Por ejemplo, supongamos que se acaba de abrir una nueva oficina de ventas en la región Oeste en Dallas, con un objetivo de ventas de 275.000. He aquí la sentencia INSERT que añade la nueva oficina a la base de datos, con el número de oficina 23: INSERT INTO OFICINAS (CIUDAD, REGION,OBJETIVO,VENTAS,OFICINA) VALUES (‘DALLAS’, ‘Oeste’,’27500.00’,0.00,23) 1 fila insertada. Análogamente, si Mary Jones (número de empleado 109) firma un contrato con un nuevo cliente, Acme Industries, esta sentencia INSERT añade el cliente a la base de datos con el número 2.125 y un límite de crédito de 25.000: INSERT INTO CLIENTES (EMPRESA, REP CLIE, NUM_CLIE,LIMITE-CREDITO) VALUES (‘Acme Industries’, 109, 2125, 25000.00) 1 fila insertada. Borrado de datos • Del mismo modo que la sentencia INSERT añade nuevos datos a la base de datos, la sentencia DELETE borra datos de la base de datos. Si Acme Industries decide unos pocos días más tarde pasarse a la competencia, usted puede eliminarla de la base de datos con esta sentencia: DELETE FROM CLIENTES WHERE EMPRESA=‘Acme Industries’ 1 fila suprimida • Y si usted decide despedir a todos los vendedores cuyas ventas sean inferiores a sus cuotas, puede eliminarlos de la base de datos con esta sentencia DELETE: DETELE FROM REPVENTAS WHERE VENTAS < COUTA 2 filas suprimidas Actualización de la base de datos • El lenguaje SQL se utiliza también para modificar datos que ya están almacenados en la base de datos. Por ejemplo, para incrementar el limite de crédito de First Corp. a 75.000 se utilizará la sentencia UPDATE: UPDATE CLIENTES SET LIMITE_CREDITO = 7500.00 WHERE EMPRESA = ‘First Corp.’ 1 fila actualizada.