Vous êtes sur la page 1sur 9

CREATE TABLE Estudiantes(

matricula INT NOT NULL,

nombre VARCHAR(30) NOT NULL,

nss INT NOT NULL,

telefono INT NOT NULL,

genero VARCHAR(6) NOT NULL,

PRIMARY KEY(matricula)

);

CREATE TABLE Grupos(

id_grupo INT NOT NULL,

no_alumnos INT NOT NULL,

PRIMARY KEY(id_grupo)

);

CREATE TABLE Docentes(

matricula_emp INT NOT NULL,

nombre VARCHAR(30) NOT NULL,

genero VARCHAR(6) NOT NULL,

PRIMARY KEY(matricula_emp)

);

CREATE TABLE Asignaturas(

id_asignatura INT NOT NULL,

nombre VARCHAR(30) NOT NULL,


matricula_emp INT NOT NULL,

PRIMARY KEY(id_asignatura),

FOREIGN KEY(matricula_emp) REFERENCES Docentes (id_asignatura)

);

CREATE TABLE Empresas(

nombre VARCHAR(30) NOT NULL,

pais VARCHAR(20) NOT NULL,

entidad VARCHAR(15) NOT NULL,

razon_social VARCHAR(25) NOT NULL,

PRIMARY KEY(nombre)

);

CREATE TABLE Facultades(

nombre VARCHAR(30) NOT NULL,

PRIMARY KEY(nombre)

);

CREATE TABLE Practicas(

folio_prac INT NOT NULL,

no_practica INT NOT NULL,

tipo VARCHAR(15) NOT NULL,

carrera VARCHAR(25) NOT NULL,

PRIMARY KEY(folio_prac)

);
CREATE TABLE Oficios(

folio INT NOT NULL,

periodo VARCHAR(30) NOT NULL,

no_alumnos INT NOT NULL,

presupuesto_asignado INT NOT NULL,

fecha DATE NOT NULL,

folio_prac INT NOT NULL,

nombre VARCHAR(40) NOT NULL,

PRIMARY KEY(folio),

FOREIGN KEY (nombre) REFERENCES Facultades(nombre)

);

CREATE TABLE Formatos3(

folio INT NOT NULL,

fecha DATE NOT NULL,

presupuesto_ejercido FLOAT NOT NULL,

num_alumnos INT NOT NULL,

num_alumnas INT NOT NULL,

num_profesoras INT NOT NULL,

num_profesores INT NOT NULL,

folio_prac INT NOT NULL,

PRIMARY KEY(folio),

FOREIGN KEY (folio_prac) REFERENCES Practicas(folio_prac)

);
********************************

CREATE TABLE HistorialesF3(

folio_n INT NOT NULL,

fecha DATE NOT NULL,

presupuesto_ejercido INT NOT NULL,

num_alumnos INT NOT NULL,

num_alumnas INT NOT NULL,

num_profesoras INT NOT NULL,

num_profesores INT NOT NULL,

folio_prac INT NOT NULL,

PRIMARY KEY(folio_n)

);

CREATE TABLE Historiales(

folio_n INT NOT NULL,

periodo VARCHAR(30) NOT NULL,

no_alumnos INT NOT NULL,

presupuesto_asignado INT NOT NULL,

fecha DATE NOT NULL,

folio_prac INT NOT NULL,

nombre VARCHAR(30) NOT NULL,

PRIMARY KEY(folio_n)

);

CREATE TABLE HistorialesF1(


estrategia_desarrollo VARCHAR(100) NOT NULL,

objetivos VARCHAR(100) NOT NULL,

competencias VARCHAR(100) NOT NULL,

folio_n INT NOT NULL,

FOREIGN KEY(folio_n) REFERENCES Historiales(folio_n)

);

CREATE TABLE HistorialesF2(

folio_n INT NOT NULL,

no_profesores INT NOT NULL,

FOREIGN KEY(folio_n) REFERENCES Historiales (folio_n)

);

CREATE TABLE Formatos1(

folio INT NOT NULL,

estrategia_desarrollo VARCHAR(100) NOT NULL,

objetivos VARCHAR(100) NOT NULL,

competencias VARCHAR(199) NOT NULL,

FOREIGN KEY(folio) REFERENCES Oficios(folio)

);

CREATE TABLE Formatos2(

folio INT NOT NULL,

no_profesores INT NOT NULL,

FOREIGN KEY(folio) REFERENCES Oficios(folio)


);

CREATE TABLE Inscribe(

matricula INT NOT NULL,

id_grupo INT NOT NULL,

FOREIGN KEY (matricula) REFERENCES Estudiantes(matricula),

FOREIGN KEY (id_grupo) REFERENCES Grupos(id_grupo)

);

CREATE TABLE Registran(

matricula INT NOT NULL,

folio INT NOT NULL,

FOREIGN KEY (matricula) REFERENCES Estudiantes(matricula),

FOREIGN KEY (folio) REFERENCES Formatos3(folio)

);

CREATE TABLE Buscan(

folio_prac INT NOT NULL,

nombre VARCHAR NOT NULL,

FOREIGN KEY (folio_prac) REFERENCES Estudiantes(folio_prac),

FOREIGN KEY (nombre) REFERENCES Empresas(nombre)

);

CREATE TABLE Realizan(

folio_prac INT NOT NULL,


id_grupo INT NOT NULL,

fecha DATE NOT NULL,

FOREIGN KEY (folio_prac) REFERENCES Practicas(folio_prac),

FOREIGN KEY (id_grupo) REFERENCES Grupos(id_grupo)

);

CREATE TABLE Inscribe2(

id_asignatura INT NOT NULL,

id_grupo INT NOT NULL,

FOREIGN KEY (id_asignatura) REFERENCES Asignaturas(id_asignatura),

FOREIGN KEY (id_grupo) REFERENCES Grupos(id_grupo)

);

CREATE TABLE Registran2(

matricula_emp INT NOT NULL,

folio INT NOT NULL,

FOREIGN KEY (matricula_emp) REFERENCES Docentes(matricula_emp),

FOREIGN KEY (folio) REFERENCES Formatos3(folio)

);

CREATE TABLE Guardan(

folio INT NOT NULL,

folio_n INT NOT NULL,

fecha DATE NOT NULL,

FOREIGN KEY (folio) REFERENCES Oficios(folio),


FOREIGN KEY (folio_n) REFERENCES Historiales(folio_n)

);

CREATE TABLE Guardan2(

folio INT NOT NULL,

folio_n INT NOT NULL,

fecha DATE NOT NULL,

FOREIGN KEY (folio) REFERENCES Formatos3(folio),

FOREIGN KEY (folio_n) REFERENCES HistorialesF3(folio_n)

);

***************************************************************************

CREATE TRIGGER H1 AFTER UPDATE ON Formatos1

FOR EACH ROW BEGIN

INSERT INTO HistorialesF1(estrategia_desarrollo, objetivos, competencias,folio_n) VALUES


(NEW.estrategia_desarrollo,NEW.objetivos, NEW.competencias,NOW.folio_n);

END

$$

CREATE TRIGGER H2 AFTER UPDATE ON Formatos2

FOR EACH ROW BEGIN

INSERT INTO HistorialesF2(folio,no_preofesores) VALUES (NEW.folio,NEW.no_profesores);

END

$$

CREATE TRIGGER H1 AFTER UPDATE ON Historiales


FOR EACH ROW BEGIN

INSERT INTO Historiales (folio_n,periodo,no_alumnos, presupuesto_asignado, fecha,


folio_practica,nombre) VALUES (NEW.folio_n,NEW.no_alumnos,NEW.periodo,
NEW.presupuesto_asignado,NOW());

END

$$

Vous aimerez peut-être aussi