~TiuTalk~ 7 Denunciar post Postado Julho 6, 2008 Gente.. Estava lendo aqui um tutorial sobre relacionamento de tabelas, mas ainda não consigo achar uma utilidade real pra essa 'funcionalidade'... Os sistemas que já criei (alguns bem grandes com mais de 5 tabelas 'relacionadas' a 1 tabela só) nunca usaram esse relacionamento... Gostaria de saber se realmente tem alguma diferença vital, seja de eficiência seja de segurança... (Que claro, valha o trabalho) Gostaria de saber de quem prefere o relacionamento, quais os motivos da preferencia... Ps.: Custumo apenas usar os JOINs pra relacionar a exibição de resultados... Ps².: Como sempre usei o PhpMyAdmin pra manipular meus DBs SQL... E, até onde eu percebi ele não tem nada pra criar essas relações e talvez por isso nunca usei e só hoje, depois de uns 2 anos de SQL, me interessei pela relação... Aproveitando o tópico: se alguém souber de algum manipulador de banco de dados (tipo o pmA) que seja free e tenha as mesmas (ou mais) funcionalidades que o pmA, eu adoraria testá-lo. ;) Agradeço desde já! http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Julho 6, 2008 No geral serve para manter a integridade dos dados de um sistema. Imagine a seguinte situaçao : você tem um funcionario mto do preguiçoso chamado Zezinho, Zezinho recebe rio card, auxilio creche, vale refeiçao em cartao e um monte de outras coisas.Cada coisa dessas esta em uma tabela diferente , se você deletar o Zezinho da base (ele eh um pessimo funcionario) com o relacionamento você teria que antes deletar ele das bases de beneficio(rio card, vale refeiçao e etc) antes de deletar ele da base de funcionarios OU ao deletar ele da base de funcionarios o banco deletaria ele das outras bases pra você. Mas pra q isso serve? Serve pra que caso ele seja despedido ele nao continue a receber os beneficios. Tem gente que se acha 'malandrao' e faz um super tabelao de guerra e enfia tudo na mesma linha. Normalmente nao eh a melhor soluçao.... Free com as mesmas coisas do pma tem aqueles ferramentas q o proprio MySQL disponibiliza, Query Browser e Administrador Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Julho 6, 2008 Giesta, Obrigadão pela resposta... Ajudou bastante... Mas caso eu faça com que, no meu sistema, assim que um funcionário for deletado, delete também todos os benefícios dele... Não daria no mesmo? (Não quero ser chato e ficar rebatendo, só quero entender a verdadeira importância dessa relação).. Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Julho 6, 2008 Daria... mas a medida q o tempo passa o sistema cresce em numero de tabelas , mais cedo ou mais tarde vem alguem pra trabalhar em cima das suas tabelas q nao tem conhecimento da pseudo estrutura delas (afinal a estrutura soh existe na sua cabeça) e mais cedo ou mais tarde você vai abandonar a empresa onde você fez o sistema e essa pessoa vai acabar fazendo cagada, e nao vai ser culpa dela. Isso eh mais ou menos como a historia de orientar a objeto... eu acho aquilo uma GRANDE perda de tempo , metodos, encapsulamentos e outras besteiras, mas eu tenho consciencia que quando o sistema eh grande d+ para ser programado 'na mao' a classe se torna necessaria para domar o sistema, o mesmo vale para relacionamento de tabelas Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Julho 6, 2008 Giesta, Obrigadão pela resposta... Ajudou bastante... Mas caso eu faça com que, no meu sistema, assim que um funcionário for deletado, delete também todos os benefícios dele... Não daria no mesmo? (Não quero ser chato e ficar rebatendo, só quero entender a verdadeira importância dessa relação).. Se você errar a lógica ou se um dos usuários fizer uma operação inválida, o banco avisa e não permite a operação. Depois você vai perguntar para que servem as Transações, Triggers e Stored Procedures, afinal, sua aplicação pode fazer esses trabalhos sem a ajuda do SGBD. No MySQL a integridade referencial esta disponível nas tabelas do tipo InnoDB. Compartilhar este post Link para o post Compartilhar em outros sites
Lion Master 0 Denunciar post Postado Julho 31, 2008 Uma ferramenta FREE ótima para criação, modelagem, relacionamentos e manuntenção do seu banco Mysql é o DBDesignerFork. Utilizo ele já faz algum tempo. Ele é muito fácil de usar. A criação de relacionamentos é muito fácil. E o melhor de tudo é que você cria tudo visualmente. Sendo que após você criar as suas tabelas, você pode gerar os scripts SQL, imagem em PNG entre outros, o que acaba facilitando muito a sua vida. Segue abaixo link para a apostila em PDF: http://www.softwarelivre.sc.gov.br/down/ManualDBDesigner.pdf Compartilhar este post Link para o post Compartilhar em outros sites