martes, 26 de octubre de 2010

Script Para Insertar Las Fiestas En La BD

insert into fiestas values(1,002,003,001);
insert into fiestas values(8,002,003,001);
insert into fiestas values(14,002,004,001);
insert into fiestas values(9,002,004,001);
insert into fiestas values(7,002,001,001);
insert into fiestas values(5,002,001,001);
insert into fiestas values(2,001,001,002);
insert into fiestas values(11,001,001,002);
insert into fiestas values(4,001,002,002);
insert into fiestas values(18,001,002,002);
insert into fiestas values(3,001,004,002);
insert into fiestas values(16,001,004,002);
insert into fiestas values(13,002,005,003);
insert into fiestas values(10,002,005,003);
insert into fiestas values(6,002,002,003);
insert into fiestas values(17,002,002,003);
insert into fiestas values(15,002,003,003);
insert into fiestas values(12,002,003,003);
insert into fiestas values(19,002,003,003);

domingo, 24 de octubre de 2010

Triggers De La BD

delimiter //
create trigger bdganaderia before delete on ganaderia for each row
begin
delete from toros where id_ganaderia=OLD.id_ganaderia;
end //

delimiter //
create trigger bdapoderado before delete on apoderado for each row
begin
delete from torero where id_apoderado=OLD.id_apoderado;
end //

jueves, 21 de octubre de 2010

Script De Para Insertar Apoderados, Toreros, Plazas Y Padrinos A La BD

insert into apoderado values(001,"BARV650909","Vicente Barrera","Torre Sur 41071","95-556-92-46");
insert into apoderado values(002,"VENJ761021","Jose Carlos Venegas","Pontevedra Plaza De España 36002","95-556-21-38");

insert into torero values(001,001,"ROPJ891002","Jose Antonio Rodriguez Perez","Jose Antonio Campuzano",0);
insert into torero values(002,001,"PERJ781212","Jose Miguel Perez","Joselillo",0);
insert into torero values(003,001,"LODE690124","Eulalio Lopez Diaz","El Zotoluco",1);
insert into torero values(004,002,"RURJ910131","Juan Antonio Ruiz Roman","Espartaco",0);
insert into torero values(005,002,"ROSM881122","Manuel Rodriguez Sanchez","Manolete",1);

insert into plazas values(001,"Plaza De Toros De Pinos Puente","Granada,España","San Jeronimo 27",3000);
insert into plazas values(002,"Plaza Monumental De Barcelona","Barcelona,España","Gran Via Corts Catalanes,749",19582);

insert into padrino values("2001-03-05",null,003);
insert into padrino values("2008-08-21",003,005);

miércoles, 20 de octubre de 2010

Script De Para Insertar Ganaderias Y Toros A La BD

insert into ganaderia values(1,"LAHERRADURRA","Granada","2000-01-01");
insert into ganaderia values(2,"ENCINO","Sevilla","1997-05-28");
insert into ganaderia values(3,"VALLADOLID","Barcelona","2002-03-13");

insert into toros values(1,1,2007,"Pajarito","Negro",1);
insert into toros values(2,1,2008,"Bravo","Cafe",2);
insert into toros values(3,1,2008,"Luz","Gris",3);
insert into toros values(4,1,2007,"Toribio","Negro",4);
insert into toros values(5,1,2008,"Negro","Negro",5);

insert into toros values(6,2,2008,"Solitario","Negro",6);
insert into toros values(7,2,2010,"Loco","Gris",7);
insert into toros values(8,2,2007,"Expo","Negro",8);
insert into toros values(9,2,2008,"Maltrata","Gris",9);
insert into toros values(10,2,2009,"Sevilla","Cafe",10);
insert into toros values(11,2,2008,"Tarado","Negro",11);
insert into toros values(12,2,2007,"Pinto","Cafe",12);

insert into toros values(13,3,2008,"Tieso","Gris",13);
insert into toros values(14,3,2009,"Testa","Gris",14);
insert into toros values(15,3,2008,"Minotauro","Negro",15);
insert into toros values(16,3,2009,"Chocolate","Cafe",16);
insert into toros values(17,3,2007,"Ventorrillo","Negro",17);
insert into toros values(18,3,2008,"Ymbro","Negro",18);
insert into toros values(19,3,2009,"Tajo","Negro",19);

jueves, 7 de octubre de 2010

CODIGO DE LA BASE DE DATOS

create database corrida;
show databases;
use corrida;
show tables;
create table corrida (
id_corrida tinyint(3) not null,
num_orden tinyint(3) not null,
feria char(30) not null,
ano year not null, primary key (id_corrida))engine=innodb;

create table apoderado (
id_apoderado tinyint(3) not null,
rfc char(10) not null,
nombre char(50) not null,
direccion char(40) not null,
telefono char(15), primary key (id_apoderado))engine=innodb;

create table plazas (
id_plazas tinyint(3) not null,
nombre char(30) not null,
localidad char(20) not null,
direccion char(40) not null,
aforo int, primary key (id_plazas))engine=innodb;

create table ganaderia (
id_ganaderia tinyint(3) not null,
codigo char(15) not null,
localidad char(30) not null,
antiguedad date, primary key (id_ganaderia))engine=innodb;

create table premios (
id_premios tinyint(3) not null,
orejas tinyint(3),
rabo tinyint(3),
puerta_grande bool not null, primary key (id_premios))engine=innodb;

create table torero (
id_torero tinyint(3) not null,
id_apoderado tinyint(3) not null,
rfc char(10) not null,
nombre char(50),
apodo char(15) not null,
padrino bool not null, primary key (id_torero),
index(id_apoderado),
foreign key (id_apoderado) references apoderado (id_apoderado) on delete set null on update restrict)engine=innodb;

create table padrino (
fecha_matador date not null,
id_torero tinyint(3) not null,
index (id_torero),
foreign key (id_torero) references torero (id_torero) on delete cascade on update cascade)engine=innodb;

create table toros(
num_orden tinyint(3) not null,
id_ganaderia tinyiint(3) not null,
ano_nac year,
nombre char(20) not null,
color char(10),
orden_toreado tinyint(3) not null,
index (id_ganaderia),
foreign key (id_ganaderia) references ganaderia (id_ganaderia) on delete set null on update restrict)engine=innodb;

create table fiestas(
num_orden tinyint(3) not null,
index (num_orden),
foreign key (num_orden) references toros (num_orden) on delete cascade on update cascade,
id_plazas tinyint(3),
index (id_plazas),
foreign key (id_plazas) references plazas (id_plazas) on delete set null on update restrict,
id_torero tinyint(3),
index (id_torero),
foreign key (id_torero) references torero (id_torero) on delete set null on update cascade,
id_corrida tinyint(3) not null,
index (id_corrida),
foreign key (id_corrida) references corrida (id_corrida) on delete cascade on update cascade)engine=innodb;

create table premio_torero(
id_premios tinyint(3) not null,
index (id_premios),
foreign key (id_premios) references premios (id_premios) on delete cascade on update restrict,
id_torero tinyint(3) not null,
index (id_torero),
foreign key (id_torero) references torero (id_torero) on delete cascade on update restrict,
id_corrida tinyint(3) not null,
index (id_corrida),
foreign key (id_corrida) references corrida (id_corrida) on delete cascade on update cascade)engine=innodb;

miércoles, 6 de octubre de 2010

REGLAS DEL NEGOCIO

# DE REGLA

TABLAS INVOLUCRADAS

REGLAS DEL NEGOCIO

1

TORERO-FIESTAS

En una corrida actúan mínimo 1 torero y máximo 3.

2

TOROS- FIESTAS

En una corrida son estoqueados al menos 6 toros

3

TORERO-PADRINO

Un torero puede dar la alternativa a varios toreros o a ninguno, pero un torero solo puede tener un padrino.

4

PLAZAS- FIESTAS

En una plaza se pueden celebrar varias corridas.

5

GANADERIA-TOROS

Un toro puede pertenecer solo a una ganadería pero una ganadería puede tener muchos toros.

6

APODERADO-TORERO

Un apoderado puede serlo de varios toreros pero un torero solo puede tener un apoderado.


DICCIONARIO DE DATOS

CORRIDA

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

id_corrida

TINYINT

3

No puede ser negativo, ni mayor a 100.

1

No


Es la llave primaria, es el número identificador de cada registro en la tabla corrida.

num_orden

TINYINT

3

No puede ser negativo, ni puede repetirse.

1

No


Es el número que le corresponde a cada corrida, es el orden en que ocurren las corridas.

feria

CHAR

30

No puede contener números.


No


Es el nombre único de cada feria en la que va a celebrarse la corrida.

ano

YEAR


No puede ser negativo, ni puede ser mayor al año actual.


No


Es el año en el que se celebra la corrida.

TORERO

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

id_torero

TINYINT

3

No puede ser negativo ni tampoco puede ser mayor que 100.

1

No


Es la llave primaria de esta tabla.

id_apoderado

TINYINT

3

Puede estar nulo.


Si


Es el número de identificación del apoderado del torero, es llave foránea.

rfc

CHAR

10

No puede repetirse, es único.


No


Es el registro federal del contribuyente del torero.

nombre

CHAR

50

No puede llevar números este campo.

Anónimo

Si


Es el nombre completo del torero.

apodo

CHAR

15

No puede estar vacio.


No


Es el sobrenombre con el que se le conoce al torero.

padrino

BOOL


No puede contener números.


No


Es el valor booleano(Si/No) que indica si el torero tiene padrino o no.

APODERADO

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

id_apoderado

TINYINT

3

No puede contener letras, ser negativo ni ser mayor que 100.

1

No


Es la llave primaria de la tabla, es el identificador del apoderado.

rfc

CHAR

10

No puede ser repetido, es único.


No


Es el registro federal de contribuyente de cada apoderado.

nombre

CHAR

50

No puede contener números.

Anónimo

No


Es el nombre completo del apoderado.

dirección

CHAR

40

No puede contener números negativos.


No


Es el domicilio completo del lugar donde vive el apoderado.

teléfono

CHAR

15

No puede tener números negativos, ni puede repetirse.


Si


Es el teléfono con el que se puede localizar al apoderado.


PREMIOS

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

id-premios

TINYINT

3

No puede contener números negativos, ni puede repetirse y tampoco puede ser mayor de 100.

1

No


Es la llave primaria con la que se identifica a los premios.

orejas

TINYINT

3

No pueden tener números negativos.


Si


Es la cantidad de orejas que el torero recibió en la corrida.

rabos

TINYINT

3

No puede contener números negativos.


Si


Es el número de orejas que recibió el torero en la corrida.

puerta_grande

BOOL


No puede contener números.


No


Es el valor booleano(Si/No) que indica si el torero tiene salió por la puerta grande o no.


PLAZAS

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

id plazas

TINYINT

3

No puede contener números negativos, ni puede ser mayor de 100.

1

No


Es la clave primaria de la tabla y es única.

nombre

CHAR

30

No puede contener números.

Anónimo

No


Es el nombre de la plaza, no puede repetirse porque es único.

localidad

CHAR

20

No puede tener números.


No


Es el nombre del lugar donde se encuentra dicha plaza.

dirección

CHAR

40

No puede contener números negativos.


No


Es el domicilio en donde se localiza dicha plaza.

aforo

INTERGER

5

No puede tener números negativos.


Si


Es la capacidad de aficionados que puede albergar una plaza.

GANADERÍA

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

id_ganaderia

TINYINT

3

No puede contener números negativo, ni ser mayor a 100.

1

No


Es la clave primaria de la tabla que sirve para relacionar a esta con otra tabla, es único.

código

CHAR

15

No puede contener números negativos.


No


Es el código que identifica a cada ganadería y no puede repetirse.

localidad

CHAR

30

No puede contener números.


No


Es el lugar en donde se ubica la ganadería.

antigüedad

DATE


No puede ser una fecha mayor a la actual.


Si


Es la fecha que fue creada la ganadería.

TOROS

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

num_orden

TINYINT

3

No puede llevar números negativos, ni puede repetirse, ni ser mayor que 100.

1

No


Es el numero de orden de nacimiento del toro y es la llave primaria de esta tabla.

id_ganaderia

TINYINT

3

No puede contener números negativos.

1

No


Es el código que identifica a cada ganadería y no puede repetirse.

ano_nac

YEAR


No puede contener números negativos ni decimales.


Si


Es el año de nacimiento del toro.

nombre

CHAR

20

Acepta solo letras y números enteros positivos.


No


Es el nombre del toro.

color

CHAR

10

No puede contener números.


Si


Es el color de piel del toro.

orden_toreado

TINYINT

3

No puede tener números negativos.

1

No


Es el orden en que fue toreado el toro.

APODERADO

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

fecha_matador

DATE


No puede tener una fecha mayor a la actual.


No


Es la fecha en la que el torero se convirtió en matador.

id_torero

TINYINT

3

No puede ser negativo ni tampoco puede ser mayor que 100.


No


Esta es llave foránea y se relaciona con la tabla torero.

FIESTAS

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

num_orden

TINYINT

3

No puede llevar números negativos, ni puede repetirse, ni ser mayor que 100.


No


Es el número de orden del toro que va a ser toreado, es llave foránea y se relaciona con la tabla toros.

id_plazas

TINYINT

3

No puede contener números negativos, ni puede ser mayor de 100.


No


Es el número de identificación de la plaza, es llave foránea y se relaciona con la tabla plazas.

id_torero

TINYINT

3

No puede ser negativo ni tampoco puede ser mayor que 100.

Anónimo

No


Es el número con el que se identifica al torero, es llave foránea y se relaciona con la tabla torero.

id_corrida

TINYINT

3

No puede ser negativo, ni mayor a 100.


No


Es el número de la corrida, es llave foránea y se relaciona con la tabla corrida.

PREMIOS_TORERO

Campo

Tipo De Dato

Longitud

Restricciones

Default

Nulos

Derivados

Descripción

id_premios

TINYINT

3

No puede contener números negativos, ni puede repetirse y tampoco puede ser mayor de 100.


No


Es el identificador de los premios, es llave foránea y se relaciona con la tabla premios.

id_torero

TINYINT

3

No puede ser negativo ni tampoco puede ser mayor que 100.


No


Es el identificador del torero, es llave foránea y se relaciona a la tabla torero.

id_corrida

TINYINT

3

No puede ser negativo, ni mayor a 100.


No


Es el numero para identificar a la corrida, es llave foránea y se relaciona a la tabla corrida.