Sunteți pe pagina 1din 3

--- === INICIO === --- Crear una base de datos con nombre LEGnnnnn -- (nnnnn son los

5 ulitmos digitos del legajo del alumno) -- (XXXXX para el docente) -Create database LEGXXXXX; Use LEGXXXXX; --- Tablas: -- - CARRERAS (Id,Nombre) -- - ALUMNOS (Leg, Nom, Ape) -- - MATERIAS (Mat, Nombre) -- - FINALES (Fec, Mat, Leg, Nota) --- CREAR LA TABLA CARRERAS(*ID,NOM) -- -> id es un char de 4 bytes y > ' ' -- -> NOM es de 40 caracteres como maximo --Create table carreras (id char(4) primary key check (id > ' '), --Check es q che quee algo nom varchar(40)); --varchar(40) s una cadena de caracteres con la long adelante pa economizar despues --- CREAR LA TABLA MATERIAS(*MAT,NOMBRE) -- -> mat > 0 --Create table materias (mat integer primary key check (mat > 0), nombre varchar(20)); --- CREAR LA TABLA ALUMNOS(*LEG,NOM,APE,CUOTA,MATR,ID_CARR) -- -> legajo > 50 -- -> valor default para apellido = 'Desconocido' -- -> Indicar FKs -- -> ASIGNAR LAS OPCIONES ON UPDATE + ON DELETE --Create table alumnos (leg int primary key check (leg > 50), nom varchar(20), ape varchar(20) not null default 'Desconocido', --Para que no se a nulo("not null"), a lo sumo desconocido("default desconocido"). Cada vez q no informamos un campo si no esta esto se asigna nulo automaticamente cuota decimal(9,2), matr decimal(9,2), id_carr char(4) FOREIGN KEY REFERENCES carreras ON UPDATE cascade ON DELETE SET NULL); --En el caso q s e modifiq la clave de la carrera a la q referencia esta actualice en cascada a t odos los q son fk de este ("on update cascade") y si borran la clave setea las f k en null ("on delete set NULL") --- CREAR LA TABLA FINALES(*FEC,*MAT(FK),*LEG(FK),NOTA) -- CONSIDERAR: -- -> VALIDAR NOTAS -- -> VALIDAR FECHA >= A 1-ENE-2000

-- -> Indicar FKs -- -> ASIGNAR LAS OPCIONES ON UPDATE + ON DELETE --- (Configurar los campos fecha) --set dateformat ymd; --Setea el forma to de la fecha, al parecer en mysql (gratis) solo se trabaja con este formato d e fecha asi q ta piola --Create table finales (fec datetime, mat int, leg int DEFAULT 0, --por default es "0" nota int CHECK (nota >= 0 AND nota <= 10), CONSTRAINT CHK_FECHA CHECK (fec >= '2000-01-01'), --Creo q cheqa l a fecha del sistema PRIMARY KEY (fec, mat, leg), FOREIGN KEY (mat) REFERENCES materias ON UPDATE cascade ON DELETE NO ACTION, FOREIGN KEY (leg) REFERENCES alumnos ON UPDATE CASCADE ON DELETE SET DEFAULT); --- ejecutar para poblar las tablas -BEGIN TRANSACTION; --Comenzar la tr ansaccion INSERT INTO CARRERAS VALUES ('SIST','LICENCIATURA DE SISTEMAS'); INSERT INTO CARRERAS VALUES ('ADMN','LICENCIATURA DE ADMIN. DE EMPRESA'); INSERT INTO CARRERAS VALUES ('BOGA','ABOGACIA'); COMMIT; --Confirmar la t ransaccion ---BEGIN TRANSACTION; INSERT INTO ALUMNOS VALUES (69,'Juan','Martinez',500,700,'SIST'); INSERT INTO ALUMNOS VALUES (109,'Pedro','Garcia',550,600,'SIST'); INSERT INTO ALUMNOS VALUES (138,'Pablo','Perez',550,700,'ADMN'); INSERT INTO ALUMNOS VALUES (160,'Silvana','Gomez',600,600,'ADMN'); INSERT INTO ALUMNOS VALUES (179,'Natalia','Lopez',500,550,'BOGA'); INSERT INTO ALUMNOS VALUES (194,'Pamela','Gil',550,700,'BOGA'); INSERT INTO ALUMNOS VALUES (207,'Juan Pablo','Santos',500,600,'SIST'); INSERT INTO ALUMNOS (leg) VALUES (400); INSERT INTO ALUMNOS (leg) VALUES (51); COMMIT; ---BEGIN TRANSACTION; INSERT INTO MATERIAS VALUES (1000,'??'); INSERT INTO MATERIAS VALUES (1001,'BD I'); INSERT INTO MATERIAS VALUES (1002,'BD II'); INSERT INTO MATERIAS VALUES (1003,'LEGALES'); INSERT INTO MATERIAS VALUES (1004,'MAE'); INSERT INTO MATERIAS VALUES (1005,'ADES'); --- 'Materia mal asignada' --INSERT INTO MATERIAS (mat) VALUES (5000);

COMMIT; --- formato de las variables fecha -set dateformat ymd; -BEGIN TRANSACTION; INSERT INTO FINALES VALUES ('2008/12/13',1002,69,7); INSERT INTO FINALES VALUES ('2008/12/15',1003,69,5); INSERT INTO FINALES VALUES ('2009/03/21',1004,69,6); INSERT INTO FINALES VALUES ('2008/12/10',1005,69,6); INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES FINALES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES VALUES ('2008/12/10',1001,109,6); ('2008/12/13',1002,109,2); ('2008/12/15',1003,109,5); ('2009/03/21',1004,109,6); ('2008/12/10',1001,138,4); ('2008/03/22',1002,138,2); ('2008/06/11',1002,138,2); ('2008/12/13',1002,138,2); ('2008/12/15',1003,138,4); ('2009/03/21',1002,138,6); ('2008/12/10',1001,160,8); ('2008/12/13',1002,160,7); ('2008/12/15',1003,160,10); ('2009/03/21',1004,160,6); ('2008/12/10',1001,179,4); ('2008/12/13',1003,179,2); ('2009/02/11',1003,179,4); ('2009/03/21',1002,179,6); ('2008/12/10',1001,207,3); ('2008/12/13',1003,207,2); ('2009/02/11',1003,207,2); ('2009/05/11',1003,207,4); ('2009/03/21',1002,207,6);

INSERT INTO FINALES VALUES ('2008/12/13',1002,51,2); INSERT INTO FINALES VALUES ('2008/12/13',1003,51,2); INSERT INTO FINALES VALUES ('2009/03/21',1000,138,5); INSERT INTO FINALES VALUES ('2009/03/21',1002,51,7); COMMIT; ------------------Fin script -----------------------------------------------

S-ar putea să vă placă și