Miguelowski Postado Janeiro 30, 2017 Denunciar Share Postado Janeiro 30, 2017 Alguém ajuda como resolver? Link para o comentário Compartilhar em outros sites More sharing options...
0 wmsilva191 Postado Janeiro 30, 2017 Denunciar Share Postado Janeiro 30, 2017 Qual é mesmo sua dúvida? Se quiser aprender, poste a dúvida que te encaminho a documentação correta para estudar; Se está procurando alguém para fazer sua atividade eu faço, porém irei cobrar. Link para o comentário Compartilhar em outros sites More sharing options...
0 Miguelowski Postado Janeiro 31, 2017 Autor Denunciar Share Postado Janeiro 31, 2017 (editado) 1.1.1 Select * from peixe 1.1.2 Select avg(peso) from peixe 1.1.3 Select count(codespecie) as Quantidade From peixe p inner join Especie n on p.Peixe=n.codespecie where n.codespecie = 'carapau de corrida' 1.1.5 Select * From especie n inner join peixe p on n.codespecie= p.codpeixe inner join Ecossistemas e on p.codpeixe=e.nome where e.nome ='Rio Douro' 1.1.4 select count(codpeixe) as Quantidade from p.peixe inner join especie e on p.peixe=e.nome group by e.nome Pode me dizer se estão corretamente resolvidos? Editado Janeiro 31, 2017 por Miguelowski Link para o comentário Compartilhar em outros sites More sharing options...
0 wmsilva191 Postado Janeiro 31, 2017 Denunciar Share Postado Janeiro 31, 2017 A ideia está correta, porem a escrita precisa de atenção Ex: 1.1.4 - FROM peixe p ; ON p.codpeixe ; Procedure: No código abaixo tem a criação da Procedure e da Trigger; Para inserir utilizando a procedure basta chamar call cadastrarPeixe(2,"Nemo",0.301,"Laranja",1,1); call cadastrarPeixe(1,"Dory",0.321,"Azul",1,1); Se quiser testar eu elaborei o banco, basta você subir em um banco de dados seu; -- -------------------------------------------------------- -- Servidor: 127.0.0.1 -- Versão do servidor: 5.6.17 - MySQL Community Server (GPL) -- OS do Servidor: Win64 -- HeidiSQL Versão: 9.3.0.4984 -- -------------------------------------------------------- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET NAMES utf8mb4 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -- Copiando estrutura para procedure foruns.cadastrarPeixe DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `cadastrarPeixe`( IN codpeixe INT, IN nome VARCHAR(50), IN peso FLOAT, IN cor VARCHAR(50), IN codEspecie INT, IN codEcossistema INT) BEGIN INSERT INTO peixe VALUES (codpeixe, nome, peso, cor, codEspecie, codEcossistema); END// DELIMITER ; -- Copiando estrutura para tabela foruns.ecossistema CREATE TABLE IF NOT EXISTS `ecossistema` ( `codEcossistema` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(50) DEFAULT NULL, `temp` varchar(50) DEFAULT NULL, `codTipo` int(11) DEFAULT NULL, `codLocal` int(11) DEFAULT NULL, PRIMARY KEY (`codEcossistema`), KEY `fkCodTipo` (`codTipo`), KEY `fkCodLocal` (`codLocal`), CONSTRAINT `fkCodTipo` FOREIGN KEY (`codTipo`) REFERENCES `tipo` (`codTipo`), CONSTRAINT `fkCodLocal` FOREIGN KEY (`codLocal`) REFERENCES `local` (`codLocal`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.ecossistema: ~0 rows (aproximadamente) /*!40000 ALTER TABLE `ecossistema` DISABLE KEYS */; INSERT INTO `ecossistema` (`codEcossistema`, `nome`, `temp`, `codTipo`, `codLocal`) VALUES (1, 'filme', '?', NULL, 1); /*!40000 ALTER TABLE `ecossistema` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.especie CREATE TABLE IF NOT EXISTS `especie` ( `codEspecie` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(50) DEFAULT NULL, `numeroPeixes` int(11) DEFAULT NULL, PRIMARY KEY (`codEspecie`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.especie: ~2 rows (aproximadamente) /*!40000 ALTER TABLE `especie` DISABLE KEYS */; INSERT INTO `especie` (`codEspecie`, `nome`, `numeroPeixes`) VALUES (1, 'Peixe Palhaço', 2), (2, 'Lambari', 0); /*!40000 ALTER TABLE `especie` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.local CREATE TABLE IF NOT EXISTS `local` ( `codLocal` int(11) NOT NULL AUTO_INCREMENT, `local` varchar(50) DEFAULT NULL, PRIMARY KEY (`codLocal`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.local: ~0 rows (aproximadamente) /*!40000 ALTER TABLE `local` DISABLE KEYS */; INSERT INTO `local` (`codLocal`, `local`) VALUES (1, 'cinema'); /*!40000 ALTER TABLE `local` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.peixe CREATE TABLE IF NOT EXISTS `peixe` ( `codPeixe` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(50) DEFAULT NULL, `peso` float DEFAULT NULL, `cor` varchar(50) DEFAULT NULL, `codEspecie` int(11), `codEcossistema` int(11) DEFAULT NULL, PRIMARY KEY (`codPeixe`), KEY `fkCodEspeciePeixe` (`codEspecie`), KEY `fkCodEcossistemaPeixe` (`codEcossistema`), CONSTRAINT `fkCodEspeciePeixe` FOREIGN KEY (`codEspecie`) REFERENCES `especie` (`codEspecie`), CONSTRAINT `fkCodEcossistemaPeixe` FOREIGN KEY (`codEcossistema`) REFERENCES `ecossistema` (`codEcossistema`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.peixe: ~2 rows (aproximadamente) /*!40000 ALTER TABLE `peixe` DISABLE KEYS */; INSERT INTO `peixe` (`codPeixe`, `nome`, `peso`, `cor`, `codEspecie`, `codEcossistema`) VALUES (1, 'Dory', 0.321, 'Azul', 1, 1), (2, 'Nemo', 0.301, 'Laranja', 1, 1); /*!40000 ALTER TABLE `peixe` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.tipo CREATE TABLE IF NOT EXISTS `tipo` ( `codTipo` int(11) NOT NULL AUTO_INCREMENT, `tipo` varchar(50) DEFAULT NULL, PRIMARY KEY (`codTipo`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.tipo: ~1 rows (aproximadamente) /*!40000 ALTER TABLE `tipo` DISABLE KEYS */; INSERT INTO `tipo` (`codTipo`, `tipo`) VALUES (1, 'animacao'); /*!40000 ALTER TABLE `tipo` ENABLE KEYS */; -- Copiando estrutura para tabela foruns.videos CREATE TABLE IF NOT EXISTS `videos` ( `codigo` int(11) NOT NULL AUTO_INCREMENT, `link` varchar(50) DEFAULT '0', PRIMARY KEY (`codigo`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- Copiando dados para a tabela foruns.videos: ~2 rows (aproximadamente) /*!40000 ALTER TABLE `videos` DISABLE KEYS */; INSERT INTO `videos` (`codigo`, `link`) VALUES (1, 'https://www.youtube.com/embed/60ItHLz5WEA'), (2, 'https://www.youtube.com/embed/COq2RouJ2tQ'); /*!40000 ALTER TABLE `videos` ENABLE KEYS */; -- Copiando estrutura para trigger foruns.peixe_after_insert SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `peixe_after_insert` AFTER INSERT ON `peixe` FOR EACH ROW BEGIN UPDATE especie set especie.numeroPeixes = (SELECT COUNT(1) FROM peixe WHERE peixe.codEspecie=especie.codEspecie ); END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Copiando estrutura para trigger foruns.peixe_after_update SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `peixe_after_update` AFTER UPDATE ON `peixe` FOR EACH ROW BEGIN UPDATE especie set especie.numeroPeixes = (SELECT COUNT(1) FROM peixe WHERE peixe.codEspecie=especie.codEspecie ); END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; Link para o comentário Compartilhar em outros sites More sharing options...
0 Miguelowski Postado Janeiro 31, 2017 Autor Denunciar Share Postado Janeiro 31, 2017 Muito obrigado :) Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Miguelowski
Alguém ajuda como resolver?
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados