Está en la página 1de 10

Universidad Tecnológica Metropolitana

Asignatura: Base de datos para aplicaciones

Actividad: Realizar 10 vistas en cada una de la


base de datos biblioteca y control escolar

Profesor: Aurelio Mex

Alumno: Gaspar Israel Chay Colli

Parcial: 2

Grupo: C

Fecha de entrega: 27 de junio del 2022


1. Gaspar Israel Chay Colli
2. Base de datos biblioteca
3. Modelo relacional

4. Enunciados

--vista 1. Crea una vista que muestre el nombre y apellido paterno de todos los
-- autores asi como tambien el libro que tiene escrito con su numero de paginas--
create view Autor_Libro
as
select n.nombre, n.Apellido_paterno, l.titulo, l.num_pag
from Nombre n
inner join Autor_escribe_libro a
on n.id_nombre = a.cod_aut
inner join Libro l
on l.cod_libro = a.cod_libro

select * from Autor_Libro

--vista 2 Cree una vista que muestre el nombre, el ISBM, el numero


--de paginas y la editorial del libro el principito --
create view Libro_Principito
as
select l.titulo, l.ISBM, l.num_pag, e.editorial
from Editorial as e
inner join Libro as l
on e.id_editorial = l.id_editorial
where l.titulo ='El principito'

select * from Libro_Principito

--vista 3. Obtener el nombre, el isbm, el numero de paginas


--y el id editorial donde el codigo del libro sea 2--
create view Libro2
as
select l.titulo, l.ISBM, l.num_pag, l.id_editorial
from Libro as l
where l.cod_libro = 2

select * from Libro2

--vista 4 Obtener la calle, el numero , la colonia y el municipio, con el nombre


--del autor y con su apellido paterno cuando el id_nombre sea 2--
create view Direccion_autor
as
select d.calle, d.numero, d.colonia , d.municipio, n.nombre, n.Apellido_paterno
from Direccion as d
inner join Usuario as u
on d.id_direccion = u.id_direccion
inner join Nombre as n
on n.id_nombre = u.id_nombre
where n.id_nombre = 2

select * from Direccion_autor

--vista 5. Obtener el titulo, la fecha de prestamo y la


--fecha de devolucion con el codigo 4--
create view Fecha_Libro
as
select l.titulo, u.fecha_prest , u.fecha_devol
from Libro as l
inner join Ejemplar as e
on l.cod_libro = e.cod_libro
inner join Usuar_presta_ejem as u
on u.cod_ejemplar = e.cod_ejemplar
where l.cod_libro = 4

select * from Fecha_Libro

--vista 6. Obtener el nombre del autor y su apellido con el id 1


--asi como el numero de telefon--
create view Usuario_Tel
as
select n.nombre, n.Apellido_paterno, t.telefono
from Nombre as n
inner join Usuario as u
on n.id_nombre = u.id_nombre
inner join Telefono as t
on t.id_telef = u.id_telefono
where n.id_nombre = 1

select * from Usuario_Tel

--vista 7. Obtener la localizacion asi como tambien la fecha de prestamo y


--la fecha de devolucion--
create view local_fecha
as
select l.localizacion, u.fecha_prest, u.fecha_devol
from Localizacion as l
inner join Ejemplar as e
on l.id_localizacion = e.id_localizacion
inner join Usuar_presta_ejem as u
on u.cod_ejemplar = e.cod_ejemplar

--vista 8. Obtener donde el nombre y la localizacion del libro el principito--


create view loc_elprincipito
as
select l.titulo,l.ISBM, loc.localizacion
from Libro as l
inner join Ejemplar as e
on l.cod_libro = e.cod_libro
inner join Localizacion as loc
on loc.id_localizacion = e.id_localizacion
where l.titulo = 'El principito'

select * from loc_elprincipito

--vista 9 Obtener el nombre del libro, el isbm y el numero de paginas


--de la editorial del rey--
create view edit_libro
as
select l.titulo, l.ISBM, l.num_pag
from Libro as l
inner join Editorial as e
on l.id_editorial = e.id_editorial
where e.editorial = 'Del rey'

--vista 10. Obtener el nombre del libro, su editorial y la fecha en la sera


--devuelto--
create view devo_libri
as
select l.titulo, e.editorial, u.fecha_devol
from Editorial e
inner join Libro l
on e.id_editorial = l.id_editorial
inner join Ejemplar ej
on ej.cod_libro = l.cod_libro
inner join Usuar_presta_ejem u
on u.cod_ejemplar = ej.cod_ejemplar

select * from devo_libri


1. Gaspar Israel Chay Colli
2. Base de datos control escolar
3. Modelo relacional

4. Enunciados

--vista 1. Obtener el nombre, el apellido paterno y materno ademas


--de la fecha de nacimiento de un estudiante donde el DNI sea igual a AL01--
CREATE VIEW AlumnoAL01
AS
select e.Nombre, e.ApellidoP, e.ApellidoM, e.Fecha_Nac
from Estudiante e
where e.DNI = 'AL01'

select * from AlumnoAL01


--vista 2 Obtener el nombre del alumno, su apellido paterno y materno, asi como
--su direccion, el nombre y su codigo postal donde la matricula sea igual a AL04--
CREATE VIEW ALUMNOAL04
AS
select e.Nombre as [Alumno], e.ApellidoP, e.ApellidoM,d.Direccion, d.Nombre, d.CP
from Estudiante e
inner join Direccion_Alum d
on e.DNI = d.DNI
where d.DNI = 'AL04'

SELECT * FROM ALUMNOAL04

--vista 3 Obtener el mes, dia y hora ademas del codigo del control de aula
--donde el id del control sea igual a CA03--
CREATE VIEW CONTROL_CA03
AS
select c.mes, c.dia,c.hora, c.Codigo
from Control_Aula c
where c.ID_Control = 'CA03'

SELECT * FROM CONTROL_CA03

--vista 4- Obtener el nombre, apellido paterno y materno, ademas del


--codigo postal y direccion del profesor donde el dni sea PR04--
create view ProfesorPro4
as
select p.Nombre, p.ApellidoP, p.ApellidoM, dp.CP, dp.Direccion
from profesor p
inner join Direccion_Profesor dp
on p.DNI_Prof = dp.DNI_Prof
where p.DNI_Prof = 'PR04'

select * from ProfesorPro4

--vista 5 Obtener el nombre, el apellido, la clave asignatura


--de la matricula 21090454 --
create view Alumnomatricula
as
select e.Nombre, e.ApellidoP, m.Notas, m.C_Asignatura
from Estudiante e
inner join Matricula m
on e.DNI = m.DNI_Alumn
where m.ID_Mat = '21090454'

select* from Alumnomatricula

--vista 6. Obtener el telefono, el nombre, el apellido paterno, el lugar y su


direccion de
--de todos los alumnos--
create view Dir_Alumno
as
select t.Telefono, e.Nombre, e.ApellidoP, d.Nombre as [Lugar], d.Direccion
from Telefono_Alum t
inner join Estudiante e
on t.DNI = e.DNI
inner join Direccion_Alum d
on d.DNI = e.DNI
select * from Dir_Alumno

--vista 7 obtener el nombre de, las horas, la cantidad de pupitres y el piso donde
--se encuentran todas las materias--
create view Asign
as
select a.Nombre, a.Horas, au.C_Pupitres, au.Piso
from Asignatura a
inner join Aula au
on a.C_Aula = au.Codigo

select * from Asign

--vista 8. Obtener el telefono, nombre, la asignatura impartida, asi coo sus horas y
el piso
--del profesor con dni PR04--
CREATE VIEW Prof
as
select t.Telefono, p.Nombre, a.Nombre as [Asignatura], a.Horas, au.Piso
from Telefono_Prof t
inner join Profesor p
on t.DNI = p.DNI_Prof
inner join Asignatura a
on a.C_Asignatura = p.C_Asignatura
inner join Aula au
on au.Codigo = a.C_Aula
where p.DNI_Prof = 'PR04'

select * from Prof

--vista 9 Obtener el nombre de nombre, su apellido paterno y el curso que imparten


-- todos los profesores--
create view Profesor_Curso
as
select p.Nombre , p.ApellidoP, c.Nombre as [Curso]
from Profesor p
inner join Curso c
on p.Codigo = c.Codigo

select * from Profesor_Curso

--vista 10 Obtener el nombre y el apellido de los alumnos, tambien sus


calificaciones e incidencias,
--ademas de a que curso pertenece cada asignatura --

create view Alumno_materia


as
select e.Nombre, e.ApellidoP,asi.Nombre as [Asignatura], a.Notas, a.incidencias,
c.Nombre as [curso]
from Estudiante e
inner join Matricula a
on e.DNI = a.DNI_Alumn
inner join Asignatura asi
on asi.C_Asignatura = a.C_Asignatura
inner join Curso c
on c.Codigo = asi.Codigo

select * from Alumno_materia

También podría gustarte