Base de datos I. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Combinación de tablas Objetivo • Utilice alias en los nombres de las tablas. • Combine datos de varias tablas mediante combinaciones. • Combinación de varios conjuntos de resultados en un único conjunto de resultados mediante el operador UNION. Materiales y Equipo • Computadora con SQL Server 2008. • Guía Número 6 • Base de datos de ejemplo Joindb y Library Introducción Clave primaria Una clave primaria es un campo (o varios) que identifica un solo registro (fila) en una tabla. Para un valor del campo clave existe solamente un registro. create table usuarios( nombre varchar(20), clave varchar(10), primary key(nombre) ); Clave foranea Con la restricción "foreign key" se define un campo (o varios) cuyos valores coinciden con la clave primaria de la misma tabla o de otra, es decir, se define una referencia a un campo con una restricción "primary key" o "unique" de la misma tabla o de otra. La integridad referencial asegura que se mantengan las referencias entre las claves primarias y las externas. Por ejemplo, controla que si se agrega un código de editorial en la tabla "libros", tal código exista en la tabla "editoriales".
14
Embed
Tema: Combinación de tablas · PDF fileCuando creamos relaciones en SQL ... de dos tablas en una base de datos ... para adjuntar la base de datos Library 2 En este
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Base de datos I. Guía 6 1
Facultad: Ingeniería
Escuela: Computación
Asignatura: Base de datos I
Tema: Combinación de tablas
Objetivo
• Utilice alias en los nombres de las tablas.
• Combine datos de varias tablas mediante combinaciones.
• Combinación de varios conjuntos de resultados en un único conjunto de resultados
mediante el operador UNION.
Materiales y Equipo
• Computadora con SQL Server 2008.
• Guía Número 6
• Base de datos de ejemplo Joindb y Library
Introducción
Clave primaria
Una clave primaria es un campo (o varios) que identifica un solo registro (fila) en una tabla. Para un valor del campo clave existe solamente un registro.
create table usuarios(
nombre varchar(20), clave varchar(10), primary key(nombre)
);
Clave foranea
Con la restricción "foreign key" se define un campo (o varios) cuyos valores coinciden con la clave primaria de la misma tabla o de otra, es decir, se define una referencia a un campo con una restricción "primary key" o "unique" de la misma tabla o de otra.
La integridad referencial asegura que se mantengan las referencias entre las claves primarias y las externas. Por ejemplo, controla que si se agrega un código de editorial en la tabla "libros", tal código exista en la tabla "editoriales".
2 Base de datos I, Guía6
También controla que no pueda eliminarse un registro de una tabla ni modificar la clave primaria si una clave externa hace referencia al registro. Por ejemplo, que no se pueda eliminar o modificar un código de "editoriales" si existen libros con dicho código.
alter table NOMBRETABLA1
add constraint NOMBRERESTRICCION
foreign key (CAMPOCLAVEFORANEA)
references NOMBRETABLA2 (CAMPOCLAVEPRIMARIA);
Ejemplo Se tienen las tablas VENTAS y VENDEDOR, dichas tablas deberán relacionarse por el idvendedor que es la llave primaria en la tabla VENDEDOR y es foránea en la tabla VENTAS. El script es el siguiente --Creación de BD
Cuando creamos relaciones en SQL Server, este nos permite crear un diagrama relacional de las tablas de la base de datos, como se muestra en la siguiente figura.
Uso de alias en los nombres de tablas.
Base de datos I. Guía 6 3
El uso de alias en los nombres de tablas mejora la legibilidad de las secuencias de
comandos, facilita la escritura de combinaciones complejas y simplifica el mantenimiento
de Transact-SQL.
Al escribir secuencias de comandos, puede sustituir un nombre de tabla descriptivo largo
y complejo por un alias sencillo y abreviado. El alias se utiliza en lugar del nombre
completo de la tabla.
Sintaxis parcial: SELECT * FROM servidor.baseDeDatos.esquema.tabla AS
aliasTabla
Ejemplo 1:
En este ejemplo se muestran los nombres de los clientes, el identificador del cliente y la
cantidad vendida de las tablas buyers y sales. Esta consulta no utiliza alias en las tablas
de la sintaxis de JOIN.
USE joindb
SELECT buyer_name, sales.buyer_id, qty
FROM buyers
INNER JOIN sales
ON buyers.buyer_id = sales.buyer_id
GO
Ejemplo 2:
En este ejemplo se muestran los nombres de los clientes, el identificador del cliente y la
cantidad vendida de las tablas buyers y sales. Esta consulta utiliza alias en las tablas de
la sintaxis de JOIN.
USE joindb SELECT buyer_name, s.buyer_id, qty FROM buyers AS b INNER JOIN sales AS s ON b.buyer_id = s.buyer_id
GO
Ahora la tabla buyers se
le podrá conocer con el
alias b y la tabla sales
se podrá conocer con el
alias s
NOTA:
Algunas veces, la compleja sintaxis de JOIN y las subconsultas deben usar alias en los
nombres de tablas. Por ejemplo, al combinar una tabla consigo misma deben utilizarse
alias.
4 Base de datos I, Guía6
• Combinación de datos de varias tablas:
Una combinación es una operación que permite consultar dos o más tablas para producir
un conjunto de resultados que incorpore filas y columnas de cada una de las tablas. Las
tablas se combinan en función de las columnas que son comunes a ambas tablas.
Cuando se combinan tablas, Microsoft® SQL Server™ compara los valores de las
columnas especificadas fila por fila y, después, utiliza los resultados de la comparación
para combinar los valores que cumplan los criterios especificados en nuevas filas.
Hay tres tipos de combinaciones: combinaciones internas, combinaciones externas y
combinaciones cruzadas. Adicionalmente, en una instrucción SELECT se pueden
combinar más de dos tablas mediante un conjunto de combinaciones o se puede
combinar una tabla consigo misma mediante una autocombinación.
JOIN:
Es una operación que combina registros de dos tablas en una base de datos relacional
que resulta en una nueva tabla (temporal) llamada tabla de JOIN.
Las tablas se combinan para producir un único conjunto de resultados que incorpore filas