Académique Documents
Professionnel Documents
Culture Documents
DATOS
ESCUELA DE INGENIERA EN
ELECTICIDAD
SEGUNDO SEMESTRE ING.
TELEMTICA
TEMA:
- CREACIN DE CONSULTAS
- QU SON LAS MLTIPLES TABLAS?
- QU ES EL DISEO DE CONSULTAS
DE SQL?
DOCENTE: ING. NARCISA CRESPO
INTEGRANTES: ECHEVERRA MARCOS
PINCAY JOHN
ROSADO MAURICIO
ROSERO EDUARDO
SALAZAR JESUS
2014 - 2015
QU ES UNA CREACIN DE CONSULTAS?
Las consultas son una forma de buscar y recopilar informacin de una o ms tablas para
conseguir informacin detallada de una base de datos. Al crear una consulta en Access
2010, defines condiciones especficas de bsqueda para encontrar, exactamente, la
informacin que deseas.
CONSULTA EN MULTITABLA
Llamadas as porque estn basadas en ms de una tabla. El SQL de Microsoft (jet 4.x)
soporta dos grupos de consultas multitabla:
la unin de tablas
la composicin de tablas
La unin de tablas:
Esta operacin se utiliza cuando tenemos dos tablas con las mismas columnas y queremos
obtener una nueva tabla con las filas de la primera y las filas de la segunda. En este caso la
tabla resultante tiene las mismas columnas que la primera tabla (que son las mismas que las
de la segunda tabla).
Por ejemplo tenemos una tabla de libros nuevos y una tabla de libros antiguos y queremos
una lista con todos los libros que tenemos. En este caso las dos tablas tienen las mismas
columnas, lo nico que vara son las filas, adems queremos obtener una lista de libros (las
columnas de una de las tablas) con las filas que estn tanto en libros nuevos como las que
estn en libros antiguos, en este caso utilizaremos este tipo de operacin.
Cuando hablamos de tablas pueden ser tablas reales almacenadas en la base de
datos o tablas lgicas (resultados de una consulta), esto nos permite utilizar la operacin
con ms frecuencia ya que pocas veces tenemos en una base de datos tablas idnticas en
cuanto a columnas. El resultado es siempre una tabla lgica.
Por ejemplo queremos en un slo listado los productos cuyas existencias sean iguales a cero
y tambin los productos que aparecen en pedidos del ao 90. En este caso tenemos unos
productos en la tabla de productos y los otros en la tabla de pedidos, las tablas no tienen las
mismas columnas no se puede hacer una unin de ellas pero lo que interesa realmente es el
identificador del producto (idfab, idproducto), luego por una parte sacamos los cdigos de
los productos con existencias cero (con una consulta), por otra parte los cdigos de los
productos que aparecen en pedidos del ao 90 (con otra consulta), y luego unimos estas dos
tablas lgicas.
La composicin de tablas:
La composicin de tablas consiste en concatenar filas de una tabla con filas de otra. En este
caso obtenemos una tabla con las columnas de la primera tabla unidas a las columnas de
la segunda tabla, y las filas de la tabla resultante son concatenaciones de filas de la primera
tabla con filas
de
la segunda
tabla.
A diferencia de la unin la composicin permite obtener una fila con datos de las dos
tablas, esto es muy til cuando queremos visualizar filas cuyos datos se encuentran en dos
tablas.
Por ejemplo queremos listar los pedidos con el nombre del representante que ha hecho el
pedido, pues los datos del pedido los tenemos en la tabla de pedidos pero el nombre del
representante est en la tabla de empleados y adems queremos que aparezcan en la misma
lnea; en este caso necesitamos componer las dos tablas (nota: en el ejemplo expuesto a
continuacin, hemos seleccionado las filas que nos interesan).
El panel Diagrama muestra las tablas y otros objetos con valores de tabla que se
estn consultando. Cada rectngulo representa una tabla o un objeto con valores de
tabla y muestra las columnas de datos disponibles. Las combinaciones se indican
mediante lneas entre los rectngulos. Para obtener ms informacin.
El panel Criterios contiene una cuadrcula con forma de hoja de clculo en la que
se especifican opciones, como qu columnas de datos mostrar, qu filas seleccionar,
cmo agrupar filas, etc. Para obtener ms informacin.
El panel SQL muestra la instruccin SQL para la consulta o vista. Puede editar la
instruccin SQL creada por el Diseador o puede especificar una instruccin SQL
CONSULTAS SQL
Abordemos las consultas SQL con un caso prctico. Sobre la tabla EMPLEADOS se
plantea la siguiente cuestin:
Qu empleados tienen un salario mayor a 1350?
ID_EMPLEADO
NOMBRE
APELLIDOS
F_NACIMIENTO
SEXO
CARGO
SALARIO
1
2
3
4
Carlos
Elena
Jos
Margarita
Jimnez Clarn
Rubio Cuestas
Calvo Sisman
Rodrguez Garcs
1985-05-03
1978-09-25
1990-11-12
1992-05-16
H
M
H
M
Mozo
Secretaria
Mozo
Secretaria
1500
1300
1400
1325.5
La respuesta es simple: Jos y Carlos tiene un salario mayor a 1350, pero si tuvisemos 500
empleados nos llevara ms tiempo responder, y al final tampoco tendramos la certeza de
no habernos equivocado. El SQL nos permite responder estas preguntas de forma rpida y
fiable, salvo error al construir la consulta o errores en los propios datos.
Vamos pues a construir la consulta que nos permita responder a esta cuestin.
Preguntas de Construccin
Para construir una consulta SQL debemos hacernos como mnimo tres preguntas:
Primero hemos de preguntarnos: qu datos nos estn pidiendo?
En este caso, el nombre y los apellidos de los empleados.
Lo siguiente que nos preguntamos es: dnde estn esos datos?
Obviamente estn en la tabla empleados.
Y por ltimo: qu requisitos deben cumplir los registros?
En este caso, que el sueldo del empleado sea superior a 1350.
Vamos a suponer por un momento que el SGBD, que es quien intermedia entre el usuario y
la BD, fuese una persona; la BD un archivo de papel, y el jefe pide lo siguiente: "Necesito
saber qu empleados cobran ms de 1350 euros? Usted, que conoce bien el archivo(tablas)
y que datos contiene la ficha de un empleado (campos de la tabla EMPLEADOS),
mentalmente se hace las preguntas de construccin y le dice a su ayudante que siempre
espera ordenes concretas:
Selecciname
el
NOMBRE
los
APELLIDOS
del
archivo
EMPLEADOS
Sintaxis SQL
En SQL la forma de operar es parecida, esta informacin se obtiene mediante la siguiente
consulta:
CDIGO: SELECCIONAR TODO
select NOMBRE , APELLIDOS
from EMPLEADOS
where SALARIO > 1350