Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- La asociacin "Amigos de la Fiesta" desea recoger en una base de datos toda la informacin acerca de las corridas de toros que se celebran en Espaa y de todos los datos relacionados con ellas.
Se
por un nmero de orden, la feria en la que se celebra y el ao de celebracin (por ejemplo: orden = 2, feria = San Isidro, ao = 1990); las corridas que no se celebran durante una feria tienen 0 en el campo Feria y se numeran correlativamente dentro de ese ao.
En
de los que se desea guardar su dni, nombre, apodo y fecha en que tom la alternativa. Adems se desea saber quin fue el torero (padrino) que le dio la alternativa en su da (un torero puede dar la alternativa a varios compaeros o a ninguno).
En
rabos y si sali por la puerta grande) de los que se desea mantener informacin.
Cada
nombre (que se supone nico), localidad, direccin y aforo. En una misma plaza se pueden celebrar varias corridas de toros.
Cada
cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado
nmero de orden. Adems se desea mantener informacin acerca de su nombre y color, as como del orden en que fue toreado.
CREACION DE TABLAS create table corrida (id_corrida number, id_torero number,id_plaza number, no_orden number,feria varchar2(50), ao number, constraint pkey_corrida primary key (id_corrida)); insert into corrida values ('10','11','12','13','durango','2009') create table toreros (id_torero number, id_premios number,id_apoderado number, id_corrida number,id_plaza number,id_toro number,curp varchar2(20),nombre varchar2(50), apodo varchar2(50),fecha date,padrino varchar2(50), constraint pkey_toreros primary key (id_torero)); insert into toreros values ('20','21','22','23','24','25','RTGHY123654HDGYLR','jose','pepito','20-1212','heraclio') create table plaza (id_plaza number, id_ganaderia number,id_corrida number, id_torero number,nombre varchar2(50),localidad varchar2(50),direccion varchar2(50),aforo varchar2(50), constraint pkey_plaza primary key (id_plaza)); insert into plaza values ('30','31','32','33','jose','durango','invierno 113','dfgdgddfg') create table ganaderia (id_ganaderia number, id_plaza number,id_toros number, codigo number,nombre varchar2(50),localidad varchar2(50),procedencia varchar2(50),antiguedad number, constraint pkey_ganaderia primary key (id_ganaderia)); insert into ganaderia values ('40','41','42','43','herradura','mezquital','durango','5') create table premios (id_premio number, id_torero number,no_orejas number,no_rabos number,puerta varchar2(50),curp varchar2(50),nombre varchar2(50), constraint pkey_premios primary key (id_premio)); insert into premios values ('50','51','52','53','grande','HHG55366jjjj','juan')
create table apoderados (id_apoderado number, id_torero number,id_plaza number,id_corrida number,id_toros number,curp varchar2(50),nombre varchar2(50),direccion varchar2(50),telefono number(10), constraint pkey_apoderados primary key (id_apoderado)); insert into apoderados values ('60','61','62','63','64','HHG55366jjjj','juan','llano grande','1236598') create table toros (id_toro number, id_ganderia number,ao_nacido number,no_orden number,nombre varchar(20),color varchar2(20),orden number, constraint pkey_toros primary key (id_toro)); insert into toros values ('70','71','72','73','pinto','verde','6') CREACION DE VISTAS create view vistas (select id_torero, nombre, id_plaza, nombre from toreros,plaza where (torero.id_plaza=plaza.id_plaza)) DISPARADORES (TRIGGERS) create table alumnos_t(alumno_id number,nombre varchar2(50),paterno varchar2(50),materno varchar2(50),promedio number(14,2)); create table calificaciones_t(alumno_id number,calificacion number,fecha date); create or replace trigger tbiu_calificaciones before insert on calificaciones_t for each row declare ncalificaciones number; ncont begin select sum(calificacion),count(1) into ncalificaciones, ncont from calificaciones_t where alumno_id= :new.Alumno_id; number;
nCalificaciones:=nvl(ncalificaciones, :new.calificacion); if ncont=0 then ncont:=1; end if; update alumnos_t set promedio=(ncalificaciones+ :new.calificacion)/(ncont+1) where alumno_id= :new.alumno_id; end tbiu_calificaciones;