INTRODUCIÓN
- Cuando se incluyen varias tablas en una consulta, se usan combinaciones que ayudan a obtener los resultados deseados.
- Una combinación ayuda a que la consulta devuelva únicamente los registros deseados de cada tabla, basándose en cómo esas tablas están relacionadas con otras tablas en la consulta.
- Las bases de datos relacionales se componen, en el nivel más básico, de tablas que guardan relaciones lógicas entre ellas.
- Las relaciones se usan para conectar las tablas en los campos que tienen en común. Una relación viene representada en una consulta por medio de una combinación
Entonces:
- ¿cuando deben de usarse la combinación de tablas?
- ¿Que hace la combinación de tablas?
- ¿ Que usan las tablas combinadas para conectarse?
Tipos de combinación:
- Interna
- Por producto cartesiano
Que son las combinaciones internas?
Las combinaciones internas son el tipo de combinación más
común. Indican a una consulta que las filas de una de las tablas combinadas
corresponden a las filas de otra tabla, basándose en los datos incluidos en los
campos combinados. Cuando se ejecuta una consulta con una combinación interna,
se incluirán en las operaciones de consulta únicamente las filas en las que
haya un valor común en ambas tablas combinadas.
Ejemplo
Tenemos el siguiente contenido de tablas
alumnos
|
|||||||||||||
matricula
|
nombres
|
apellidos
|
telefono
|
especialidad
|
aula
|
faltas
|
reportes
|
fec_nac
|
localidad
|
grupo
|
domicilio
|
padre
|
no_trabajador
|
090780095-7
|
heidi
natali
|
carmona
arriga
|
4163432
|
informatica
|
5
|
4
|
2
|
23/03/1993
|
santa
cruz
|
505
|
20
de Noviembre #8
|
hector
Carmona
|
1
|
120780001-0
|
carlos
|
hernandes
amezcua
|
4167898
|
informatica
|
5
|
2
|
1
|
12/03/1997
|
tamazula
|
503
|
Orquidea
#15 Colonia Buganbilias
|
carlos
Amezcua
|
1
|
120780031-7
|
Lizbeth
guadalupe
|
valencia
lozano
|
4168614
|
informatica
|
5
|
3
|
0
|
15/04/1997
|
tamazula
|
505
|
morelos#372
|
aidee
lozano
|
1
|
120780039-0
|
maria
guadalupe
|
medina
campos
|
4168896
|
informatica
|
5
|
2
|
3
|
18/07/1997
|
tamazula
|
503
|
Justo
Garcia 85
|
francisco
medina
|
1
|
120780261-0
|
genesis
natalia
|
Godinez
Rodriguez
|
4164567
|
informatica
|
5
|
3
|
2
|
23/09&/1996
|
tamazula
|
505
|
col.
San Antonio #28
|
miguel
godinez
|
1
|
maestros
|
|||||
nombre
|
apellido
|
domicilio
|
telefono
|
localidad
|
notrabajador
|
Jose enrique
|
vivas torres
|
conocido
|
tamazula
|
1
|
|
marco antonio
|
celis Crisostomo
|
conocido
|
Cd.Guzman
|
2
|
|
ricardo
|
muños collaso
|
conocido
|
Cd.Guzman
|
3
|
Ejemplo:
Al escribir la siguiente consulta:
SELECT alumnos.nombres,maestros.nombre FROM alumnos INNER
JOIN maestros ON alumnos.No_Trabajador=maestros.NoTrabajador
El resultado de esa consulta es:
Ejercicio5_Consulta1
|
|
nombres
|
nombre
|
genesis natalia
|
Jose enrique
|
maria guadalupe
|
Jose enrique
|
Lizbeth guadalupe
|
Jose enrique
|
carlos
|
Jose enrique
|
heidi natali
|
Jose enrique
|
Lo que hace esa consulta es:
1.
Consulta con tablas combinadas que muestra el
nombre del alumno y del maestro que le da clases.
Actividad de aprendizaje
Ejercicio 5:
En la base de datos escuela realiza las siguientes conusltas
Actividad de evaluación
Ejercicio 5:
En la base de datos escuela realiza las siguientes conusltas
- La del ejemplo anterior
- Consulta con tablas combinadas que muestra el nombre del alumno y del maestro, al especialidad de los alumnos que cursan cualquier carrera que no sea informática
- Consulta con tablas combinadas que Muestra el nombre del alumno y el maestro donde allá más de tres faltas.
- Consulta con tablas combinadas que muestra el nombre del alumno y el maestro donde allá más de dos reportes y estudien en el grupo 504
Producto cartesiano
Es un tipo de composición de tablas,
aplicando el producto cartesiano a dos tablas se obtiene 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 todas las posibles concatenaciones de filas de
la primera tabla con filas de la segunda tabla.
Como se realiza
El producto cartesiano se indica poniendo en la FROM las
tablas que queremos componer separadas por comas, podemos obtener así el producto
cartesiano de dos, tres, o más tablas.
Hay que tener en cuenta que el producto cartesiano obtiene
todas las posibles combinaciones de filas por lo tanto si tenemos dos tablas de
100 registros cada una, el resultado tendrá 100x100 filas, si el producto lo
hacemos de estas dos tablas con una tercera de 20 filas, el resultado tendrá
200.000 filas (100x100x20) y estamos hablando de tablas pequeñas. Se ve
claramente que el producto cartesiano es una operación costosa sobre todo si
operamos con más de dos tablas o con tablas voluminosas.
Normalmente cuando queremos componer dos tablas es para
añadir a las filas de una tabla, una fila de la otra tabla. Se deben utilizar columnas
de emparejamiento ya que permiten emparejar las filas de las dos tablas. Las columnas
de emparejamiento no tienen por qué estar incluidas en la lista de selección
pero si se ponen dentro de la clausula where
Ejemplo
mediante el uso de tablas combinadas por producto cartesiano
muestra el nombre de los alumnos y del maestro que les imparte clases:
select alumno.*,maestros.*
from alumno,maestros
where
alumno.N_trabajador=maestros.no_trabajador;
El resultado de dicha consulta con producto cartesiano es:
Actividad de evaluación
unidad de Aprendizaje:
|
Programación para el manejo de bases de datos
|
Número:
|
1
|
Practica 3
|
Consulta de
combinación de tablas
|
Número:
|
3
|
Propósito de la PRACTICA
|
Realizar consultas de selección
con combinación de tablas a diferentes tablas de la base de datos
como parte de una consulta
de selección para obtener información específica de la base de datos.
|
Escenario:
|
Laboratorio
de informática.
|
Duración
|
2 horas
|
1. Copea y pega la carpeta practica
2 en el escritorio de la computadora y cámbiale el nombre por practica 3
2. En el mismo documento en
Word elaborado en la practica 2 elabora el reporte de la practica 3
conteniendo:
a.
LO REPORTADO EN LA
PRACTICA 0,1 y 2 enseguida:
b.
Identifica el inicio del reporte de la practica 3
c.
Revisa en tu base de datos que existan en cada tabla un
capo en común por el cual se va realizar la combinación. En uno es la llave
primaria y en otro la llave propagada. Estos campos deben contener información
congruente para que las consultas que hagas arrojen resultados
d.
En caso de que actualices la estructura de las tablas y
agregues información a ellas por favor actualiza los pantallazos en los
reportes anteriores así como el contenido de las tablas
e.
Copea y pega el contenido de las tablas y sombrea el
campo que tienen en común ambas tablas y debajo de ellas registra:
1.
Enunciado de cada consulta
2. Código SQL de cada
consulta
3. Resultado de cada
consulta
AHORA CUANDO GRABES UNA CONSULTA PONDRAS PRACTICA3
GUION BAJO Y EL NOMBRE DE CONSULTA Y EL NUMERO CONSECUTIVO
3. Realiza 1 consultas
mediante la combinación de información de las tablas de la base de datos
mediante el desarrollo de instrucciones SQL, tomando en cuenta por cada
consulta :
·
Cita columnas de ambas tablas requeridas en la cláusula
SELECT, haciendo uso de la declaración NombreTabla.NombreColumna y utilizando los campos de emparejamiento (los
que son en común)
4. Realiza 1 consultas
mediante la combinación de información de las tablas de la base de datos
mediante el desarrollo de instrucciones SQL, tomando en cuenta por cada
consulta :
·
Cita columnas de ambas tablas requeridas en la cláusula
SELECT, haciendo uso de la declaración NombreTabla.NombreColumna y utilizando los campos de emparejamiento
(los que son en común) especifica el criterio para combinar tablas en la
cláusula WHERE utilizando el operador relacional =
5. Realiza 1 consultas
mediante la combinación de información de las tablas de la base de datos
mediante el desarrollo de instrucciones SQL, tomando en cuenta por cada
consulta :
·
Cita columnas de ambas tablas requeridas en la cláusula
SELECT, haciendo uso de la declaración NombreTabla.NombreColumna y utilizando los campos de emparejamiento
(los que son en común) especifica el criterio para combinar tablas en la
cláusula WHERE utilizando el operador relacional > , < , <>
6. Realiza 1 consultas
mediante la combinación de información de las tablas de la base de datos
mediante el desarrollo de instrucciones SQL, tomando en cuenta por cada
consulta :
·
Cita columnas de ambas tablas requeridas en la cláusula
SELECT, haciendo uso de la declaración NombreTabla.NombreColumna y utilizando los campos de emparejamiento
(los que son en común) especifica el criterio para combinar tablas en la
cláusula WHERE utilizando el operador lógico AND OR NOT
7. Realiza 1 consultas
mediante la combinación de información de las tablas de la base de datos
mediante el desarrollo de instrucciones SQL, tomando en cuenta por cada
consulta :
·
Cita columnas de ambas tablas requeridas en la cláusula
SELECT, haciendo uso de la declaración NombreTabla.NombreColumna y utilizando EL PRODUCTO CARTESIANO Y los
campos de emparejamiento (los que son en común) especifica el criterio para
combinar tablas en la cláusula WHERE
No hay comentarios.:
Publicar un comentario