Animadex

Gabriel Orejarena Juan Manuel Castrillon modelo relacional create database animadex; create table Especies( CodEspecie int(11) not null AUTO_INCREMENT primary key, NombreV varchar(45) not null, NombreC varchar(45) not null, DescripcionE text not null ); create table Animales( CodAnimal int(11) not null AUTO_INCREMENT primary key, nombre varchar(45) not null, DescripcionA varchar(45) not null, Edad varchar(45) not null, CodEspecie int(11) not null ); create table Territorios( CodTerritorio int(11) not null AUTO_INCREMENT primary key, Habitat varchar(45) not null , PaisResidencia varchar(45)not null , Caracteristicas varchar(45) not null ); Create table AnimalTerritorio( CodAnimalTerritorio int(11) not null AUTO_INCREMENT primary key, CodTerritorio int(11) not null, CodAnimal int(11) ); create table Enfermedades ( CodEnfermedad int(11) not null AUTO_INCREMENT primary key, NombreE varchar(45) not null, DescripcionEnfe text not null ); create table Alimentos ( CodAlimento int(11) not null AUTO_INCREMENT primary key, NombreAli varchar(45) not null ); create table EspecieAlimentos( CodEspecieAlimento int(11) not null AUTO_INCREMENT primary key, Cantidad int(11) not null, Fecha Date, CodAlimento int(11) not null, CodEspecie int(11) not null ); create table EnfermedadAnimal( CodEnfermedadAnimal int(11) not null AUTO_INCREMENT primary key, CodEnfermedad int(11) null, CodAnimal int(11)not null, CodEspecie int(11)not null, estado text,not null ); alter table Animales add constraint CodEspecieFK foreign key (CodEspecie) references Especies(CodEspecie); alter table AnimalTerritorio add constraint CodTerritorioFK foreign key (CodTerritorio) references Territorios(CodTerritorio); alter table AnimalTerritorio add constraint CodAnimalFK foreign key (CodAnimal) references Animales(CodAnimal); alter table EspecieAlimentos add constraint CodAlimentoFK foreign key (CodAlimento) references Alimentos(CodAlimento); alter table EspecieAlimentos add constraint CodEspecie_Ali_FK foreign key (CodAlimento) references Alimentos(CodAlimento); alter table EnfermedadAnimal add constraint CodEnfermedad_FK foreign key (CodEnfermedad) references Enfermedades(CodEnfermedad); alter table EnfermedadAnimal add constraint CodAnimales_Enfe_FK foreign key (CodAnimal) references Animales(CodAnimal); Insert into Especies values(null,"tigre","tigris felinus" , "Felino de la familia gatos grades"), (null,"gato montes"," felinus monte", "Gato pequeño de orejas grandes"), (null,"gasela","gaselus galopar","caballo pero mas pequeño"), (null,"elefante","helephant gigantus","cosa grande gris con una trompa enorme y orejon"), (null,"hiena","caninus hiena","feo parecido a un perro y rie en vez de ladrar"), (null,"leon","leonus felino","gato grande con melena ruge mucho,machos perezosos"), (null,"fenec"," felec felinus","gato pequeño orejon y temerario"), (null,"mono araña","monus aracnus","mono que trepa y es narizon"), (null,"chimpance","monus sapienes","mono que muestra el ano"), (null,"raton","rodus rarus","roedor que le gusta la abundancia de comida"), (null,"sarihuella","rodus chucha","rata con rayas blancas y negras mas fea q una rata"), (null,"hombre ","homo sapiens-sapiens","muy inteligente no se quedo en la naturaleza"), (null,"humano neandertal","homo sapiens","menos inteligente extinto por esto"), (null,"cucaracha"," ignus repulsio","insecto repulsivo"), (null,"bacalao","pesus aranque","pez medio blanco"), (null,"pez de plata","polvus pesus","mantiene en el polvo se parece a una cucaracha"); Insert into Territorios values(null,"selva","amazonas","grandes bosques y muy peligrosos,gran cantidad de animales"), (null,"alta montaña","españa","poca comida,mucho frio,poca vegetacion"), (null," selva","india","altos bosques pocos depredadores altas lluvias y calor"), (null,"sabana","africa", "perfecto clima,alta cantidad de depredadores como presas" ), (null,"sabana","españa","poca vegetación,buen clima "), (null,"urbana","estados unidos","callejones estrechos,alta cantidad de desechos"), (null,"selva","colombia","alta vegetacion,mucha lluvia"), (null,"bosque","asia","epocas de frio,alta vegetacion"), (null,"mar","japon","alta cantidad de vegetacion submarina,pocos depredadores"), (null,"urbano","colombia","callejones estrechos,alta cantidad de desechos"); Insert into Enfermedades values(null,"estorndos frecuentes,peligro de ahogamiento","catarro"), (null,"muchos mocos como para que no respire","moquillo"), (null,"cumulo de celulas malas","cancer"), (null,"algo blanco en el ojo","cataratas"), (null,"hueso torcido","rotura de huesos"), (null,"esta muy caliente","fiebre alta"), (null,"cuagulos en las venas","tuberculosis"), (null,"encogimiento de las venas","brucelosis"), (null,"se pone la lengua azul","lengua azul"), (null,"la vesicula vilial se inflama","Estomatitis Vesicular"), (null,"mucho gas metano en el estomago","Estomatitis Vesicular"), (null,"salen plumas","salmonella"), (null,"falta de globulos rojos","anemia infecciosa del salmon"), (null,"puntos negros por todo e cuerpo","viruela"); INSERT INTO Alimentos VALUES(null,'Manzana'), (null,'Banana'), (null,'Zanahoria'), (null,'Arroz'), (null,'Pollo'), (null,'Lechuga'), (null,'Pescado'), (null,'Tomate'), (null,'Queso'), (null,'Cebolla'), (null,'Esparragos'), (null,'Naranja'), (null,'Pera'), (null,'Fresas'), (null,'Brocoli'); INSERT INTO Animales VALUES(null, "Maria", "Muy cariñosa y comelona", "8",1), (null, "Max", "Dormilon y tierno", "5",2), (null, "Giselle", "Saltarina", "7",3), (null, "Tantor", "Un poco torpe", "6",4), (null, "Shenzi", "Se rie mucho", "4",5), (null, "Mufasa", "Muy agresivo", "5",6), (null, "Wisca", "Cazador", "3",7), (null, "Edgar", "Muy perezoso", "8",9), (null, "Jerry", "Muy escurridizo", "4",10), (null, "Timon", "Blanca", "2",11), (null, "Juan", "Muy agresivo", "16",12), (null, "Yorman", "Muy masivo", "16",13), (null, "Sarol", "Muy pequeño", "1",14), (null, "Nemo", "Muy rapido", "6",15), (null, "Platin", "Pequeño", "2",16); INSERT INTO EspecieAlimentos VALUES(null,10,"2024-08-03",4,4), (null,14,"2024-02-03",5,6), (null,13,"2024-12-05",6,12), (null,12,"2024-01-01",7,13), (null,5,"2024-03-03",8,8), (null,9,"2024-10-25",9,10), (null,7,"2024-08-25",10,2), (null,11,"2024-05-19",11,11), (null,10,"2024-09-08",12,3), (null,10,"2024-08-03",13,4), (null,10,"2024-01-01",14,8), (null,10,"2024-08-03",15,3); INSERT INTO AnimalTerritorio VALUES(null,1,1,"Sur America"), (null,2,2, "Europa"), (null,4,3, "Africa"), (null,4,4, "Africa"), (null,4,5, "Africa"), (null,4,6, "Africa"), (null,2,7, "Europa"), (null,3,8, "India"), (null,5,9, "Europa"), (null,6,10, "Norte America"), (null,5,11, "Europa"), (null,1,12, "Sur America"), (null,1,13, "Sur America"), (null,10,14,"Sur America"), (null,9,15, "Asia"), (null,9,16, "Asia"); insert into EnfermedadAnimal values(null,1,1,1,"si"), (null,2,2,2,"no"), (null,3,3,3,"si"), (null,4,4,4,"aliviado"), (null,5,5,5,"aliviado"), (null,6,6,6,"si"), (null,null,7,7,"no"),! (null,null,8,8,"no"), (null,9,9,9,"si"), (null,10,10,10,"aliviado"), (null,11,11,11,"aliviado"), (null,12,12,12,"si"), (null,null,13,13,"no"), (null,14,14,14,"si"), (null,null,15,15,"no"), (null,16,16,16,"si"); /cantidad de alimento que consume un animal al dia por edades/ select a.Nombre,a.edad,ea.Cantidad from animales a inner join especies e on(a.CodEspecie=e.CodEspecie) inner join EspecieAlimentos ea on(e.codEspecie=ea.codEspecie) group by a.nombre order by ea.Cantidad DESC; DELIMITER $$ CREATE PROCEDURE selectalimento() begin select a.Nombre,a.edad,ea.Cantidad from animales a inner join especies e on(a.CodEspecie=e.CodEspecie) inner join EspecieAlimentos ea on(e.codEspecie=ea.codEspecie) group by a.nombre order by ea.Cantidad DESC; end $$ delimiter ; /animales que viven en un territorio,descripcion de este y que comen/ select a.CodAnimal,a.Nombre,t.Caracteristicas,t.Habitat,al.NombreAli from animales a inner join especies e on(a.CodEspecie=e.CodEspecie) inner join EspecieAlimentos ea on(e.CodEspecie=ea.CodEspecie) inner join Alimentos al on(ea.CodAlimento=al.CodAlimento) inner join AnimalTerritorio ate on(a.CodAnimal=ate.CodAnimal) inner join Territorios t on(t.CodTerritorio=ate.CodTerritorio) group by a.Nombre ORDER by a.CodAnimal; /procedimiento/ DELIMITER $$ CREATE PROCEDURE slctatd() -- Animal territorio y descripcion begin select a.CodAnimal,a.Nombre,t.Caracteristicas,t.Habitat,al.NombreAli from animales a inner join especies e on(a.CodEspecie=e.CodEspecie) inner join EspecieAlimentos ea on(e.CodEspecie=ea.CodEspecie) inner join Alimentos al on(ea.CodAlimento=al.CodAlimento) inner join AnimalTerritorio ate on(a.CodAnimal=ate.CodAnimal) inner join Territorios t on(t.CodTerritorio=ate.CodTerritorio) group by a.Nombre ORDER by a.CodAnimal; end $$ delimiter ; /*animales que no estan enfermos y que no tuvieron una enfermedad */ select a.Nombre, ea.Estado from animales a inner join EnfermedadAnimal ea on(a.CodAnimal=ea.CodAnimal) where (estado="no") or (estado="aliviado") group by a.Nombre; DELIMITER $$ CREATE PROCEDURE slctanienfe() begin select a.Nombre, ea.Estado from animales a inner join EnfermedadAnimal ea on(a.CodAnimal=ea.CodAnimal) where (estado="no") or (estado="aliviado") group by a.Nombre; end $$ delimiter ; /solo animales asiaticos/ select a.nombre,ate.Continente from animales a inner join AnimalTerritorio ate on(a.CodAnimal=ate.CodAnimal)where (Continente="asia"); DELIMITER $$ CREATE PROCEDURE slctaniasia() begin select a.nombre,ate.Continente from animales a inner join AnimalTerritorio ate on(a.CodAnimal=ate.CodAnimal)where (Continente="asia"); end $$ delimiter ; /*Animales que comen mas de 8 veces*/ SELECT * FROM `especiealimentos` WHERE Cantidad > 8; DELIMITER $$ CREATE PROCEDURE slctanieat() begin SELECT * FROM `especiealimentos` WHERE Cantidad > 8; end $$ delimiter ; /*Animales que tienen mas que 4 años*/ SELECT * FROM `animales` WHERE Edad > 4; DELIMITER $$ CREATE PROCEDURE slctaniage() begin SELECT * FROM `animales` WHERE Edad > 4; end $$ delimiter ; /*Nombre de la especie y nombre del alimento que come*/ SELECT e.CodEspecie, e.NombreV , a.CodAlimento, a.NombreAli from especies e INNER JOIN especiealimentos ea on(e.CodEspecie=ea.CodEspecie) INNER JOIN alimentos a on(ea.CodAlimento=a.CodAlimento) ORDER BY a.CodAlimento ASC; DELIMITER $$ CREATE PROCEDURE slctnmbresa() -- Nombre de la especie y nombre del alimento que come begin SELECT e.CodEspecie, e.NombreV , a.CodAlimento, a.NombreAli from especies e INNER JOIN especiealimentos ea on(e.CodEspecie=ea.CodEspecie) INNER JOIN alimentos a on(ea.CodAlimento=a.CodAlimento) ORDER BY a.CodAlimento ASC; end $$ delimiter ; .