Práctica 2 - Apartado 4

De FdIwiki ABD
Saltar a: navegación, buscar

Plantilla:Please leave this line alone and write below (this is the coloured heading)

APARTADO 4.- Entregar las instrucciones necesarias en sql y los resultado de las consulta) a)- Se desea crear una tabla diccionario DICCION, que tenga los siguientes atributos: PalID , será como máximo de 20 caracteres. Identifica la palabra. Descripción , de 50 caracteres PadreID, de 20 char. Representa un concepto más genérico que PalID, en las filas insertadas en b)- se ve que ‘select compuesta’ es el PadreID de ‘select jerarquica’ y de ‘select correlativa’ create table DICCION (

  • PaIID CHAR(20) not null,
  • Descripcion CHAR(50),
  • PadreID CHAR(20),
  • PRIMARY KEY (PaIID)

);


b)- Se desean incluir las siguientes filas: (estas comillas son del word, no válidas en oracle)

  • INSERT INTO DICCION VALUES ('select jerarquica','estructura tabla en arbol', 'select compuesta');
  • INSERT INTO DICCION VALUES ('fecha sistema','es la fecha que tiene el ordenador','fecha');
  • INSERT INTO DICCION VALUES ('fecha','tipo de dato' , 'en oracle : DATE','nada');
  • INSERT INTO DICCION VALUES ('select compuesta','consultas con varias partes', 'select');
  • INSERT INTO DICCION VALUES ('select simple', 'consultas con una sola instruccion','select');
  • INSERT INTO DICCION VALUES ('select', 'hacer consulta', 'nada');
  • INSERT INTO DICCION VALUES ('sql','lenguaje de consultas estructuradas', 'nada');
  • INSERT INTO DICCION VALUES ('select correlativa', 'coordina resultado subconsulta', 'select compuesta');



c)- Hacer una consulta jerárquica conectada por PalID y PadreID que empiece con la palabra ‘select’ (es como la de 'mascplan.sql')

  • SELECT *
  • FROM DICCION
  • WHERE PAIID LIKE 'select%'
  • CONNECT BY PRIOR PAIID = PADREID;


d)- Insertar una fila con valores PalID = ‘ select anidada’, descripción = ‘consulta dentro de consulta’ y PadreID = ‘select compuesta’. Lo importante de esta inserción es que se quiere hacer solo en el caso que el padre exista, es decir solo hacerla en caso de que una consulta de PalID=´select compuesta’ devuelve algo. Si no devuelve nada no se debe crear.

  • INSERT INTO DICCION(paiid, descripcion, padreid)
  • SELECT 'select anidada', 'consulta dentro de consulta' , paiid
  • FROM DICCION
  • where paiid = 'select compuesta';


--EduardoPuerro (discusión) 18:23 22 abr 2015 (CEST)