PLSQL
Base de datos
PLSQL
• Es un programa de base de datos, que permitirá
  guardar información de cualquier tipo. Es similar al
  ACCESS
• Cuando se desee obtener información de algo “X” se
  realizará la CONSULTA….
Consulta …
              select
              from
O lo que se desee preguntar
VISTA
• Cuando estas consultas se requieran guardar
  se hará una VISTA, la cual se escribirá así

• Create or replace (nombre_vista) as
  (consulta_sql)

select
………
Ejemplo: realizar las siguientes vistas
Item 1

a) Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS del
estudiante, NOMBRE de la carrera y NOMBRE del campus).
create or replace view estudiantes_comercial as
select e.nombres, e.apellidos, c.nombre as carrera, cc.nombre campus
from estudiantes e, carreras c, campus cc
where c.id_carrera=e.id_carrera
and cc.id_campus=c.id_campus
and c.nombre='ing. comercial‘

b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante,
NOMBRE de la carrera y NOMBRE del campus).

create or replace view est_auditoria as
select e.nombres, e.apellidos, c.nombre as auditoria, cc.nombre as campus
from estudiantes e, carreras c, campus cc
where c.id_carrera=e.id_carrera
and cc.id_campus=c.id_campus
and c.nombre='auditoria'
c) Que entregue los estudiantes que se atrasaron en la entrega de los libros(RUT, NOMBRES,
APELLIDOS y FONO).
create or replace view est_prest as
select e.rut_est, e.nombres as est, e.apellidos as est_2, e.fono as fon_est, p.fecha_e
from estudiantes e, prestamo p
where e.rut_est=p.rut_est and p.fecha_e<sysdate

d) La cantidad de libros prestados.
create or replace view libr_prest as
select count(*)
from prestamo

e) Los libros de editoriales extranjeras (CODIGO,TITULO , AÑO y PAIS de ORIGEN).
create or replace view lib_edi as
select l.cod_libro, l.titulo, l.agno, e.pais
from libros l, editoriales e
where l.id_edit=e.id_edit and e.pais<>'chile'

f) Los libros que son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE de la biblioteca, el
NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS ).
create or replace view lib_reserva as
select l.cod_libro, l.titulo, l.agno, b.biblioteca, a.nombres, a.apellidos, e.nombre, e.pais
from libros l, biblioteca b, autores a, editoriales e, tipo t
where l.id_biblio=b.id_biblio and l.rut_autor=a.rut_autor and l.id_edit=e.id_edit and
l.id_tipo=t.id_tipo and t.tipo_p='reserva'
Item 2
2.-Se requiere obtener datos desde la Base de Datos y almacenarlos de forma permanente
(Vista). Se solicita:
Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o no).
Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del NOMBRE de la
carrera a la cual pertenece.
Además se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y AÑO, el
NOMBRE y APELLIDO del autor, la EDITORIAL y su PAIS, indicar en qué biblioteca se encuentra, y
de qué tipo es.
Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y APELLIDO.
Además deberá indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de éste.

NOTA: deberá añadir ALIAS al NOMBRE del estudiante, del funcionario, del autor y de la carrera
para diferenciarlos.

a)
CREATE OR REPLACE VIEW LIB_EST_TEJA AS
select e.nombres as est, cc.nombre as camp
from prestamo p, estudiantes e, carreras c, campus cc
where p.rut_est=e.rut_est and e.id_carrera=c.id_carrera and c.id_campus=cc.id_campus and
CC.nombre='ISLA TEJA'
b)
CREATE OR REPLACE VIEW EST_CARRERA AS
select e.rut_est AS r_estu, e.nombres AS nom_est, e.apellidos AS apell_ast, c.nombre AS
nom_car
from estudiantes e, carreras c
where e.id_carrera=c.id_carrera

c)
CREATE OR REPLACE VIEW LIB_PREST AS 3
select l.cod_libro AS lib, l.titulo AS lib, l.agno AS sib, a.nombres AS aut, a.apellidos AS aut,
e.nombre AS edito, e.pais AS edito , b.biblioteca AS biblio, t.tipo_p AS tip
from libros l, autores a, editoriales e, biblioteca b, tipo t, prestamo pr
where pr.cod_libro=l.cod_libro and l.rut_autor=a.rut_autor and l.id_edit=e.id_edit and
l.id_biblio=b.id_biblio and l.id_tipo=t.id_tipo

d)
CREATE OR REPLACE VIEW FUNC_PREST AS
select f.rut_func as funci, f.nombres as funci, f.apellidos as funci
from prestamo p, funcionarios f
e)
CREATE OR REPLACE VIEW FUNC_PRES_FE as
select f.rut_func as funci, f.nombres as funci, f.apellidos as funci, p.fecha_p as prest, p.fecha_e
from prestamo p, funcionarios f
Item 3

a) El número de Estudiantes por Carrera.
select id_carrera, count(rut_est)
from estudiantes
group by id_carrera

b) El número de Préstamos atrasados
select fecha_e, count(fecha_p)
from prestamo
group by fecha_e
having fecha_e<sysdate

c) El número de Prestamos Activos, No atrasados.
select fecha_e, count(fecha_p)
from prestamo
group by fecha_e
having fecha_e>sysdate
• Para mayor información, visita las páginas de
  este blog, te serán muy útil para la realización
  de tus trabajos.

PLSQL

  • 1.
  • 2.
    PLSQL • Es unprograma de base de datos, que permitirá guardar información de cualquier tipo. Es similar al ACCESS • Cuando se desee obtener información de algo “X” se realizará la CONSULTA…. Consulta … select from O lo que se desee preguntar
  • 3.
    VISTA • Cuando estasconsultas se requieran guardar se hará una VISTA, la cual se escribirá así • Create or replace (nombre_vista) as (consulta_sql) select ………
  • 4.
    Ejemplo: realizar lassiguientes vistas Item 1 a) Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). create or replace view estudiantes_comercial as select e.nombres, e.apellidos, c.nombre as carrera, cc.nombre campus from estudiantes e, carreras c, campus cc where c.id_carrera=e.id_carrera and cc.id_campus=c.id_campus and c.nombre='ing. comercial‘ b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). create or replace view est_auditoria as select e.nombres, e.apellidos, c.nombre as auditoria, cc.nombre as campus from estudiantes e, carreras c, campus cc where c.id_carrera=e.id_carrera and cc.id_campus=c.id_campus and c.nombre='auditoria'
  • 5.
    c) Que entreguelos estudiantes que se atrasaron en la entrega de los libros(RUT, NOMBRES, APELLIDOS y FONO). create or replace view est_prest as select e.rut_est, e.nombres as est, e.apellidos as est_2, e.fono as fon_est, p.fecha_e from estudiantes e, prestamo p where e.rut_est=p.rut_est and p.fecha_e<sysdate d) La cantidad de libros prestados. create or replace view libr_prest as select count(*) from prestamo e) Los libros de editoriales extranjeras (CODIGO,TITULO , AÑO y PAIS de ORIGEN). create or replace view lib_edi as select l.cod_libro, l.titulo, l.agno, e.pais from libros l, editoriales e where l.id_edit=e.id_edit and e.pais<>'chile' f) Los libros que son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS ). create or replace view lib_reserva as select l.cod_libro, l.titulo, l.agno, b.biblioteca, a.nombres, a.apellidos, e.nombre, e.pais from libros l, biblioteca b, autores a, editoriales e, tipo t where l.id_biblio=b.id_biblio and l.rut_autor=a.rut_autor and l.id_edit=e.id_edit and l.id_tipo=t.id_tipo and t.tipo_p='reserva'
  • 6.
    Item 2 2.-Se requiereobtener datos desde la Base de Datos y almacenarlos de forma permanente (Vista). Se solicita: Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o no). Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del NOMBRE de la carrera a la cual pertenece. Además se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y AÑO, el NOMBRE y APELLIDO del autor, la EDITORIAL y su PAIS, indicar en qué biblioteca se encuentra, y de qué tipo es. Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y APELLIDO. Además deberá indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de éste. NOTA: deberá añadir ALIAS al NOMBRE del estudiante, del funcionario, del autor y de la carrera para diferenciarlos. a) CREATE OR REPLACE VIEW LIB_EST_TEJA AS select e.nombres as est, cc.nombre as camp from prestamo p, estudiantes e, carreras c, campus cc where p.rut_est=e.rut_est and e.id_carrera=c.id_carrera and c.id_campus=cc.id_campus and CC.nombre='ISLA TEJA'
  • 7.
    b) CREATE OR REPLACEVIEW EST_CARRERA AS select e.rut_est AS r_estu, e.nombres AS nom_est, e.apellidos AS apell_ast, c.nombre AS nom_car from estudiantes e, carreras c where e.id_carrera=c.id_carrera c) CREATE OR REPLACE VIEW LIB_PREST AS 3 select l.cod_libro AS lib, l.titulo AS lib, l.agno AS sib, a.nombres AS aut, a.apellidos AS aut, e.nombre AS edito, e.pais AS edito , b.biblioteca AS biblio, t.tipo_p AS tip from libros l, autores a, editoriales e, biblioteca b, tipo t, prestamo pr where pr.cod_libro=l.cod_libro and l.rut_autor=a.rut_autor and l.id_edit=e.id_edit and l.id_biblio=b.id_biblio and l.id_tipo=t.id_tipo d) CREATE OR REPLACE VIEW FUNC_PREST AS select f.rut_func as funci, f.nombres as funci, f.apellidos as funci from prestamo p, funcionarios f e) CREATE OR REPLACE VIEW FUNC_PRES_FE as select f.rut_func as funci, f.nombres as funci, f.apellidos as funci, p.fecha_p as prest, p.fecha_e from prestamo p, funcionarios f
  • 8.
    Item 3 a) Elnúmero de Estudiantes por Carrera. select id_carrera, count(rut_est) from estudiantes group by id_carrera b) El número de Préstamos atrasados select fecha_e, count(fecha_p) from prestamo group by fecha_e having fecha_e<sysdate c) El número de Prestamos Activos, No atrasados. select fecha_e, count(fecha_p) from prestamo group by fecha_e having fecha_e>sysdate
  • 9.
    • Para mayorinformación, visita las páginas de este blog, te serán muy útil para la realización de tus trabajos.