Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BSRC300-1
Fecha de Entrega
28/09/2010
ndice
2.- Vistas
2.1.- Listar todos los libros por Materia
2.2.- Listar todos los libros por Autor
2.3.- Listar todos los libros prestados y no devueltos por usuario.
2.4.- Calcular los das de atraso que tiene los libros no devueltos a la
fecha.
2.5.- Contar y calcular el dinero correspondiente a los libros no devueltos
considerando que cada Libro tiene un precio
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Tambin este sistema incluye una versin reducida, llamada MSDE con el mismo
motor de base de datos pero orientado a proyectos ms pequeos, que en sus
versiones 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en
forma gratuita.
TABLAS y CAMPOS
Libros
Prestamo_devolu
cion
Usuario
Autor
materia
Carrera
Cod_libro
Cod_pedido
Cod_usuario
Cod_autor
Cod_materia
Cod_carrera
Cod_materia
Cod_libro
Cod_carrera
Nombre_au
tor
materia
Nombre_carr
era
Cod_autor
Cod_usuario
Nombre_usuar
io
Titulo
Fecha_prestamo
Direccion
Precio_libro
Fecha_maxima_ent
rega
telefono
Editorial
Fecha_devolucion
Fecha_publicac
ion
2. Vistas
2.1- Listar todos los libros por Materia
Cdigo
SELECT
FROM
Vista
Vista
(dbo.prestamo_devolucion.fecha_devolucion IS NULL)
Vista
10
2.4.- Calcular los das de atraso que tiene los libros no devueltos a la
fecha.
Cdigo
SELECT
dbo.prestamo_devolucion.fecha_prestamo,
dbo.prestamo_devolucion.fecha_maxima_entrega, DATEDIFF(day,
dbo.prestamo_devolucion.fecha_maxima_entrega, GETDATE())
AS
dias_atraso, dbo.Libros.titulo, dbo.Usuarios.nombre_usuario
FROM
INNER JOIN
dbo.Libros ON dbo.prestamo_devolucion.cod_libro = dbo.Libros.cod_libro
WHERE
(dbo.prestamo_devolucion.fecha_devolucion IS NULL)
Vista
11
(dbo.prestamo_devolucion.fecha_devolucion IS NULL)
Vista
12
3. Procedimientos Almacenados
3.1.- Insertar un Libro
Creacin de Procedimiento
CREATE PROCEDURE insertar_libro @cod_libro varchar(5),
@cod_materia varchar(5),
@cod_autor varchar(5),
@titulo varchar(30),
@precio_libro numeric(18,0),
@editorial varchar(30),
@fecha_publicacion datetime
as
insert into
Libros(cod_libro,cod_materia,cod_autor,titulo,precio_libro,editorial,fecha_publicacion)
values (@cod_libro,@cod_materia,@cod_autor,@titulo,@precio_libro,@editorial,
@fecha_publicacion)
go
exec insertar_libro 'po4','po','1','Martin Rivas',8000,'Ercilla','15-05-60'
Vistas
13
3.2.- Consultar todos los Libros por Materia (la materia se recibe como un
parmetro)
Creacin de Procedimiento
Create Procedure libros_por_materia @materia varchar(30)
as
select materia.cod_materia, materia.materia, libros.cod_libro, libros.titulo, libros.editorial from libros
inner join materia on
libros.cod_materia = materia.cod_materia
where materia.materia = @materia
go
exec libros_por_materia 'poesia'
Vistas
14
Vistas
15
16
17
Creacin de Procedimiento
Create procedure eliminar_prestamos_2009
as
delete from prestamo_devolucion where fecha_maxima_entrega <= '31/12/2009 23:59:59' and
fecha_maxima_entrega >= '01/01/2009 00:00:01' and fecha_devolucion is NULL
go
exec eliminar_prestamos_2009
Vistas
18
Vistas
3.6.- Listar todos los Libros prestados por Carrera. La carrera se ingresa
como un parmetro.
19
Creacin de Procedimiento
create procedure consulta_prestamos_carrera @carrera varchar(50)
as
select carrera.nombre_carrera, prestamo_devolucion.cod_libro,libros.titulo,
prestamo_devolucion.cod_usuario,usuarios.nombre_usuario
from prestamo_devolucion inner join usuarios on prestamo_devolucion.cod_usuario =
usuarios.cod_usuario
inner join libros on prestamo_devolucion.cod_libro = libros.cod_libro inner join carrera on
usuarios.cod_carrera =
carrera.cod_carrera where carrera.nombre_carrera = @carrera
go
exec consulta_prestamos_carrera 'Arte'
Vistas
20