miércoles, 16 de octubre de 2019

S7 TP D - RELACIONES Y CONSULTAS MULTITABLAS EN LA BASE DE DATOS


RELACIONES Y CONSULTAS MULTITABLAS EN LA BASE DE DATOS


Al crear una relación entre tablas, no es necesario que los campos relacionados tengan los mismos nombres. Sin embargo, deben tener el mismo tipo de datos a menos que el campo de clave principal sea un campo Autonumérico. Sólo puede hacer coincidir un campo Autonumérico con un campo Número si la propiedad Tamaño del Campo de ambos de los campos correspondientes es la misma. Por ejemplo, puede hacer coincidir un campo Autonumeración y un campo Número si la propiedad Tamaño del Campo de ambos campos es Entero largo. Incluso aunque ambos campos coincidentes sean campos Número, deben tener el mismo valor para la propiedad Tamaño del Campo.

CÓMO DEFINIR UNA RELACIÓN DE UNO A VARIOS O DE UNO A UNO
Para crear una relación de uno a varios o de uno a uno, siga estos pasos:
Cierre todas las tablas. No puede crear ni modificar las relaciones entre las tablas abiertas.
En Access 2002 o Access 2003, siga estos pasos:
Presione F11 para pasar a la ventana Base de datos.
En el menú Herramientas, haga clic en Relaciones.
En Access 2007, Access 2010 o Access 2013, haga clic en Relaciones en el grupo Mostrar u ocultar de la pestaña Herramientas de base de datos.
Si no ha definido todavía ninguna relación en la base de datos, el cuadro de diálogo Mostrar tabla aparece automáticamente. Si desea agregar las tablas que desea relacionar, pero no se muestra el cuadro de diálogo Mostrar tabla, haga clic en Mostrar tabla en el menú Relaciones.
Haga doble clic en los nombres de las tablas que desea relacionar y, a continuación, cierre el cuadro de diálogo Mostrar tabla. Para crear una relación entre una tabla y ella misma, agregue dos veces esa tabla.


Arrastre el campo que desea relacionar de una tabla con el campo relacionado de la otra. Para arrastrar varios campos, presione Ctrl, haga clic en cada campo y, a continuación, arrástrelos.
En la mayoría de los casos, arrastra el campo de clave principal (que se muestra en texto en negrita) de una tabla hacia un campo similar (a menudo con el mismo nombre) denominado la clave externa de la otra tabla.
Aparecerá el cuadro de diálogo Modificar relaciones. Asegúrese de que los nombres de campo que se muestran en las dos columnas son correctos. Puede cambiar los nombres si fuera necesario.
Establezca las opciones de la relación si fuera necesario. Si necesita información acerca de un elemento específico del cuadro de diálogo Modificar relaciones, haga clic en el botón de signo de interrogación y, a continuación, haga clic en el elemento. Estas opciones se explicarán en detalle posteriormente en este artículo.
Haga clic en Crear para crear la relación.
Repita los pasos de 4 a 7 para cada par de tablas que desee relacionar.
Al cerrar el cuadro de diálogo Modificar relaciones, Access pregunta si desea guardar el diseño. Tanto si guarda el diseño como si no, las relaciones que cree se guardan en la base de datos.

CÓMO DEFINIR UNA RELACIÓN DE VARIOS A VARIOS
Para crear una relación de varios a varios, siga estos pasos:
Cree las dos tablas que tendrán la relación varios a varios.
Cree una tercera tabla. Se trata de la tabla de unión. En la tabla de unión, agregue nuevos campos que tengan las mismas definiciones que los campos de la clave principal de cada tabla que haya creado en el paso 1. En la tabla de unión, los campos de clave principal funcionan como claves externas. Puede agregar otros campos a la tabla de unión, así como a cualquier otra tabla.
En la tabla de unión, establezca la clave principal para incluir los campos de clave principal de las otras dos tablas. Por ejemplo, en una tabla de unión "TítuloAutores", la clave principal se compondría de los campos IdPedido e IdProducto.

Nota: para crear una clave principal, siga estos pasos:
Abra una tabla en la vista Diseño.
Seleccione el campo o campos que desee definir como clave principal. Para seleccionar un campo, haga clic en el selector de fila del campo deseado. Para seleccionar varios campos, mantenga presionada la tecla Ctrl y, a continuación, haga clic en el selector de fila para cada campo.
En Access 2002 o en Access 2003, haga clic en Clave principal en la barra de herramientas.

En Access 2007, haga clic en Clave principal en el grupo Herramientas de la ficha Diseño.

Nota: si desea que el orden de los campos de una clave principal de varios campos sea diferente del orden de esos campos en la tabla, haga clic en Índices en la barra de herramientas para mostrar el cuadro de diálogo Índices y, a continuación, cambie el orden de los nombres de campo del índice denominado ClavePrimaria.
Definir una relación de uno a varios entre cada tabla principal y la tabla de unión.

CONSULTAS MULTITABLA
Es posible seleccionar datos de diferentes tablas mediante una solo consulta, esto se realiza con la sentencia SELECT

Consultando 2 tablas a la vez:
SELECT * FROM tabla1, tabla2;


Con la consulta anterior mostrara todos los datos de la tabla1 y tabla2.
Consultando 2 tablas indicando mediante que campos se unirán y mostrara solo los registros que coincidan:
SELECT * FROM tabla1, tabla2 WHERE campo1=campo2;


INNER JOIN
La sentencia INNER JOIN selecciona todas las filas de las tablas indicadas y solas si los registros de las tablas cumplen las condiciones especificadas en la cláusula ON.
La consulta con INNER JOIN seria de la siguiente manera:
-- Utilizando INNER JOIN
SELECT * FROM tabla1 AS t1 INNER JOIN tabla2 AS t2 ON t1.campo=t2.campo;
-- Utilizando solo JOIN
SELECT * FROM tabla1 AS t1 INNER JOIN tabla2 AS t2 ON t1.campo=t2.campo;
-- Abmas dan el mismo resultado

LEFT JOIN
La cláusula LEFT JOIN devuelve todas los registros de la tabla de la izquierda (tabla1), con las correspondientes de la tabla de la derecha (tabla2). El resultado es NULL en la parte de la derecha cuando no hay registros que correspondan con la condición.
SELECT * FROM tabla1 AS t1 LEFT JOIN tabla2 AS t2 ON t1.campo=t2.campo;


RIGHT JOIN
La instrucción RIGHT JOIN devuelve todas los registros de la tabla de la derecha (tabla2), y todas los registros correspondientes de la tabla de la izquierda (tabla1). El resultado será NULL cuando no haya registros correspondientes de la tabla de la izquierda.
SELECT * FROM tabla1 AS t1 RIGHT JOIN tabla2 AS t2 ON t1.campo=t2.campo;


UNION
El operador UNION se utiliza cuando se necesita combinar los resultados de dos consultas diferentes. Los resultados no tienen que tener ninguna vinculación entre ellos; se quiere mostrar todos los resultados juntos.
SELECT * FROM tabla1 UNION SELECT * FROM tabla2;





No hay comentarios:

Publicar un comentario

Hell Yeah Pointer 5 Chrome - Background