Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

S09 - S1-Ejercicios Laboratorio BD Marco Alvino Daviran

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

BASE DE DATOS

LABORATORIO N° 09
Escuela Profesional: Ingeniería. Asignatura: Base de Datos

Semestre Académico: Ciclo 4 2024-I


Docente: Mg. Arnaldo Infante Grados Fecha:11/10/2024

Sesión 9: Combinación de tablas SQL.


INTRODUCCION

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 en cuestión. Las tablas se combinan en función de las columnas que
son comunes a ambas tablas.

I. OBJETIVOS

1. Elaborar consultas a partir del análisis de requerimientos de información.


2. Generar el diseño lógico y físico de la base de datos.
3. Aprender a manipular las bases de datos utilizando lenguajes adecuados a partir de
un modelo de datos.

II. EQUIPOS Y MATERIALES


 Computadora personal.
Programa SQL
 correctamente instalado.
 Notas de los ejercicios resueltos en la clase.

III. METODOLOGIA Y ACTIVIDADES

 Teórico y práctico desarrollados en el aula virtual.


 Presentar avances y ejecución de cada uno de los ejercicios al
docente para la calificación correspondiente.
 Guardar la carpeta de sus archivos a sus memorias.
BASE DE DATOS

ESCUELA ACADEMICA PROFESIONAL DE


INGENIERIA DE SISTEMAS

IV. IMPORTANTE

 Crear siempre, una carpeta, donde se guardarán todas las


aplicaciones realizadas en el presente laboratorio con el nombre
LABORAT-07.

V.- MANEJO DEL SOFTWARE

Actividades prácticas de reforzamiento

1. Crear la base de datos BDVENTAS (pegue el script).


create database BDVENTAS

2. Crear las siguientes tablas según diagrama (pegue el script)

USE BDVENTAS
BASE DE DATOS

create table Distrito(


id_distrito varchar(10) not null,
nomb_distrito varchar(50) null,

constraint pk_idDistrito primary key(id_distrito)


)

CREATE TABLE Cliente(


cod_cliente varchar(10) not null,
nomb_cliente varchar(50) null,
ape_cliente varchar(50) null,
dire_cliente varchar(100) null,
fechnac_cliente date null,
id_distrito varchar(10),

constraint pk_CodCliente primary key(cod_cliente),


constraint fk_idDistrito foreign key (id_distrito) references
Distrito(id_distrito)
)

create table Factura(


cod_factura varchar(10) not null,
cod_cliente varchar(10) null,
fecha_factura date null,
total_factura money not null,

constraint pk_codFactura primary key(cod_factura),


constraint fk_CodCliente foreign key(cod_cliente) references
Cliente(cod_cliente)
)

3. Insertar los siguientes datos (pegue el script)

insert into Distrito values


('D001','Ate'),
('D002','Lince'),
('D003','Los Olivos'),
('D004','Villa el Salvador'),
BASE DE DATOS
('D005','Independencia'),
('D006','Miraflores'),
('D007','San Isidro '),
('D008','Lima')
select * from Distrito

insert into Cliente values


('C001','Luis','Rodriguez Arias','Calle los claveles 100','1998-05-10','D001'),
('C002','Jose','Torres Tafur','Calle los cibeles 350','1990-08-12','D002'),
('C003','Carlos','Ayala Caro','Jr. Las Palmas 420','1985-07-15','D006'),
('C004','Luana','Pimentel Espinoza','Calle los planetas 650','1978-10-21','D002'),
('C005','Maria','Chavez Manrique','Av. Los Cipreces 145','1995-11-30','D004'),
('C006','Rosa','Ventocilla Mendoza','Calle Las Gardenias 260','1992-02-
25','D005'),
('C007','Enrique','Timoteo Campos','Av. Los Frutales 220','1991-03-23',null),
('C008','Pablo','Ramirez Grados','Calle El Salvador 820','1999-09-18','D008'),
('C009','Andres','Junco Tello','Calle El Olivar 290','1991-04-27’, null),
('C010','Marco','Tulio Perez','Av. Brasil 1501','1987-08-29’, null)
select * from Cliente

insert into Factura values


('FA001','C001','2023-01-15',150.57),
('FA002','C002','2023-02-16',120.65),
('FA003','C003','2023-02-18',95.55),
('FA004','C001','2023-03-30',75.75),
('FA005','C002','2023-04-01',20.95),
('FA006','C005','2023-05-08',35.85),
('FA007','C004','2023-06-10',50.55),
('FA008',null,'2023-07-19',95.45),
('FA009',null,'2023-08-25',80.75),
('FA010','C003','2023-09-28',60),
('FA011',null,'2023-11-20',80)
select * from Factura

4. Realizar las siguientes consultas

a) INNER JOIN

 Realizar Inner Join en las 3 tablas.


 Realizar Inner Join en las tablas factura y cliente.
 Realizar Inner Join en las tablas cliente y distrito.

b) Uso del LEFT JOIN


BASE DE DATOS

 Realizar Left Join en las tablas factura y cliente.


 Realizar Left Join en las tablas cliente y distrito.

c) Uso del LEFT JOIN IS NULL

 Realizar Left join is null en las tablas factura y cliente.


 Realizar Left join is null en las tablas cliente y distrito.

d) Uso del RIGHT JOIN

 Realizar Right join en las tablas factura y cliente.


 Realizar Right join en las tablas cliente y distrito.

e) Uso del RIGHT JOIN IS NULL

 Realizar Right join is null en las tablas factura y cliente.


 Realizar Right join is null en las tablas cliente y distrito.

f) Uso del FULL


JOIN
BASE DE DATOS

 Realizar Full join en las tablas factura y cliente.


 Realizar Full join en las tablas cliente y distrito.

g) Uso del FULL JOIN IS NULL

 Realizar Full join is null en las tablas factura y cliente.


 Realizar Full join is null en las tablas cliente y distrito.

h) Uso del CROSS JOIN

 Realizar Cross join en las tablas factura y cliente.


 Realizar Cross join en las tablas cliente y distrito.

--A: inner Join--


select * from Factura as F
inner join Cliente as C on F.cod_cliente=C.cod_cliente
inner join Distrito as D on D.id_distrito=C.id_distrito

select * from Factura as F


inner join Cliente as C on F.cod_cliente=C.cod_cliente
BASE DE DATOS

select * from Cliente as C


inner join Distrito as D on D.id_distrito=C.id_distrito

--B: Left Join--


select * from Factura as F
left join Cliente as C on F.cod_cliente=C.cod_cliente

select * from Cliente as C


left join Distrito as D on D.id_distrito=C.id_distrito

--C: Left Join is null--


select * from Factura as F
left join Cliente as C on F.cod_cliente=C.cod_cliente
where C.cod_cliente is null

select * from Cliente as C


left join Distrito as D on D.id_distrito=C.id_distrito
where D.id_distrito is null

--D: Right Join--


select * from Factura as F
right join Cliente as C on F.cod_cliente=C.cod_cliente

select * from Cliente as C


right join Distrito as D on D.id_distrito=C.id_distrito

--E: Right Join is null--


select * from Factura as F
right join Cliente as C on F.cod_cliente=C.cod_cliente
where F.cod_factura is null

select * from Cliente as C


right join Distrito as D on D.id_distrito=C.id_distrito
where C.cod_cliente is null

--F: Right Join is null--


select * from Factura as F
full join Cliente as C on F.cod_cliente=C.cod_cliente

select * from Cliente as C


full join Distrito as D on D.id_distrito=C.id_distrito

--G: Right Join is null--


select * from Factura as F
full join Cliente as C on F.cod_cliente=C.cod_cliente
where C.cod_cliente is null or F.cod_factura is null

select * from Cliente as C


full join Distrito as D on D.id_distrito=C.id_distrito
where C.cod_cliente is null or d.id_distrito is null
BASE DE DATOS

--H: Right Join is null--


select * from Factura
cross join Cliente

select * from Cliente


cross join Distrito

También podría gustarte