ismoy

manejo base de datos oracle

Dec 13th, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. -- ELIMINACION DE TABLAS
  2. DROP TABLE asignatura CASCADE CONSTRAINTS;
  3. DROP TABLE curso CASCADE CONSTRAINTS;
  4. DROP TABLE alumno CASCADE CONSTRAINTS;
  5. DROP TABLE nota_alumno CASCADE CONSTRAINTS;
  6.  
  7. -- CREACCI?N TABLE ASIGNATURA
  8. CREATE TABLE ASIGNATURA
  9. (sigla_asignatura VARCHAR2(10) NOT NULL,
  10. nombre VARCHAR2(25) NOT NULL,
  11. CONSTRAINT PK_ASIGNATURA PRIMARY KEY(sigla_asignatura));
  12.  
  13. -- CREACI?N TABLA CURSO
  14. CREATE TABLE CURSO
  15. (sigla_curso VARCHAR2(10) NOT NULL,
  16. descripcion VARCHAR2(25) NOT NULL,
  17. CONSTRAINT PK_CURSO PRIMARY KEY(sigla_curso));
  18.  
  19. -- CREACI?N TABLA ALUMNO
  20. CREATE TABLE ALUMNO
  21. (numrut_alumno NUMBER(10) NOT NULL,
  22. dvrut_alumno VARCHAR2(1) NOT NULL,
  23. pnombre VARCHAR2(25) NOT NULL,
  24. snombre VARCHAR2(25),
  25. appaterno VARCHAR2(25) NOT NULL,
  26. apmaterno VARCHAR2(25) NOT NULL,
  27. direccion VARCHAR2(20) NOT NULL,
  28. fono NUMBER(10),
  29. sigla_curso VARCHAR2(10),
  30. CONSTRAINT PK_ALUMNO PRIMARY KEY(numrut_alumno),
  31. CONSTRAINT FK_ALUMNO_CURSO FOREIGN KEY(sigla_curso) REFERENCES curso(sigla_curso));
  32.  
  33. -- CREACI?N TABLA NOTA_ALUMNO
  34. CREATE TABLE NOTA_ALUMNO
  35. (numrut_alumno NUMBER(10) NOT NULL,
  36. sigla_asignatura VARCHAR2(10) NOT NULL,
  37. nota1 NUMBER(2,1) NOT NULL,
  38. nota2 NUMBER(2,1) NOT NULL,
  39. nota3 NUMBER(2,1) NOT NULL,
  40. nota4 NUMBER(2,1) NOT NULL,
  41. nota5 NUMBER(2,1),
  42. promedio_final NUMBER(2,1) NOT NULL,
  43. situacion_final VARCHAR2(1) NOT NULL,
  44. CONSTRAINT PK_NOTA_ALUMNO PRIMARY KEY(numrut_alumno,sigla_asignatura),
  45. CONSTRAINT FK_NOTA_ALUMNO_ALUMNO FOREIGN KEY (numrut_alumno)
  46. REFERENCES alumno(numrut_alumno),
  47. CONSTRAINT FK_NOTA_ALUMNO_ASIGNATURA FOREIGN KEY (sigla_asignatura)
  48. REFERENCES asignatura(sigla_asignatura));
  49.  
  50. ------------insertar datos en las tablas ----------------------
  51. insert into ASIGNATURA VALUES('MAT2M','BIOLOGIA 2 MEDIO');
  52. insert into ASIGNATURA VALUES('LEN1M','LENGUAJE 1 MEDIO');
  53. insert into ASIGNATURA VALUES('DATEBASE1', 'UNIVERSITARIO');
  54.  
  55. insert into CURSO VALUES('1MA','1 MDEIO A');
  56. insert into CURSO VALUES('2MA','2 MEDIO A');
  57. insert into CURSO VALUES('3BASE','1 UNIVERSITARIO');
  58.  
  59. insert into ALUMNO VALUES(20987456,1,'JUAN','andres','PEREZ','SOTO','LOS OLIVOS 2011', 9854654,'1MA');
  60. insert into ALUMNO VALUES(193458762,2,'MARIA','EUGENIA','CARVAJAL','OLIVARES','1 NORTE 512','7421567','2MA');
  61. insert into ALUMNO VALUES(249953733,3,'ismoy','smoy','belizaire','jacque','av lo ovalle 1177','7303063','3BASE');
  62.  
  63. insert into NOTA_ALUMNO VALUES(20987456,'LEN1M',7,7,7,7,7,7,'A');
  64. insert into NOTA_ALUMNO VALUES(193458762,'MAT2M',7,7,7,7,7,7,'A');
  65. insert into NOTA_ALUMNO VALUES(249953733,'DATEBASE1',6,6,6,6,6,6,'A');
  66. -----códigos manipulación de los datos-------------
  67. select round(avg(promedio_final)) "PROMEDIO NOTAS",max(promedio_final)"PROMEDIO MAXIMO",
  68. min(promedio_final) "PROMEDIO MINIMO"
  69. from nota_alumno;
  70.  
  71. select e.numrut_alumno, e.pnombre, e.snombre,d.promedio_final
  72. from alumno e join nota_alumno d
  73. on e.numrut_alumno = d.numrut_alumno
  74. order by pnombre asc;
  75.  
  76.  
  77. SELECT e.pnombre, d.promedio_final, e.nombre
  78. FROM alumno e JOIN nota_alumno d
  79. ON e.numrut_alumno = d.numrut_alumno
  80. JOIN asignatura e
  81. on e.sigla_asignatura = e.sigla_asignatura
  82. ORDER BY PROMEDIO_FINAL ASC;
  83.  
  84. Para cada consulta agregue un alias apropiado por columna.
  85.  
  86. a) Inserte, donde corresponda, 3 filas para cada una de las tablas del modelo.
  87. b) Muestre el promedio de las notas del curso, promedio mayor y menor de los alumnos registrados.
  88. c) Seleccione el rut, nombre y notas obtenidas por cada alumno ordene por nombre del alumno de forma ascendente.
  89. d) Seleccione la asignatura, el promedio final, y el nombre del alumno, ordenar por promedio final ascendente.
Add Comment
Please, Sign In to add comment