miércoles, 14 de marzo de 2012

Clase 14 de Marzo

CREATE TABLE AUTOR (IDAUTOR INT PRIMARY KEY, NOMBRE VARCHAR2(30));
CREATE TABLE LIBRO (IDLIBRO INT PRIMARY KEY, IDAUTOR INT, NOMBRE VARCHAR2(30));

--CREAR LLAVE FORANEA IDAUTOR EN LIBRO
ALTER TABLE LIBRO
ADD CONSTRAINT FK_LIBRO_AUTOR FOREIGN KEY (IDAUTOR) REFERENCES AUTOR (IDAUTOR);

INSERT INTO AUTOR VALUES(01, 'GABRIEL GARCIA MARQUEZ');
INSERT INTO AUTOR VALUES(02, 'PABLO NERUDA');

--INSERTAR 5 LIBROS
INSERT INTO LIBRO VALUES(11, 01, 'EL ALQUIMISTA');
INSERT INTO LIBRO VALUES(12, 01, 'INGENIERIA DE SOFTWARE');
INSERT INTO LIBRO VALUES(13, 02, 'HOLA QUE TAL');
INSERT INTO LIBRO VALUES(14, 02, 'MI NOMBRE ES...');
INSERT INTO LIBRO VALUES(15, 01, '20 POEMAS DE AMOR Y...');


--MODIFICAR EL TAMAÑO DEL ATRIBUTO NOMBRE EN TABLA LIBRO A 50

ALTER TABLE LIBRO MODIFY NOMBRE VARCHAR2(50);

--AGREGAR LA FECHA DE NACIMIENTO A TABLA AUTOR

ALTER TABLE AUTOR ADD FECNAC DATE;

--COMPLETAR LA FECHA DE NACIMIENTO DE LOS AUTORES

UPDATE AUTOR SET FECNAC = '12-07-1904' WHERE NOMBRE = 'PABLO NERUDA';

UPDATE AUTOR SET FECNAC = '06-03-1927' WHERE NOMBRE = 'GABRIEL GARCIA MARQUEZ';

--seleccionar todos los libros del autor 'pablo neruda'

SELECT * FROM LIBRO L INNER JOIN AUTOR A ON L.IDAUTOR=A.IDAUTOR
WHERE A.NOMBRE = 'PABLO NERUDA';

SELECT * FROM LIBRO L, AUTOR A WHERE L.IDAUTOR = A.IDAUTOR
AND A.NOMBRE = 'PABLO NERUDA';

SELECT * FROM LIBRO WHERE IDAUTOR = (SELECT IDAUTOR FROM AUTOR WHERE A.NOMBRE = 'PABLO NERUDA');

--CALCULAR LA EDAD DE GABRIEL GARCIA MARQUEZ

SELECT NOMBRE, (SYSDATE - FECNAC)/365 FROM AUTOR WHERE 'GABRIEL GARCIA MARQUEZ'

No hay comentarios:

Publicar un comentario