Вы находитесь на странице: 1из 2

Bases de Datos Fecha: 22/03/2019

Grupo: 01
Tema: Diseño Físico
Alumno: Palma Rodríguez Uzziel
Ejercicio 14: Con base en el siguiente modelo relacional, realice lo que se indica:

4. Agregue el atributo CURP a la tabla alumno definiéndolo como un carácter variable de longitud 15,
utilice CONSTRAINT de tipo UNIQUE
5. Agregue el atributo RFC, tanto a la tabla PROFESOR como a la tabla ALUMNO utilizando CONSTRAINTS
de tipo UNIQUE
6. Cree la siguiente tabla
PADRETUTOR={clvTutor(PK), nomTutor, apPatTutor,apMatTutor(N), telefono}
7. Agregue en la tabla ALUMNO la referencia de la clave del tutor utilizando un CONSTRAINT
8. Modifique la longitud del atributo CURP a 13 posiciones.
9. Agregue el atributo número de inscripción de tipo numérico de longitud 3, como llave primaria de la
tabla INSCRITO y realice las modificaciones necesarias para crear esta llave subrogada.
10. Cree una secuencia para que se autoincremente de uno en uno, el número de inscripción.
11. Modifique la secuencia para que el máximo valor sea 999 y cicle.
12. Muestre los cambios realizados al modelo hasta este momento, incluya tablas y constraints
13. De la tabla ALUMNO elimine el CONSTRAINT UNIQUE del RFC.
14. Elimine la secuencia asociada a la tabla INSCRITO
15. Elimine la llave primaria de la tabla INSCRITO y realice los cambios necesarios para no perder a
semántica del modelo.
16. Elimine de la tabla ALUMNO el atributo RFC.
17. Elimine la tabla PADREAUTOR

ALTER TABLE alumno ADD curp VARCHAR(15) NOT NULL;

ALTER TABLE alumno ADD CONSTRAINT u_curp UNIQUE (curp);

ALTER TABLE alumno ADD rfc VARCHAR(10) NOT NULL;

ALTER TABLE alumno ADD CONSTRAINT u_rfc_al UNIQUE (rfc);

ALTER TABLE profesor ADD rfc VARCHAR(10) NOT NULL;

ALTER TABLE profesor ADD CONSTRAINT u_rfc_ac UNIQUE (rfc);

CREATE TABLE padretutor(


clvTutor CHAR(4),
nomTutor VARCHAR(20) NOT NULL,
apPatTutor VARCHAR(20) NOT NULL,
apMatTutor VARCHAR(20) NULL,
telefono CHAR(10) NOT NULL,
CONSTRAINT pk_padretutor PRIMARY KEY (clvTutor)
);

ALTER TABLE alumno ADD clvTutor CHAR(4) NULL;


ALTER TABLE alumno ADD CONSTRAINT fk_alumno_tutor FOREIGN KEY (clvTutor) REFERENCES padretutor ON
DELETE SET NULL;

ALTER TABLE alumno MODIFY curp VARCHAR(13);


ALTER TABLE inscrito ADD numInscripcion NUMBER(3,0);
ALTER TABLE inscrito DROP CONSTRAINT PK_inscrito CASCADE;
ALTER TABLE inscrito ADD CONSTRAINT PK_inscrito PRIMARY KEY (numInscripcion);
ALTER TABLE inscrito ADD CONSTRAINT u_inscrito UNIQUE(numCta,claveAsig,numGrupo);

CREATE SEQUENCE inscrito_seq


INCREMENT BY 1
MINVALUE 1
START WITH 1;

ALTER SEQUENCE inscrito_seq


MAXVALUE 999
CYCLE;

SELECT TABLE_NAME FROM USER_TABLES;


DESCRIBE alumno;
DESCRIBE profesor;
DESCRIBE padretutor;
DESCRIBE inscrito;
SELECT CONSTRAINT_NAME, TABLE_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE
(TABLE_NAME='ALUMNO');
SELECT CONSTRAINT_NAME, TABLE_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE
(TABLE_NAME='PROFESOR');
SELECT CONSTRAINT_NAME, TABLE_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE
(TABLE_NAME='PADRETUTOR');
SELECT CONSTRAINT_NAME, TABLE_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE
(TABLE_NAME='INSCRITO');

ALTER TABLE alumno DROP CONSTRAINT u_rfc_al;

DROP SEQUENCE inscrito_seq;

ALTER TABLE inscrito DROP CONSTRAINT PK_inscrito;


ALTER TABLE inscrito DROP CONSTRAINT u_inscrito;
ALTER TABLE inscrito ADD CONSTRAINT PK_inscrito PRIMARY KEY (numCta,claveAsig,numGrupo);

ALTER TABLE alumno DROP COLUMN rfc;

ALTER TABLE alumno DROP CONSTRAINT fk_alumno_tutor;


ALTER TABLE alumno DROP COLUMN clvTutor;
DROP TABLE padretutor;

Вам также может понравиться