Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. CREATE TABLE CENTRO( /*<-------------------------------------------------------*/
  2.   nombre VARCHAR(15) PRIMARY KEY,
  3.   direccion VARCHAR(35),
  4.   fax NUMBER(9,0),
  5.   fecha_apertura DATE,
  6.   numero_telefono NUMBER(9,0),
  7.   prefijo_n VARCHAR(3),
  8.   prefijo_i VARCHAR(3)
  9. );
  10.  
  11.  
  12. CREATE TABLE MEDIO(
  13.   nombre_centro VARCHAR(15),
  14.   medio VARCHAR(10),
  15.   PRIMARY KEY(nombre_centro,medio),
  16.   FOREIGN KEY (nombre_centro) REFERENCES CENTRO
  17. );
  18.  
  19.  
  20. CREATE TABLE ES_AMIGO(
  21.   centro VARCHAR(15),
  22.   centro_amigo VARCHAR(15),
  23.   FOREIGN KEY (centro) REFERENCES CENTRO,
  24.   FOREIGN KEY (centro_amigo) REFERENCES CENTRO,
  25.   PRIMARY KEY(centro,centro_amigo)
  26. );
  27.  
  28. CREATE TABLE NIVEL(
  29.   nombre VARCHAR(9) PRIMARY KEY,
  30.   libros INTEGER,
  31.   tiempo INTEGER
  32. );
  33.  
  34. CREATE TABLE CLASE(
  35.   codigo VARCHAR(4) PRIMARY KEY,
  36.   tipo_clase VARCHAR(15) CONSTRAINT check_clase CHECK(tipo_clase IN('gramatica','conversacion')),
  37.   nombre_nivel VARCHAR(9),
  38.   tipo_profesor VARCHAR(9),
  39.   FOREIGN KEY (nombre_nivel) REFERENCES NIVEL
  40. );
  41.  
  42.  
  43.  
  44.  
  45.  
  46. CREATE TABLE PROFESOR(
  47.   dni VARCHAR(9) PRIMARY KEY,
  48.   nss VARCHAR(9),
  49.   nombre VARCHAR(20),
  50.   direccion VARCHAR(35),
  51.   tipo_profesor VARCHAR(9) CONSTRAINT check_tprofesor CHECK(tipo_profesor IN('titulado','nativo')),
  52.   titulo VARCHAR(30),
  53.   pais VARCHAR(10),
  54.   tipo_ingles VARCHAR(8),
  55.   nombre_centro VARCHAR(15),
  56.   FOREIGN KEY (nombre_centro) REFERENCES CENTRO
  57. );
  58.  
  59. ALTER TABLE CLASE ADD FOREIGN KEY (tipo_profesor) REFERENCES PROFESOR;
  60.  
  61.  
  62. CREATE TABLE IMPARTE(
  63.   dia DATE,
  64.   hora NUMBER(2,0),
  65.   nombre_centro VARCHAR(15),
  66.   cod_clase VARCHAR(4),
  67.   FOREIGN KEY (nombre_centro) REFERENCES CENTRO,
  68.   FOREIGN KEY (cod_clase) REFERENCES CLASE,
  69.   PRIMARY KEY(dia,hora,nombre_centro,cod_clase)
  70. );
  71.  
  72. CREATE TABLE ACTIVIDADES(
  73.   actividad VARCHAR(10),
  74.   codigo_clase VARCHAR(4),
  75.   FOREIGN KEY (codigo_clase) REFERENCES CLASE,
  76.   PRIMARY KEY(actividad,codigo_clase)
  77. );
  78.  
  79. CREATE TABLE MEDIO2(
  80.   medio VARCHAR(10),
  81.   codigo_clase VARCHAR(4),
  82.   FOREIGN KEY (codigo_clase) REFERENCES CLASE,
  83.   PRIMARY KEY(medio,codigo_clase)
  84. );
  85.  
  86. CREATE TABLE TELEFONOS_P(
  87.   dni varchar2(9),
  88.   telefono VARCHAR(9),
  89.   FOREIGN KEY (dni) REFERENCES PROFESOR,
  90.   PRIMARY KEY(dni,telefono)
  91. );
  92.  
  93. CREATE TABLE COORDINADOR(
  94.   dni VARCHAR(9) PRIMARY KEY,
  95.   nss VARCHAR(9),
  96.   nombre VARCHAR(20),
  97.   direccion VARCHAR(35),
  98.   nombre_centro VARCHAR(15),
  99.   FOREIGN KEY (nombre_centro) REFERENCES CENTRO
  100. );
  101.  
  102. CREATE TABLE TELEFONOS_C(
  103.   dni varchar2(9),
  104.   telefono VARCHAR(9),
  105.   FOREIGN KEY (dni) REFERENCES COORDINADOR,
  106.   PRIMARY KEY(dni,telefono)
  107. );
  108.  
  109. CREATE TABLE ALUMNO(
  110.   num_m VARCHAR(4) PRIMARY KEY,
  111.   nombre VARCHAR(20),
  112.   direccion VARCHAR(35),
  113.   telefono VARCHAR(9),
  114.   fecha_m DATE,
  115.   codigo_clase VARCHAR(4),
  116.   FOREIGN KEY (codigo_clase) REFERENCES CLASE
  117. );
  118.  
  119. CREATE TABLE REALIZA(
  120.   num_m VARCHAR(4),
  121.   nombre_nivel VARCHAR(9),
  122.   fecha_m DATE,
  123.   fecha_fin DATE,
  124.   FOREIGN KEY (num_m) REFERENCES ALUMNO,
  125.   FOREIGN KEY (nombre_nivel) REFERENCES NIVEL,
  126.   PRIMARY KEY(num_m,nombre_nivel)
  127. );
  128.  
  129. CREATE TABLE MATRICULA(
  130.   num_m VARCHAR(4),
  131.   nombre_centro VARCHAR(15),
  132.   FOREIGN KEY (num_m) REFERENCES ALUMNO,
  133.   FOREIGN KEY (nombre_centro) REFERENCES CENTRO,
  134.   PRIMARY KEY(num_m,nombre_centro)
  135. );
  136.  
  137. DESC CENTRO; /*<---------------------------------------------------------------*/
  138. SELECT * FROM CENTRO; /*<-------------------------------------------------------*/
  139.  
  140. INSERT INTO CENTRO VALUES ('Centro1','Calle A',000000001,'01/01/2014','123456789','+91','+34'); /*<-------------------------------------------------------*/
  141. INSERT INTO CENTRO VALUES ('Centro2','Calle B',000000002,'02/01/2014','223456789','+91','+34'); /*<-------------------------------------------------------*/
  142. INSERT INTO CENTRO VALUES ('Centro3','Calle C',000000003,'03/01/2014','323456789','+91','+34'); /*<-------------------------------------------------------*/
  143. INSERT INTO CENTRO VALUES ('Centro4','Calle D',000000004,'04/01/2014','423456789','+91','+34'); /*<-------------------------------------------------------*/
  144. INSERT INTO CENTRO VALUES ('Centro5','Calle E',000000005,'05/01/2014','523456789','+91','+34'); /*<-------------------------------------------------------*/
  145. INSERT INTO CENTRO VALUES ('Centro6','Calle F',000000006,'06/01/2014','623456789','+91','+34'); /*<-------------------------------------------------------*/
  146. INSERT INTO CENTRO VALUES ('Centro7','Calle G',000000007,'07/01/2014','723456789','+91','+34'); /*<-------------------------------------------------------*/
  147. INSERT INTO CENTRO VALUES ('Centro8','Calle H',000000008,'08/01/2014','823456789','+91','+34'); /*<-------------------------------------------------------*/
  148. INSERT INTO CENTRO VALUES ('Centro9','Calle I',000000009,'09/01/2014','923456789','+91','+34'); /*<-------------------------------------------------------*/
  149. INSERT INTO CENTRO VALUES ('Centr10','Calle J',000000010,'10/01/2014','023456789','+91','+34'); /*<-------------------------------------------------------*/
  150.  
  151.  
  152. INSERT INTO MEDIO VALUES('Centro1','Medio1');
  153. INSERT INTO MEDIO VALUES('Centro2','Medio2');
  154. INSERT INTO MEDIO VALUES('Centro3','Medio3');
  155. INSERT INTO MEDIO VALUES('Centro4','Medio4');
  156. INSERT INTO MEDIO VALUES('Centro5','Medio5');
  157. INSERT INTO MEDIO VALUES('Centro6','Medio6');
  158. INSERT INTO MEDIO VALUES('Centro7','Medio7');
  159. INSERT INTO MEDIO VALUES('Centro8','Medio9');
  160. INSERT INTO MEDIO VALUES('Centro9','Medio8');
  161. INSERT INTO MEDIO VALUES('Centr10','Medio10');
  162.  
  163.  
  164. INSERT INTO ES_AMIGO VALUES('Centro1','Centro2');
  165. INSERT INTO ES_AMIGO VALUES('Centro2','Centro3');
  166. INSERT INTO ES_AMIGO VALUES('Centro3','Centro4');
  167. INSERT INTO ES_AMIGO VALUES('Centro4','Centro5');
  168. INSERT INTO ES_AMIGO VALUES('Centro5','Centro6');
  169. INSERT INTO ES_AMIGO VALUES('Centro6','Centro7');
  170. INSERT INTO ES_AMIGO VALUES('Centro7','Centro8');
  171. INSERT INTO ES_AMIGO VALUES('Centro8','Centro9');
  172. INSERT INTO ES_AMIGO VALUES('Centro9','Centr10');
  173. INSERT INTO ES_AMIGO VALUES('Centr10','Centro1');
  174.  
  175.  
  176. INSERT INTO PROFESOR VALUES('000000001','100000001','Juan','Direccion 1','titulado','Titulo Ingles',NULL,NULL,'Centro1');
  177. INSERT INTO PROFESOR VALUES('000000002','100000002','Luis','Direccion 2','nativo',NULL,'inglaterra','britanic','Centro2');
  178. INSERT INTO PROFESOR VALUES('000000003','100000003','Pedro','Direccion 3','titulado','Titulo Ingles',NULL,NULL,'Centro3');
  179. INSERT INTO PROFESOR VALUES('000000004','100000004','Lucas','Direccion 4','nativo',NULL,'estados un','american','Centro4');
  180. INSERT INTO PROFESOR VALUES('000000005','100000005','John','Direccion 5','titulado','Titulo Ingles',NULL,NULL,'Centro5');
  181. INSERT INTO PROFESOR VALUES('000000006','100000006','Jose','Direccion 6','nativo',NULL,'australia','australi','Centro6');
  182. INSERT INTO PROFESOR VALUES('000000007','100000007','Chicote','Direccion 7','titulado','Titulo Ingles',NULL,NULL,'Centro7');
  183. INSERT INTO PROFESOR VALUES('000000008','100000008','Raul','Direccion 8','nativo',NULL,'irlanda','irlandes','Centro8');
  184. INSERT INTO PROFESOR VALUES('000000009','100000009','Fernando','Direccion 9','titulado','Titulo Ingles',NULL,NULL,'Centro9');
  185. INSERT INTO PROFESOR VALUES('000000010','100000010','McDonald','Direccion 10','nativo',NULL,'escocia','escoces','Centr10');
  186.  
  187.  
  188. INSERT INTO NIVEL VALUES('Nivel1',2,3);
  189. INSERT INTO NIVEL VALUES('Nivel2',6,1);
  190. INSERT INTO NIVEL VALUES('Nivel3',4,2);
  191. INSERT INTO NIVEL VALUES('Nivel4',2,3);
  192. INSERT INTO NIVEL VALUES('Nivel5',3,1);
  193. INSERT INTO NIVEL VALUES('Nivel6',2,4);
  194. INSERT INTO NIVEL VALUES('Nivel7',1,3);
  195. INSERT INTO NIVEL VALUES('Nivel8',3,5);
  196. INSERT INTO NIVEL VALUES('Nivel9',4,6);
  197. INSERT INTO NIVEL VALUES('Nive10',1,3);
  198.  
  199.  
  200. INSERT INTO CLASE VALUES('0001','gramatica','Nivel1','000000001');
  201. INSERT INTO CLASE VALUES('0002','conversacion','Nivel3','000000002');
  202. INSERT INTO CLASE VALUES('0003','gramatica','Nivel2','000000003');
  203. INSERT INTO CLASE VALUES('0004','gramatica','Nivel1','000000004');
  204. INSERT INTO CLASE VALUES('0005','conversacion','Nivel5','000000005');
  205. INSERT INTO CLASE VALUES('0006','gramatica','Nivel6','000000006');
  206. INSERT INTO CLASE VALUES('0007','conversacion','Nivel2','000000007');
  207. INSERT INTO CLASE VALUES('0008','gramatica','Nivel4','000000008');
  208. INSERT INTO CLASE VALUES('0009','conversacion','Nivel3','000000009');
  209. INSERT INTO CLASE VALUES('0010','gramatica','Nive10','000000010');
  210. INSERT INTO CLASE VALUES('0011','gramatica','Nivel2','000000001');
  211.  
  212. INSERT INTO IMPARTE VALUES('01/01/13','12','Centro1','0001');
  213. INSERT INTO IMPARTE VALUES('02/01/13','12','Centro2','0002');
  214. INSERT INTO IMPARTE VALUES('03/01/13','12','Centro3','0003');
  215. INSERT INTO IMPARTE VALUES('04/01/13','12','Centro4','0004');
  216. INSERT INTO IMPARTE VALUES('05/01/13','12','Centro5','0005');
  217. INSERT INTO IMPARTE VALUES('06/01/13','12','Centro6','0006');
  218. INSERT INTO IMPARTE VALUES('07/01/13','12','Centro7','0007');
  219. INSERT INTO IMPARTE VALUES('08/01/13','12','Centro8','0008');
  220. INSERT INTO IMPARTE VALUES('09/01/13','12','Centro9','0009');
  221. INSERT INTO IMPARTE VALUES('10/01/13','12','Centr10','0010');
  222. INSERT INTO IMPARTE VALUES('10/01/13','12','Centro1','0011');
  223.  
  224.  
  225. INSERT INTO ACTIVIDADES VALUES('Actividad1','0001');
  226. INSERT INTO ACTIVIDADES VALUES('Actividad2','0002');
  227. INSERT INTO ACTIVIDADES VALUES('Actividad3','0003');
  228. INSERT INTO ACTIVIDADES VALUES('Actividad4','0004');
  229. INSERT INTO ACTIVIDADES VALUES('Actividad5','0005');
  230. INSERT INTO ACTIVIDADES VALUES('Actividad6','0006');
  231. INSERT INTO ACTIVIDADES VALUES('Actividad7','0007');
  232. INSERT INTO ACTIVIDADES VALUES('Actividad8','0008');
  233. INSERT INTO ACTIVIDADES VALUES('Actividad9','0009');
  234. INSERT INTO ACTIVIDADES VALUES('Activida10','0010');
  235.  
  236.  
  237. INSERT INTO MEDIO2 VALUES('Medio1','0001');
  238. INSERT INTO MEDIO2 VALUES('Medio2','0002');
  239. INSERT INTO MEDIO2 VALUES('Medio3','0003');
  240. INSERT INTO MEDIO2 VALUES('Medio4','0004');
  241. INSERT INTO MEDIO2 VALUES('Medio5','0005');
  242. INSERT INTO MEDIO2 VALUES('Medio6','0006');
  243. INSERT INTO MEDIO2 VALUES('Medio7','0007');
  244. INSERT INTO MEDIO2 VALUES('Medio8','0008');
  245. INSERT INTO MEDIO2 VALUES('Medio9','0009');
  246. INSERT INTO MEDIO2 VALUES('Medio10','0010');
  247.  
  248.  
  249. INSERT INTO COORDINADOR VALUES('000000011','100000011','Limbo','Direccion 1','Centro1');
  250. INSERT INTO COORDINADOR VALUES('000000012','100000012','Makelele','Direccion 2','Centro2');
  251. INSERT INTO COORDINADOR VALUES('000000013','100000013','Cesar','Direccion 3','Centro3');
  252. INSERT INTO COORDINADOR VALUES('000000014','100000014','Mentos','Direccion 4','Centro4');
  253. INSERT INTO COORDINADOR VALUES('000000015','100000015','Pirri','Direccion 5','Centro5');
  254. INSERT INTO COORDINADOR VALUES('000000016','100000016','Kohn','Direccion 6','Centro6');
  255. INSERT INTO COORDINADOR VALUES('000000017','100000017','Swing','Direccion 7','Centro7');
  256. INSERT INTO COORDINADOR VALUES('000000018','100000018','Sony','Direccion 8','Centro8');
  257. INSERT INTO COORDINADOR VALUES('000000019','100000019','Lois','Direccion 9','Centro9');
  258. INSERT INTO COORDINADOR VALUES('000000020','100000020','Guardias','Direccion 10','Centr10');
  259.  
  260.  
  261. INSERT INTO TELEFONOS_P VALUES('000000001','123416789');
  262. INSERT INTO TELEFONOS_P VALUES('000000002','123426789');
  263. INSERT INTO TELEFONOS_P VALUES('000000003','123436789');
  264. INSERT INTO TELEFONOS_P VALUES('000000004','123446789');
  265. INSERT INTO TELEFONOS_P VALUES('000000005','123456789');
  266. INSERT INTO TELEFONOS_P VALUES('000000006','123466789');
  267. INSERT INTO TELEFONOS_P VALUES('000000007','123476789');
  268. INSERT INTO TELEFONOS_P VALUES('000000008','123486789');
  269. INSERT INTO TELEFONOS_P VALUES('000000009','123496789');
  270. INSERT INTO TELEFONOS_P VALUES('000000010','123439789');
  271.  
  272.  
  273. INSERT INTO TELEFONOS_C VALUES('000000011','123456781');
  274. INSERT INTO TELEFONOS_C VALUES('000000012','123456782');
  275. INSERT INTO TELEFONOS_C VALUES('000000013','123456783');
  276. INSERT INTO TELEFONOS_C VALUES('000000014','123456784');
  277. INSERT INTO TELEFONOS_C VALUES('000000015','123456785');
  278. INSERT INTO TELEFONOS_C VALUES('000000016','123456786');
  279. INSERT INTO TELEFONOS_C VALUES('000000017','123456787');
  280. INSERT INTO TELEFONOS_C VALUES('000000018','123456788');
  281. INSERT INTO TELEFONOS_C VALUES('000000019','123456789');
  282. INSERT INTO TELEFONOS_C VALUES('000000020','123456739');
  283.  
  284.  
  285. INSERT INTO ALUMNO VALUES('0001','Ramos','Direccion1','123156789','01/01/13','0001');
  286. INSERT INTO ALUMNO VALUES('0002','Arbeloa','Direccion2','123456789','02/02/13','0002');
  287. INSERT INTO ALUMNO VALUES('0003','Marcelo','Direccion3','133456789','04/03/13','0003');
  288. INSERT INTO ALUMNO VALUES('0004','Pepe','Direccion4','123446789','11/07/13','0004');
  289. INSERT INTO ALUMNO VALUES('0005','Cristiano','Direccion5','125456789','12/02/13','0001');
  290. INSERT INTO ALUMNO VALUES('0006','Bale','Direccion6','123456769','07/04/13','0002');
  291. INSERT INTO ALUMNO VALUES('0007','Khedira','Direccion7','123486789','08/08/13','0003');
  292. INSERT INTO ALUMNO VALUES('0008','Isidoro','Direccion8','123476789','09/06/13','0004');
  293. INSERT INTO ALUMNO VALUES('0009','Margatiro','Direccion9','129456789','21/07/13','0005');
  294. INSERT INTO ALUMNO VALUES('0010','QueRisa','Direccio10','112466789','22/03/13','0006');
  295.  
  296.  
  297. INSERT INTO REALIZA VALUES('0001','Nivel1','01/01/13','01/01/13');
  298. INSERT INTO REALIZA VALUES('0002','Nivel2','02/02/13','02/02/13');
  299. INSERT INTO REALIZA VALUES('0003','Nivel3','03/03/13','03/03/13');
  300. INSERT INTO REALIZA VALUES('0004','Nivel4','04/04/13','04/04/13');
  301. INSERT INTO REALIZA VALUES('0005','Nivel5','05/05/13','05/05/13');
  302. INSERT INTO REALIZA VALUES('0006','Nivel6','06/06/13','06/06/13');
  303. INSERT INTO REALIZA VALUES('0007','Nivel7','07/07/13','07/07/13');
  304. INSERT INTO REALIZA VALUES('0008','Nivel8','08/08/13','08/08/13');
  305. INSERT INTO REALIZA VALUES('0009','Nivel9','09/09/13','09/09/13');
  306. INSERT INTO REALIZA VALUES('0010','Nive10','10/10/13','10/10/13');
  307.  
  308.  
  309. INSERT INTO MATRICULA VALUES('0001','Centro1');
  310. INSERT INTO MATRICULA VALUES('0002','Centro2');
  311. INSERT INTO MATRICULA VALUES('0003','Centro3');
  312. INSERT INTO MATRICULA VALUES('0004','Centro4');
  313. INSERT INTO MATRICULA VALUES('0005','Centro5');
  314. INSERT INTO MATRICULA VALUES('0006','Centro6');
  315. INSERT INTO MATRICULA VALUES('0007','Centro7');
  316. INSERT INTO MATRICULA VALUES('0008','Centro8');
  317. INSERT INTO MATRICULA VALUES('0009','Centro9');
  318. INSERT INTO MATRICULA VALUES('0010','Centr10');
  319.  
  320. /*
  321. UPDATE CLASE SET tipo_profesor = '000000001' WHERE codigo = '0001';  
  322. UPDATE CLASE SET tipo_profesor = '000000002' WHERE codigo = '0002';  
  323. UPDATE CLASE SET tipo_profesor = '000000003' WHERE codigo = '0003';  
  324. UPDATE CLASE SET tipo_profesor = '000000004' WHERE codigo = '0004';  
  325. UPDATE CLASE SET tipo_profesor = '000000005' WHERE codigo = '0005';
  326. UPDATE CLASE SET tipo_profesor = '000000006' WHERE codigo = '0006';  
  327. UPDATE CLASE SET tipo_profesor = '000000007' WHERE codigo = '0007';  
  328. UPDATE CLASE SET tipo_profesor = '000000008' WHERE codigo = '0008';  
  329. UPDATE CLASE SET tipo_profesor = '000000009' WHERE codigo = '0009';  
  330. UPDATE CLASE SET tipo_profesor = '000000010' WHERE codigo = '0010';
  331.  
  332.  
  333. DROP TABLE CENTRO CASCADE CONSTRAINTS;
  334. DROP TABLE MEDIO CASCADE CONSTRAINTS;
  335. DROP TABLE ES_AMIGO CASCADE CONSTRAINTS;
  336. DROP TABLE PROFESOR CASCADE CONSTRAINTS;
  337. DROP TABLE NIVEL CASCADE CONSTRAINTS;
  338. DROP TABLE CLASE CASCADE CONSTRAINTS;
  339. DROP TABLE IMPARTE CASCADE CONSTRAINTS;
  340. DROP TABLE ACTIVIDADES CASCADE CONSTRAINTS;
  341. DROP TABLE MEDIO2 CASCADE CONSTRAINTS;
  342. DROP TABLE COORDINADOR CASCADE CONSTRAINTS;
  343. DROP TABLE TELEFONOS_P CASCADE CONSTRAINTS;
  344. DROP TABLE TELEFONOS_C CASCADE CONSTRAINTS;
  345. DROP TABLE ALUMNO CASCADE CONSTRAINTS;
  346. DROP TABLE REALIZA CASCADE CONSTRAINTS;
  347. DROP TABLE MATRICULA CASCADE CONSTRAINTS;
  348.  
  349. SELECT * FROM CENTRO;
  350. SELECT * FROM MEDIO;
  351. SELECT * FROM ES_AMIGO;
  352. SELECT * FROM PROFESOR;
  353. SELECT * FROM NIVEL;
  354. SELECT * FROM CLASE;
  355. SELECT * FROM IMPARTE;
  356. SELECT * FROM ACTIVIDADES;
  357. SELECT * FROM MEDIO2;
  358. SELECT * FROM COORDINADOR;
  359. SELECT * FROM TELEFONOS_P;
  360. SELECT * FROM TELEFONOS_C;
  361. SELECT * FROM ALUMNO;
  362. SELECT * FROM REALIZA;
  363. SELECT * FROM MATRICULA;
  364. */
  365.  
  366.  
  367.  
  368.  /*Cambie al d’a miŽrcoles todas las clases que actualmente se realizan el d’a lunes*/
  369. /* Quiz‡ deber’amos haber puesto la hora tambiŽn en esta tupla, ya que el tipo DATE acepta d’as y horas.*/
  370.  
  371. UPDATE IMPARTE
  372.   SET dia = dia+2
  373.   WHERE TO_CHAR(dia,'DY') LIKE 'LUN';
  374.  
  375.  
  376. /*Asigne al profesor con nombre ãRigoberto Flores? todas las clases de conversaci—n que impart’a el profesor ãJuan Perez?.*/
  377.  
  378. UPDATE CLASE
  379.   SET nombre_nivel=(SELECT nombre_nivel FROM CLASE WHERE tipo_profesor=(SELECT dni FROM PROFESOR WHERE nombre='Luis') )
  380.   WHERE tipo_profesor = (SELECT dni FROM PROFESOR WHERE nombre='John');
  381.  
  382.  
  383. /*Para cada alumno, obtener su nombre, direcci—n, fecha de matr’cula y los niveles que ha realizado.*/
  384. SELECT alumno.nombre,alumno.direccion,alumno.fecha_m,realiza.nombre_nivel FROM ALUMNO,REALIZA WHERE realiza.num_m = alumno.num_m;
  385.  
  386.  
  387. /*Obtener el nœmero de todos los alumnos matriculados en el nivel 1 del curso del a–o 2012.*/
  388. /* Lo hago para los del 2013 porque 2012 no hay */
  389.  
  390. SELECT num_m FROM REALIZA WHERE ((nombre_nivel='Nivel1') AND (to_char(fecha_m,'YYYY') LIKE '2013') );
  391.  
  392. /*Obtener el nombre y la direcci—n de los centros que tienen al centro ÒWell-Square M—stolesÓ como amigo.*/
  393. /*Como no tenemos Well-Square M—stoles, lo hago con Centro5 */
  394.  
  395. SELECT nombre,direccion FROM CENTRO,ES_AMIGO WHERE CENTRO.nombre = ES_AMIGO.centro AND ES_AMIGO.centro_amigo='Centro5';
  396.  
  397.  
  398. /*T’tulo del profesor o profesores que imparten m‡s clases de gram‡ticas.*/
  399. /* Falta seleccionar el primer DNI de la consulta, y luego sacar el t’tulo */
  400.  
  401. /*SELECT PROFESOR.dni,COUNT(PROFESOR.dni) FROM PROFESOR,CLASE WHERE (CLASE.tipo_clase='gramatica' AND CLASE.tipo_profesor = PROFESOR.dni) GROUP BY PROFESOR.dni;*/
  402.  
  403. /*SELECT PROFESOR.titulo,MAX(COUNT(PROFESOR.dni)) FROM PROFESOR,CLASE WHERE (CLASE.tipo_clase='gramatica' AND CLASE.tipo_profesor = PROFESOR.dni) GROUP BY PROFESOR.titulo;*/
  404. SELECT PROFESOR.titulo,MAX(COUNT(PROFESOR.dni))>ALL FROM PROFESOR,CLASE WHERE (CLASE.tipo_clase='gramatica' AND CLASE.tipo_profesor = PROFESOR.dni) GROUP BY PROFESOR.titulo;
  405. /*Cree una tabla con nombre HISTORICO_ALUMNOS con la misma estructura que la tabla que contenga la informaci—n sobre los alumnos as’ como sus datos. Utilice para ello una œnica sentencia SQL.*/
  406.  
  407. CREATE TABLE HISTORICO_ALUMNOS AS SELECT * FROM ALUMNO;
  408. SELECT * FROM HISTORICO_ALUMNOS;
  409.  
  410. /*A–ada a la tabla que contenga los profesores un atributo obligatorio para almacenar su telŽfono m—vil.*/
  411.  
  412. ALTER TABLE PROFESOR ADD(telefono VARCHAR(9));
  413.  
  414. UPDATE PROFESOR
  415.     SET telefono = '910000001'
  416.     WHERE dni = '000000001';
  417.  
  418. UPDATE PROFESOR
  419.     SET telefono = '910000002'
  420.     WHERE dni = '000000002';
  421.  
  422. UPDATE PROFESOR
  423.     SET telefono = '910000003'
  424.     WHERE dni = '000000003';
  425.  
  426. UPDATE PROFESOR
  427.     SET telefono = '910000004'
  428.     WHERE dni = '000000004';
  429.  
  430. UPDATE PROFESOR
  431.     SET telefono = '910000005'
  432.     WHERE dni = '000000005';
  433.  
  434. UPDATE PROFESOR
  435.     SET telefono = '910000006'
  436.     WHERE dni = '000000006';
  437.  
  438. UPDATE PROFESOR
  439.     SET telefono = '910000007'
  440.     WHERE dni = '000000007';
  441.  
  442. UPDATE PROFESOR
  443.     SET telefono = '910000008'
  444.     WHERE dni = '000000008';
  445.  
  446. UPDATE PROFESOR
  447.     SET telefono = '910000009'
  448.     WHERE dni = '000000009';
  449.  
  450. UPDATE PROFESOR
  451.     SET telefono = '910000010'
  452.     WHERE dni = '000000010';
  453.  
  454.  
  455. ALTER TABLE PROFESOR MODIFY telefono NOT NULL;
  456.  
  457. /*Cree una vista que contenga, para cada alumno de la clase cuyo c—digo es 001, la fecha de comienzo y fin en los que realiz— el nivel correspondiente.*/
  458.  
  459. CREATE VIEW vista (fecha_m,fecha_fin) AS (SELECT fecha_m,fecha_fin FROM REALIZA WHERE num_m = '0001');