lunes, 3 de septiembre de 2018

COMBINAR TABLAS

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:  
  1. ¿cuando deben de usarse la combinación de tablas?
  2. ¿Que hace la combinación de tablas?
  3. ¿ Que usan las tablas combinadas para conectarse?
Tipos de combinación:
  1. Interna
  2. 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


  1. La del ejemplo anterior
  2. 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
  3. Consulta con tablas combinadas que Muestra el nombre del alumno y el maestro donde allá más de tres faltas.
  4. 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.: