La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una.

Presentaciones similares


Presentación del tema: "Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una."— Transcripción de la presentación:

1 Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una de las columnas de emparejamiento tienen un índice definido Es más eficiente utilizar otro tipo de composición, el INNER JOIN El INNER JOIN es otro tipo de composición de tablas, permite emparejar filas de distintas tablas de forma más eficiente que con el producto cartesiano cuando una de las columnas de emparejamiento está indexada. Ya que en vez de hacer el producto cartesiano y luego seleccionar las filas que cumplen la condición de Emparejamiento, para cada fila de una de las tablas busca directamente en la otra tabla las filas que cumplen la condición, con lo cual se emparejan sólo las filas que luego aparecen en el resultado. SELECT * FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie SELECT * FROM (pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie) INNER JOIN empleados ON pedidos.rep = empleados.numemp TALLER DE BASE DE DATOS1

2 El LEFT JOIN Y RIGHT JOIN son otro tipo de composición de tablas, también denominadas Consultas externas. Son una extensión del INNER JOIN LEFT JOIN Esta operación consiste en añadir al resultado del INNER JOIN las filas de la tabla de la izquierda que no tienen correspondencia en la otra tabla, y rellenar en esas filas los campos de la tabla de la derecha con valores nulos. Ejemplo: SELECT * FROM empleados LEFT JOIN oficinas ON empleados.oficina = oficinas.oficina SELECT * FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie RIGHT JOIN Esta operación consiste en añadir al resultado del INNER JOIN las filas de la tabla de la derecha que no tienen correspondencia en la otra tabla, y rellenar en esas filas los campos de la tabla de la izquierda con valores nulos. Ejemplo: SELECT * FROM empleados RIGHT JOIN oficinas ON empleados.oficina = oficinas.oficina Con el ejemplo anterior obtenemos una lista de los empleados con los datos de su oficina, y además aparece una fila por cada oficina que no está asignada a ningún empleado con los datos del empleado a nulos. TALLER DE BASE DE DATOS2

3 Lsc. Claudia Morales Barrón3 Una vista se ve como una tabla virtual, es decir, una tabla que no existe físicamente en la base de datos, pero aparece al usuario como si existiese. Las vistas no tienen datos almacenados propios, distinguibles y físicamente almacenados. En su lugar, el sistema almacena la definición de la vista (es decir, las reglas para acceder a las tablas base físicamente almacenadas para materializar la vista) en algún lugar de los catálogos del sistema. VISTAS

4 CREATE VIEW El propósito de esta sentencia es crear vistas que posteriormente podrán ser usadas por los usuarios. SINTAXIS CREATE VIEW vistas AS (sentencia SELECT); Las vistas se crean a partir de una sentencia de consulta, SELECT. Esta sentencia de consulta puede ser tan compleja como se necesite y recibir información de diversas tablas. Una vez que se ha creado una vista el usuario le percibe como si fuese una Tabla normal. Sobre una vista se pueden ejecutar sentencias de consultas como si fuese una tabla, pero las sentencias de inserción, modificación y borrado de datos no pueden trabajar con las vistas de igual modo que con las tablas, existen restricciones. Para poder crear una vista es necesario que las tabla en las que se basa existan. En caso de que se borre alguna de las tablas en las que se basa una vista, esta dejara de existir.

5 Lsc. Claudia Morales Barrón5 En SQL se utiliza el comando CREATE VIEW para definir una vista. La sintaxis es: CREATE VIEW Nombre de la Vista [(Columna1, Columna2,…)] AS SELECT ….. FROM …..; Select Select no se ejecuta cuando se crea la vista. Simplemente se almacena en los catálogos del sistema y se ejecuta cada vez que se realiza una consulta contra la vista.

6 Lsc. Claudia Morales Barrón6 EJEMPLO.- Se puede definir una vista de la tabla Documento, donde pueda verse todas las columnas de la tabla, pero sólo aquellos documentos que son de tipo L: CREATE VIEW Libro AS SELECT * FROM Documento WHERE tipo = ‘ L ‘ ;

7 Lsc. Claudia Morales Barrón7 Eliminación de una vista DROP VIEW Nombre de la Vista;


Descargar ppt "Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una."

Presentaciones similares


Anuncios Google