Informe Sentencias Taller Biblioteca
Insertar
1. Insertar una reserva para el usuario
Carlos con cedula 8888 de la dependencia judicial para el material libro el
Buen vendedor con un valor de 30000, año 2013 y cantidad 1.
Si el usuario y el material no están
en la base de datos también los debe insertar y asumir los datos
Faltantes.
Nota:
Se viola el constraint ([año]>=(1930) AND [año]<=(2012)) por tanto se
adapta el sql para que el año del material sea de 2012
if
not exists(select Cod_material from
tblMaterial where Nombre_material = 'El buen vendedor')
Begin
insert into tblMaterial values('El buen vendedor',30000,2012,1,1)
insert
into tblEjemplar values
(@@IDENTITY,'Disponible')
End
if
not exists(select Cedula from
tblusuario where Cedula = 8888)
Begin
insert
into tblusuario values(8888,'Carlos','2342','Avenida siempre viva',1, 'Vigente')
insert
into tblPertenece values(8888,1)
End
insert
into tblPrestamo values
('2017-03-08','2017-04-08',(select top(1) [Cod_material] from
tblMaterial where Nombre_material = 'El buen vendedor'),(select top(1) Num_Ejemplar from
tblEjemplar where Cod_Material = (select top(1) [Cod_material] from
tblMaterial where Nombre_material = 'El buen vendedor')) ,8888)
2. Insertar en una tbla llamada
TBL_datos los registros de de los usuarios.
No
entiendo este punto
Consultar
1. Mostrar los datos de los materiales
que no han devuelto los usuarios de sistemas o de administración.
select
M.* from
tblPrestamo P inner join
tblMaterial M
on
P.Cod_Material =
M.Cod_material
inner
join tblusuario U on
U.Cedula = P.Cedula
inner
join tblPertenece Per on
U.Cedula=Per.Cedula
where
Cod_Prestamo
not in ( select Num_Prestamo from
tblDevolucion)
and
Cod_Dependencia in (1,2)
2.
Mostrar los datos de los materiales
con año mayor que 1990 y un valor menor que los materiales con título
fundamentos de B de D, introducción a la administración o Balística.
No se como hacer este.
3.
Mostrar los nombres de los materiales
y su cantidad de préstamos solo si esta cantidad es mayor que el promedio de
todas las cantidades de los materiales.
select
M.Nombre_material,
count(Cod_Prestamo) from tblPrestamo P inner join
tblMaterial M
on
P.Cod_Material =
M.Cod_material
group
by M.Nombre_material
having
count(Cod_Prestamo) > (select sum(Cod_Prestamo) / count(Cod_Prestamo) from tblPrestamo)
4.
Mostrar los datos de los usuarios con
estado vetado que pertenecen a todas las dependencias.
select
U.Cedula,
Nombre, COUNT(U.Cedula) as dependencias from tblusuario U inner
join tblPertenece P on
U.Cedula = P.Cedula
where
Estado_usuario = 'Vetado'
group by U.Cedula, Nombre
Having COUNT(U.Cedula) = (select COUNT([Cod_Dependencia]) from tbldependencia)
Actualizar
1. Actualizar el estado de los
ejemplares de los materiales tipo película o juegos para estado reservado.
Nota:
Se utilizan los tipos Libro y Periodico, ya que Pelicula y Juegos no están en
el script de ejemplo.
Update E set E.estado='reservado' from tblMaterial M inner
join
tblEjemplar E on E.Cod_Material=M.Cod_material where codtipo_material in (1,3)
2. Actualizar el valor de los materiales
en una disminución del 5% con año menor que 2000 y se han prestado más de 5
veces
update M set M.valor = M.valor - (M.valor * (5/100)) from tblMaterial M inner
join (select Cod_material, count([Cod_Prestamo]) countprestamo
from tblPrestamo group
by Cod_material)
P on M.Cod_material = P.Cod_Material
where
countprestamo > 5 and
año < 2000
3. Actualizar el estado de los usuarios
Carlos Camilo y Camila a vigente si pertenecen a las dependencias Judicial
update U set U.Estado_usuario = 'Vigente' from
tblusuario U inner join
tblPertenece P on u.Cedula
= P.Cedula where nombre in ('Carlos', 'Camilo','Camila') and Cod_Dependencia =
1
Borrar
1.
Borrar las reservas de los usuarios
Carlos Camilo y Camila.
delete
from tblReserva where
cedula in (select cedula from tblusuario where
nombre in ('Carlos', 'Camilo', 'Camila'))
2.
Borrar los préstamos de los
ejemplares de los materiales libros
delete from
tblPrestamo where num_ejemplar in (select Num_Ejemplar from tblEjemplar where
Cod_Material in (select Cod_material from tblMaterial where
CodTipo_Material = 1))
Esta actividad se realizará en grupos
máximo de tres estudiantes.
El envío se hace en un bloguer, se
proponen consultas de inserción, selección, actualización y borrado y las
soluciona para ser compartida en el blog.
: Nombre_Apellido_Act1_tarea2_taller.doc
Para la solución se deben
tener en cuenta todos los conceptos del documento DML2 sobre las operaciones de
manipulación de datos.
Como se puede observar, todas las consultas tienen una sintáxis y una manera diferente de gestionar las operaciones que se le solicitan, es por tanto que muchas veces se opta por usar sistemas gestores de bases de datos,y muchos otros, requiere de mucho estudio.
Comentarios
Publicar un comentario