Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Ejercicios PowerPoint Presentation

Ejercicios

185 Views Download Presentation
Download Presentation

Ejercicios

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Ejercicios DDL-DML Profesor: Ernesto Vivanco Tapia

  2. Ejercicios Resueltos

  3. Ejercicio Nº 1: Consultas “DDL”

  4. Create… DDL • Cree la siguiente tabla CREATE TABLE PERSONA ( RUT VARCHAR(12) NOT NULL, NOMBRE VARCHAR(30), APELLIDO VARCHAR(20), FECHA_NACIMIENTO DATE, PRIMARY KEY (RUT) );

  5. Create… DDL • Cree la siguiente tabla Auto Incrementable create table PRUEBA ( ID int not null auto_increment, ALUMNO varchar(30), RAMO text, NOTA int, primary key (ID) );

  6. Create… DDL • Cree la siguientes tablas CREATE TABLE EMPLEADO ( RUT VARCHAR(12) NOT NULL, NOMBRE VARCHAR(30), APELLIDO VARCHAR(30), JEFE_RUT VARCHAR(12), PRIMARY KEY (RUT), FOREIGN KEY(JEFE_RUT) REFERENCES JEFE(RUT) ); create table JEFE ( RUT varchar(12) not null, NOMBRE varchar(30), primary key (RUT) );

  7. Create… DDL • Cree la siguientes tablas CREATE TABLE BODEGA ( LETRA CHAR NOT NULL, PISO INT, PRIMARY KEY (LETRA) ); CREATE TABLE PRODUCTO ( N_SERIE INT NOT NULL, NOMBRE VARCHAR(20), DESCRIPCION TEXT, LETRA_BODEGA CHAR, PRIMARY KEY (N_SERIE), FOREIGN KEY (LETRA_BODEGA) REFERENCES BODEGA(LETRA) );

  8. Alter… • Modifique las siguientes tablas DDL ALTER TABLE PRODUCTO ADD CANTIDAD INT;

  9. Alter… • Modifique las siguientes tablas DDL ALTER TABLE PERSONA ADD DIRECCION VARCHAR(20), ADD SEXO CHAR;

  10. Alter… • Modifique las siguientes tablas DDL ALTER TABLE PRODUCTO ADD PRIMARY KEY(N_SERIE);

  11. Alter… • Modifique las siguientes tablas DDL ALTER TABLE PRODUCTO ADD FOREIGN KEY(LETRA_BODEGA) REFERENCES BODEGA(LETRA);

  12. Alter… • Modifique las siguientes tablas DDL ALTER TABLE PRODUCTO MODIFY DESCRIPCION VARCHAR(20);

  13. Alter… • Modifique las siguientes tablas DDL ALTER TABLE JEFE MODIFY NOMBRE TEXT, ADD APELLIDOS TEXT, ADD PRIMARY KEY(RUT);

  14. Alter… • Modifique las siguientes tablas DDL ALTER TABLE GERENTE DROP EDAD;

  15. Alter… • Modifique las siguientes tablas DDL ALTER TABLE GERENTE DROP PRIMARY KEY;

  16. Alter… • Modifique las siguientes tablas DDL ALTER TABLE EMPLEADO DROP INDEX FK_EMPLEADOR, ADD FOREIGN KEY(RUT_EMPLEADOR) REFERENCES GERENTE(RUT); NOTA: Para borrar una relación (FK), tenemos que borrar directamente la relación en si (INDEX), no el campos que lo relaciona.

  17. Drop… DDL • Borre la siguiente tabla DROP TABLE PRODUCTO;

  18. Drop… DDL • Borre la siguientes tablas DROP TABLE GERENTE, JEFE;

  19. Ejercicio Nº 2: Consultas “Insert, Update, Delete”

  20. INSERT… DML Ingrese los siguientes datos. INSERT INTO Persona VALUES('1-9', 'Carlos Victor', 'Carmona', 'Castro', '1991-10-21', 6651010);

  21. INSERT… DML Ingrese los siguientes datos. INSERT INTO PERSONA VALUES ('2-8', 'Hector Oscar', 'Rodriguez', 'Reberendo', '1990-12-01', 7780010), ('3-7', 'Betzabe Rut', 'Noemi', 'Carrera', '1985-05-30', 6004020);

  22. INSERT… DML Ingrese los siguientes datos. INSERT INTO PERSONA(RUT, Ap_Paterno, Ap_Materno) VALUES('4-6', 'Bustos', 'Burgos');

  23. INSERT… DML Ingrese los siguientes datos. INSERT INTO PERSONA(RUT, Nombres, Ap_Paterno, AP_Materno, Fecha_Nacimiento) VALUES('5-5', 'Fernando', 'Garcia', 'Vazquez', '1980-03-19'); INSERT INTO PERSONA(RUT, Nombres, Ap_Paterno, AP_Materno, Fono) VALUES('6-4', 'Maria Eugenia', 'Zaravia', 'Vazquez', 1230090);

  24. INSERT… DML Ingrese los siguientes datos. INSERT INTO PERSONA(Fecha_Nacimiento, Ap_Paterno, RUT, Ap_Materno, Fono, Nombres) VALUES('1990-01-24', 'Castillo', '7-3', 'Castilla', 9905050, 'Adrian'); NOTA: Cuando aun asi ingresando todos los campos, pero de forma ‘Desordenada’, se tiene que especificar el orden de ingreso.

  25. UPDATE… DML Actualiza los siguientes datos UPDATE persona SET Ap_Paterno = 'Carcamo'

  26. UPDATE… DML Actualiza los siguientes datos UPDATE persona SET Fono = 1234567

  27. UPDATE… DML Actualiza los siguientes datos UPDATE PERSONA SET Nombres = 'Bastian' WHERE RUT = '4-6'; RECORDATORIO: La instrucción UPDATE actualiza TODOS LOS REGISTROS de la tabla, pero con la condición WHERE podemos actualizar el registro especificado (con la PK de la tabla) [‘4-6’]

  28. UPDATE… DML Actualiza los siguientes datos UPDATE PERSONA SET Fecha_Nacimiento = '1995-11-20' WHERE RUT = '4-6'; UPDATE PERSONA SET Fecha_Nacimiento = '1992-04-18' WHERE RUT = '6-4';

  29. DELETE… DML Elimina los siguientes registros DELETE FROM Persona; RECORDATORIO: La instrucción DELETE (al igual que UPDATE) elimina TODOS LOS REGISTROS de la tabla, pero con la condición WHERE podemos eliminar un registro específico (con la PK de la tabla) [‘8-8’]

  30. DELETE… DML Elimina los siguientes registros DELETE FROM Persona WHERE RUT = ’9-9’;

  31. DELETE… DML Elimina todos los registros que en el fono, parten con el numero ‘9’ DELETE FROM Persona WHERE Fono Like ’9%’;

  32. ANALISIS… DML La tabla [PRODUCTOS] han sido modificados en muchas cosas, analiza y guarda el historial de consultas que llevaron a modificar la tabla A B

  33. ANALISIS… DML 1.- Los ‘Parlantes’ se ELIMINARON DELETE FROM PRODUCTOS WHERE ID = 5;

  34. ANALISIS… DML 2.- ‘Pendrive’ es un NUEVO PRODUCTO INSERT INTO PRODUCTO VALUES(6, ’Pendrive’, ’Entrada’, 51);

  35. ANALISIS… DML 3.- Se actualizo la ‘Cantidad’ de Productos NOTA: ¿que tienen en común? La ID de los productos son todos menores a 4 UPDATE PRODUCTOS SET Cantidad = 66 WHERE ID < 4;

  36. ANALISIS… DML 4.- Se actualizo el ‘Tipo’ de Producto NOTA: ¿Se actualizo otro ‘Tipo’? ¡NO!, Entonces tenemos que borrar este único registro, por PK UPDATE PRODUCTOS SET Tipo = ’Salida’ WHERE ID = 3;

  37. ANALISIS… DML RESUMEN ANALISIS 1.- Los ‘Parlantes’ se ELIMINARON 2.- ‘Pendrive’ es un NUEVO PRODUCTO 3.- Se ACTUALIZO la ‘Cantidad’ de Productos 4.- Se ACTUALIZO el ‘Tipo’ de Producto

  38. Ejercicio Nº 3: Consultas “SELECT” Backup Modelo Datos

  39. 1 Tabla 0 Condicion Mostrar todos los registros de la tabla [USUARIO]. SELECT * FROM usuario;

  40. 1 Tabla 0 Condicion Mostrar el Ap. Paterno, el Ap. Materno y su saldo. SELECT Apellido_Pat, Apellido_Mat, Saldo FROM usuario;

  41. 1 Tabla 0 Condicion • Mostrar el RUT, y la fecha de nacimiento de una persona. SELECT RUT, Fecha_Nacimiento FROM usuario;

  42. 1 Tabla 1 condicion • Muestre el Saldo del usuario con RUT ‘5-5’ SELECT Saldo FROM usuario WHERE RUT = '5-5';

  43. 1 Tabla 1 condicion • Mostrar todos los datos de los usuarios que vivan en la COMUNA ‘Puente Alto’ SELECT * FROM usuario WHERE Comuna = 'Puente Alto';

  44. 1 Tabla 1 condicion • Mostrar el RUT, y la Comuna de los usuarios que tienen de apellido materno ‘Flores’ SELECT RUT, Comuna FROM usuario WHERE Apellido_Mat = 'Flores';

  45. 1 Tabla 1 condicion • Mostrar los Nombres y los Apellidos de los usuarios que NO sean del sexo Femenino (‘F’) SELECT Nombres, Apellido_Pat, Apellido_Mat FROM usuario WHERE NOT(sexo = 'F');

  46. 1 Tabla 1 condicion • Muestre el RUT, el Apellido Paterno y la fecha de nacimientos de las personas que tengan de segundo nombre ‘Carlos’ SELECT RUT, Apellido_Pat, Fecha_Nacimiento FROM usuario WHERE Nombres LIKE '%Carlos';

  47. 1 Tabla 1 condicion • Mostrar el RUT y Apellido Paterno (con su respectivo saldo) de los usuarios que tienen un saldo MAYOR a $10.000 SELECT rut, Apellido_Pat, Saldo FROM usuario WHERE saldo > 10000;

  48. 1 Tabla 2 condiciones • Mostrar todos los datos de los usuarios que tienen un saldo entre $4.000 y $9.000 SELECT * FROM usuario WHERE saldo BETWEEN 4000 AND 9000;

  49. 1 Tabla 2 condiciones • Muestre todos los datos del usuario que vive en ‘Renca’, y que además sea un usuario ‘Femenino’ SELECT * FROM usuario WHERE Comuna = 'Renca' AND sexo = 'F';

  50. 1 Tabla 2 condiciones • Mostrar todos los nombres de los usuarios que NO partan con la letra ‘P’, ni con la letra ‘A’ en el 1er nombre. SELECT Nombres FROM usuario WHERE NOT( Nombres LIKE 'P%') AND NOT( Nombres LIKE 'A%');