documents.mx sqlserver caso video club
TRANSCRIPT
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
1/17
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
,
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
2/17
2Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
.......................................................................................................................3 ............................................................................................................ 3 ............................................................................................. 5 ............................................................................. 5 ...........................................................................6 .........................................................................................8 ....................................................................................................................9 ....................................................................................................................9 ....................................................................................................................9 ....................................................................................................................9 .................................................................................................................. 10
.................................................................................................................. 10 .................................................................................................................. 10 .................................................................................................................. 10 .................................................................................................................. 11 ................................................................................................................. 12 ................................................................................................................. 12 ................................................................................................................. 12 ................................................................................................................. 13 ................................................................................................................. 14 ................................................................................................................. 14 ................................................................................................................. 14 ................................................................................................................. 15 ................................................................................................................. 15 ................................................................................................................. 15
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
3/17
3Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
Create database [VideoClub]
/*Tabla Actor*/
create table Actor
(
CodigoActor int not null primary key,
NombreApellido varchar(100)
)
/*Tabla Alquiler_Cab*/
create table Alquiler_Cab
(
CodigoAlquiler int not null primary key,
FechaAlquiler datetime,NumeroSocio int,
FechaDevolucion datetime
)
/*Tabla Alquiler_Det*/
create table Alquiler_Det
(
CodigoAlquiler int not null,
CodigoPelicula int not null,
NumeroCopia int not null,
PrecioAlquiler money
)
Alter table Alquiler_Det
add constraint PK_Alquiler_Det
Primary key (CodigoAlquiler, CodigoPelicula, NumeroCopia)
/*Tabla Director*/
create table Director
(
CodigoDirector int not null primary key,
Nombre varchar(50),
Apellido varchar(50)
)
/*Tabla Estreno*/
create table Estreno
(
CodigoPelicula int not null,
FechaDesde datetime not null,
FechaHasta datetime
)
Alter table Estreno
add constraint PK_Estreno
primary key (CodigoPelicula, FechaDesde)
/*Tabla Genero*/
create table Genero
(
CodigoGenero int not null primary key,
Descripcion varchar(100)
)
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
4/17
4Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
/*Tabla Pelicula*/
create table Pelicula
(
CodigoPelicula int not null primary key,
Titulo varchar(100),
CodigoGenero int,
CodigoCalificacion int,
CodigoDirector int,
CodigoProductora int
)
/*Tabla Pelicula_Actor*/
create table Pelicula_Actor
(
CodigoPelicula int not null,
CodigoActor int not null
)
Alter table Pelicula_Actor
add constraint PK_Pelicula_Actor
primary key (CodigoPelicula, CodigoActor)
/*Tabla Productora*/
create table Productora
(
CodigoProductora int not null primary key,
NombreProductora varchar (100)
)
/*Tabla Socio*/
create table Socio
(
NumeroSocio int not null primary key,
ApellidoNombre varchar (50),
Direccion varchar (50)
)
/*Tabla Socio_Telefono*/
create table Socio_Telefono
(NumeroSocio int not null,
Telefono varchar(20) not null
)
Alter table Socio_Telefono
add constraint PK_Socio_Telefono
primary key (NumeroSocio, Telefono)
/*Tabla Stock_Pelicula*/
create table Stock_Pelicula
(CodigoPelicula int not null,
NumeroCopia int not null
)
Alter table Stock_Peliculaadd constraint PK_Stock_Pelicula
primary key(CodigoPelicula, NumeroCopia)
/*Tabla Calificacion*/
create table Calificacion
(
CodigoCalificacion int not null primary key,
Calificacion Varchar(100)
)
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
5/17
5Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
Alter Table Alquiler_Cab with check add constraint
FK_AlquilerCab_Socio foreign key(NumeroSocio)references Socio(NumeroSocio)
Alter Table Alquiler_Det with check add constraint
FK_AlquilerDet_AlquilerCab foreign key(CodigoAlquiler)
references Alquiler_Cab(CodigoAlquiler)
Alter Table Alquiler_Det with check add constraint
FK_AlquilerDet_StockPelicula foreign key(CodigoPelicula, NumeroCopia)
references Stock_Pelicula(CodigoPelicula, NumeroCopia)
Alter Table Estreno with check add constraint
FK_Estreno_Pelicula foreign key(CodigoPelicula)
references Pelicula(CodigoPelicula)
Alter Table Pelicula with check add constraint
FK_Pelicula_Director foreign key(CodigoDirector)references Director(CodigoDirector)
Alter Table Pelicula with check add constraint
FK_Pelicula_Genero foreign key(CodigoGenero)
references Genero(CodigoGenero)
Alter Table Pelicula with check add constraint
FK_Pelicula_Productora foreign key(CodigoProductora)
references Productora(CodigoProductora)
Alter Table Pelicula_Actor with check add constraint
FK_PeliculaActor_Pelicula foreign key(CodigoPelicula)
references Pelicula(CodigoPelicula)
Alter Table Socio_Telefono with check add constraint
FK_SocioTelefono_Socio foreign key(NumeroSocio)
references Socio(NumeroSocio)
Alter Table Stock_Pelicula with check add constraint
FK_StockPelicula_Pelicula foreign key(CodigoPelicula)
references Pelicula(CodigoPelicula)
Alter Table Pelicula_Actor with check add constraint
FK_PeliculaActor_Actor foreign key(CodigoActor)
references Actor(CodigoActor)
Alter Table Pelicula with check add constraint
FK_Pelicula_Calificacion foreign key(CodigoCalificacion)
references Calificacion(CodigoCalificacion)
delete Socio_Telefono
delete Alquiler_Det
delete Alquiler_Cab
delete Stock_Pelicula
delete Estreno
delete Pelicula_Actor
delete Pelicula
Delete Actor
delete Calificacion
delete Socio
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
6/17
6Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
delete Productora
delete Director
delete Genero
/*Genero*/
insert into Genero values (1, 'Terror')
insert into Genero values (2, 'Accion')
insert into Genero values (3, 'Suspenso')
insert into Genero values (4, 'Infantil')
insert into Genero values (5, 'Comedia')
/*Calificacion*/
insert into Calificacion values (1, 'Adultos')
insert into Calificacion values (2, 'Chicos')
insert into Calificacion values (3, 'Todo Publico')
insert into Calificacion values (4, 'Mayor de 13 años')
insert into Calificacion values (5, 'Mayor de 18 años')
/*Socio*/
insert into Socio values (1, 'Gomez Luis', 'Lavalle 3561')
insert into Socio values (2, 'Perez Mario', 'Lavalle 78')
insert into Socio values (3, 'Gomez Marisa', 'Viamonte 741')
/*Socio_Telefono*/
insert into Socio_Telefono values (1, '4897-2110')
insert into Socio_Telefono values (1, '4897-2114')
insert into Socio_Telefono values (2, '4897-2110')
insert into Socio_Telefono values (2, '15-9874-2154')
/*Director*/
insert into Director values (1, 'Mel', 'Gibson')
insert into Director values (2, 'Quentin', 'Tarantino')
insert into Director values (3, 'Woody', 'Allen')insert into Director values (4, 'Francis Ford', 'Coppola')
/*Actor*/
insert into Actor values (1, 'Hulk Hogan')
insert into Actor values (2, 'Antony Hopking')
insert into Actor values (3, 'Ornalla Mutti')
insert into Actor values (4, 'Charles Bronson')
insert into Actor values (5, 'Antony Queen')
/*Productora*/
insert into Productora values (1, 'Metro Goldwun Maier')
insert into Productora values (2, 'Televisa Mexico')
insert into Productora values (3, 'Telefe')
insert into Productora values (4, 'Fox')
insert into Productora values (5, 'Univision')
/*Pelicula*/
insert into Pelicula values (1, 'La Ultima Cena',1,1,1,4)
insert into Pelicula values (2, 'Los 4 Fantasticos',2,2,3,1)
insert into Pelicula values (3, 'El Zorro',1,4,1,4)
insert into Pelicula values (4, 'Arma Mortal IV',2,1,3,1)
insert into Pelicula values (5, 'Caperucita Roja',2,1,3,1)
insert into Pelicula values (6, 'Rambo I',3,1,3,1)
/*Estreno*/
insert into Estreno values (1, '10/05/2010', '12/12/2011')
insert into Estreno values (2, '05/14/2010', '12/18/2011')
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
7/17
7Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
insert into Estreno values (3, '05/19/2010', '12/20/2012')
/*Pelicula_Actor*/
insert into Pelicula_Actor values (1, 1)
insert into Pelicula_Actor values (1, 3)
insert into Pelicula_Actor values (2, 1)
/*Stock_Pelicula*/
insert into Stock_Pelicula values (1, 1)
insert into Stock_Pelicula values (1, 2)
insert into Stock_Pelicula values (1, 3)
insert into Stock_Pelicula values (1, 4)
insert into Stock_Pelicula values (1, 5)
insert into Stock_Pelicula values (2, 1)
insert into Stock_Pelicula values (2, 2)
insert into Stock_Pelicula values (2, 3)
insert into Stock_Pelicula values (2, 4)
insert into Stock_Pelicula values (3, 1)
insert into Stock_Pelicula values (3, 2)
insert into Stock_Pelicula values (3, 3)
/*Alquiler_Cab*/
insert into Alquiler_Cab values (1, '1/6/2010', 1, NULL)
insert into Alquiler_Cab values (2, '1/6/2010', 1, NULL)
insert into Alquiler_Cab values (3, '1/6/2010', 1, NULL)
insert into Alquiler_Cab values (4, '2/6/2010', 1, NULL)
/*Alquiler_Det*/
insert into Alquiler_Det values (1,1,1,5)
insert into Alquiler_Det values (1,2,1,15)
insert into Alquiler_Det values (2,2,1,15)
insert into Alquiler_Det values (2,2,3,15)
insert into Alquiler_Det values (3,2,4,15)
insert into Alquiler_Det values (4,1,5,15)
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
8/17
8Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
9/17
9Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
/*Mostrar todas las peliculas que posee el Video Club*/select * from pelicula
/*Mostrar el codigo y la Calificacion de la Pelicula 'Los 4 Fantasticos'*/select
G.descripcion as Genero,
C.calificacion as Calificacion
from Pelicula P
inner join Genero G on P.CodigoGenero = G.CodigoGenero
inner join Calificacion C on P.CodigoCalificacion = c.CodigoCalificacion
where P.Titulo = 'Los 4 Fantasticos'
/*Mostrar la Cantidad de Peliculas por Productora*/select P.CodigoProductora, COUNT(*)
from Productora P
group by P.CodigoProductora
/*Mostrar la Productora que comercializa mas de 2 peliculas*/
select P.CodigoProductora, COUNT(*)
from Productora P
group by P.CodigoProductora
having COUNT (*)>=2
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
10/17
10Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
/*Mostrar la cantidad de Peliculas esrenadas para el año 2010*/
select COUNT(*)from estreno E
where YEAR (E.FechaDesde)=2010
/*Mostrar la cantidad de Peliculas esrenadas para el año 2009 y 2010*/
select COUNT(*)
from estreno E
where YEAR (E.FechaDesde) in (2009,2010)
/*Mostrar la cantidad de alquileres realizados por mes*/
select month(a.FechaAlquiler) as MesAlquiler, COUNT(*) as TotAlquiler
from alquiler_cab A
group by month(a.FechaAlquiler)
/*Otra forma (uso de la funcion DatePart)*/
select DATEPART (month, A.FechaAlquiler) as MesAlquiler, COUNT(*) as
TotAlquiler
from Alquiler_Cab A
group by DATEPART(month, A.FechaAlquiler)
/*Mostrar la cantidad de alquileres realizados por mes (mostrado en letras)*/
select
case
when DATEPART(MONTH,A.FechaAlquiler)=1 then 'Enero'
when DATEPART(MONTH,A.FechaAlquiler)=2 then 'Febrero'
when DATEPART(MONTH,A.FechaAlquiler)=3 then 'Marzo'
when DATEPART(MONTH,A.FechaAlquiler)=4 then 'Abril'
when DATEPART(MONTH,A.FechaAlquiler)=5 then 'Mayo'
when DATEPART(MONTH,A.FechaAlquiler)=6 then 'Junio'when DATEPART(MONTH,A.FechaAlquiler)=7 then 'Julio'
when DATEPART(MONTH,A.FechaAlquiler)=8 then 'Agosto'
when DATEPART(MONTH,A.FechaAlquiler)=9 then 'Septiembre'
when DATEPART(MONTH,A.FechaAlquiler)=10 then 'Octubre'
when DATEPART(MONTH,A.FechaAlquiler)=11 then 'Noviembre'
when DATEPART(MONTH,A.FechaAlquiler)=12 then 'Diciembre'
end MesAlquiler,
COUNT (*) as TotAlquiler
from Alquiler_Cab A
group by datepart (MONTH, A.FechaAlquiler)
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
11/17
11Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
/*Mostrar los meses (mostrado en letras) que menos alquileres tuvieron en
primer lugar */
select
case
when DATEPART(MONTH,A.FechaAlquiler)=1 then 'Enero'
when DATEPART(MONTH,A.FechaAlquiler)=2 then 'Febrero'
when DATEPART(MONTH,A.FechaAlquiler)=3 then 'Marzo'
when DATEPART(MONTH,A.FechaAlquiler)=4 then 'Abril'
when DATEPART(MONTH,A.FechaAlquiler)=5 then 'Mayo'
when DATEPART(MONTH,A.FechaAlquiler)=6 then 'Junio'
when DATEPART(MONTH,A.FechaAlquiler)=7 then 'Julio'
when DATEPART(MONTH,A.FechaAlquiler)=8 then 'Agosto'when DATEPART(MONTH,A.FechaAlquiler)=9 then 'Septiembre'
when DATEPART(MONTH,A.FechaAlquiler)=10 then 'Octubre'
when DATEPART(MONTH,A.FechaAlquiler)=11 then 'Noviembre'
when DATEPART(MONTH,A.FechaAlquiler)=12 then 'Diciembre'
end MesAlquiler,
COUNT (*) as TotAlquiler
from Alquiler_Cab A
group by datepart (MONTH, A.FechaAlquiler)
order by 2 desc
/*Otra forma (usando el ordenamiento con un count(*))*/
select
case
when DATEPART(MONTH,A.FechaAlquiler)=1 then 'Enero'
when DATEPART(MONTH,A.FechaAlquiler)=2 then 'Febrero'
when DATEPART(MONTH,A.FechaAlquiler)=3 then 'Marzo'when DATEPART(MONTH,A.FechaAlquiler)=4 then 'Abril'
when DATEPART(MONTH,A.FechaAlquiler)=5 then 'Mayo'
when DATEPART(MONTH,A.FechaAlquiler)=6 then 'Junio'
when DATEPART(MONTH,A.FechaAlquiler)=7 then 'Julio'
when DATEPART(MONTH,A.FechaAlquiler)=8 then 'Agosto'
when DATEPART(MONTH,A.FechaAlquiler)=9 then 'Septiembre'
when DATEPART(MONTH,A.FechaAlquiler)=10 then 'Octubre'
when DATEPART(MONTH,A.FechaAlquiler)=11 then 'Noviembre'
when DATEPART(MONTH,A.FechaAlquiler)=12 then 'Diciembre'
end MesAlquiler,
COUNT (*) as TotAlquiler
from Alquiler_Cab A
group by datepart (MONTH, A.FechaAlquiler)
order by count(*) desc
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
12/17
12Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
/*Mostrar los telefonos de todos los socios */
selectS.NumeroSocio, S.ApellidoNombre, T.Telefono
from Socio S, Socio_Telefono T
where S.NumeroSocio = T.NumeroSocio
/*Otra forma (usando inner join)*/
select
S.NumeroSocio, S.ApellidoNombre, T.Telefono
from Socio S
inner join Socio_Telefono T on S.NumeroSocio = T.NumeroSocio
/*Mostrar los socios, tengan o no telefono, y sus telefonos (en caso de que un
socio no tenga telefono mostrarlo igual) */
select
S.NumeroSocio, S.ApellidoNombre, T.Telefono
from Socio S
left join Socio_Telefono T on S.NumeroSocio = T.NumeroSocio
/*Mostrar solo los socios sin telefono */
select
S.NumeroSocio, S.ApellidoNombre, T.Telefono
from Socio S
left join Socio_Telefono T on S.NumeroSocio = T.NumeroSocio
where T.NumeroSocio is null
/*Otra forma (usando subconsultas)*/
select
S.NumeroSocio, S.ApellidoNombre
from Socio S
where S.NumeroSocio not in (select numerosocio from socio_telefono)
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
13/17
13Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
/*Otra forma (agregandole una descripcion de sin telefono cuando el telefono
es nulo, usando la funcion isnull)*/
select
S.NumeroSocio, S.ApellidoNombre, isnull(T.Telefono, 'Sin Teléfono')
from Socio S
left join Socio_Telefono T on S.NumeroSocio = T.NumeroSocio
where T.NumeroSocio is null
/*Otra forma (idem anterior, pero en lugar de la funcion isnull utilizando un
case)*/
select
S.NumeroSocio, S.ApellidoNombre,
case
when T.Telefono is null then 'Sin Teléfono'
else T.Telefono
end Telefono
from Socio S
left join Socio_Telefono T on S.NumeroSocio = T.NumeroSocio
where T.NumeroSocio is null
/*Otra variante del anterior cambiando la validacion*/
select
S.NumeroSocio, S.ApellidoNombre,
case
when T.Telefono is not null then T.Telefono
else 'Sin Teléfono'
end Telefono
from Socio S
left join Socio_Telefono T on S.NumeroSocio = T.NumeroSociowhere T.NumeroSocio is null
/*Mostrar las Peliculas alquiladas, su fecha de alquiler, en que mes, y su
titulo ordenadas de la ultima a la mas reciente*/
select
A.Codigoalquiler,
convert (Varchar (20), A.FechaAlquiler, 103) as FechaAlquiler,
Mes = month(A.FechaAlquiler),
P.Titulo, D.CodigoPelicula, D.NumeroCopia
from Alquiler_Cab A, Alquiler_Det D, Pelicula P
where A.CodigoAlquiler = D.Codigoalquilerand D.CodigoPelicula = P.CodigoPelicula
order by A.FechaAlquiler desc
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
14/17
14Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
/*Mostrar la Pelicula mas alquiladas*/
select top 1
P.Titulo,
count (*) CantVecesAlquilada
from Alquiler_Cab A, Alquiler_Det D, Pelicula P
where A.CodigoAlquiler = D.Codigoalquiler
and D.CodigoPelicula = P.CodigoPelicula
group by P.Titulo
order by count(*) desc
/*Mostrar las Peliculas por Calificacion*/
select C.Calificacion,
count (*) Cantidad
from Pelicula P, Calificacion C
where P.CodigoCalificacion = C.CodigoCalificacion
group by C.Calificacion
/*Mostrar el Socio que mas alquilo por mes*/select top 1
S.ApellidoNombre,
Mes = month(A.FechaAlquiler),
count (*) Alquileres
from Alquiler_Cab A, Socio S
where A.NumeroSocio = S.NumeroSocio
group by S.ApellidoNombre, month (A.FechaAlquiler)
order by 3 desc
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
15/17
15Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
( / / )
/*Agregar el Acento a la Calificacion para que diga 'Público'*/update Calificacion
set Calificacion = 'Todo Público'
where CodigoCalificacion =3
/*Verificar si fue cambiado el Registro*/
select *
from Calificacion
where CodigoCalificacion =3
/*Agregar cuatro nuevos actores*/insert into Actor values (6, 'Amber Benson')
insert into Actor values (7, 'Johnny Deep')
insert into Actor values (8, 'Tom Hanks')
insert into Actor values (9, 'Jackie Chan')
insert into Actor values (10, 'Gary Coleman')
/*Verificar si fue cambiado el Registro*/
select *
from Actor
/*Actualizar datos*/
/*El director 1 cambiarlo a Michael Curtiz*/
update Director
set Nombre='Michael', Apellido='Curtiz'
where CodigoDirector=1
/*Los Actores 1 y 3 actualizarlos a Humphrey Bogart e Ingrid Bergman,
respectivamente*/
update Actor
set NombreApellido ='Humphrey Bogart'
where CodigoActor=1
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
16/17
16Trabajo Practico: Video Club
Materia: Base de Datos
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
update Actor
set NombreApellido ='Ingrid Bergman'
where CodigoActor=3
/*Agregar un actor en la tabla Actores*/
insert into Actor values (11, 'Paul Henreid')
/*Agregar la relacion de la pelicula 1 con este actor*/
insert Pelicula_Actor values (1,11)
/*Actualizar la productora 4 a Warner Bros*/
update Productora
set NombreProductora ='Warner Bros'
where CodigoProductora=4
/*Actualice la pelicula 2, cambiando su director a Tim Story*/
update Director
set Nombre='Tim', Apellido='Story'
where CodigoDirector=3
/*Actualizar la productora 4 a 20th Century Fox*/
update Productora
set NombreProductora ='20th Century Fox'
where CodigoProductora=1
/*Para el Actor 2, actualice su nombre y apellido*/
update Actor
set NombreApellido ='Loan Gruffudd'
where CodigoActor=2
/*Para el Actor 4, actualice su nombre y apellido*/
update Actor
set NombreApellido ='Jessica Alba'
where CodigoActor=4
/*Para el Actor 5, actualice su nombre y apellido*/
update Actor
set NombreApellido ='Michael Chiklis'
where CodigoActor=5
/*Agregar un actor en la tabla Actores*/
insert into Actor values (12, 'Chris Evans')
/*Agregar un actor en la tabla Actores*/
insert into Actor values (13, 'Julian McMahon')
/*Agregar la relacion en Pelicula_Actor llevandola de CodigoPelicula=2 y
CodigoActor=1 a CodigoPelicula=2 y CodigoActor=2*/
update Pelicula_Actor
set CodigoActor=2
where CodigoPelicula=2 and CodigoActor=1
/*Agregar las relaciones de la Pelicula 'Los 4 Fantasticos' con los actores
agregados*/
insert Pelicula_Actor values(2,4)
insert Pelicula_Actor values (2,5)
insert Pelicula_Actor values(2,12)
insert Pelicula_Actor values(2,13)
/*Agregar nuevos Generos*/
insert Genero values (6, 'Ciencia Ficcion')
insert Genero values (7, 'Drama')
-
8/18/2019 Documents.mx Sqlserver Caso Video Club
17/17
17Trabajo Practico: Video Club
M t i B d D t
Universidad Abierta Interamericana
Rectorado: Chacabuco 90 - 1° Piso, Capital Federal – Teléfono: 4342-7788
Campus Lomas: Av. Hipólito Yrigoyen 9963, Lomas de Zamora - Provincia de Bs. As. Teléfono: 4243-4827 / 4244-5839
http://www.vaneduc.edu.ar/uai/
insert Genero values (8, 'Bélica')
insert Genero values (9, 'Cine Nacional')
insert Genero values (10, 'Clasico')