freskhu Posted January 3, 2013 at 09:27 AM Report #489343 Posted January 3, 2013 at 09:27 AM Boas, Já nao crio base de dados ha mais de 10 anos, agora tem mesmo de ser :S Já existem coisas que nao me lembro, e surgiu uma duvida. Estou a desenvolver algumas aplicações que sinto necessidade no trabalho, em ruby on rails e mysql. Nao vale a pena explicar a base de dados toda, estou apenas com duvida numa ligação de muitos para muitos nestas tabelas: enco(id, cod_cli, cod_tipo_enco, cod_ano, valor, ...) tipo_enc( cod_tipo_enc, tipo) Ora bem, parte da base de dados inclui encomendas de clientes. É necessário dividir as encomendas por algumas categorias, para posterior listagem e tratamento de dados. Uma encomenda pode ter vários tipos, e um tipo tem várias encomendas. Neste caso deveria decompor a tabela tipo_enc para fazer ligaçao de 1 para muitos e muitos para 1, mas como esta tabela so tem a chave e o tipo não sei muito bem o que fazer; o que será melhor? Uma tabela no meio com o id e o codi_tipo_enc com ligações 1 para muitos e muitos para um, ficando a tabela tipo_enc na mesma? Ou seja ficava assim? enco(id, cod_cli, cod_tipo_enco, cod_ano, valor, .. enco_tipo_enc(cod_tipo_enc, id) tipo_enc( cod_tipo_enc, tipo) Agradeço desde ja a atenção Um abraço
HappyHippyHippo Posted January 3, 2013 at 09:45 AM Report #489347 Posted January 3, 2013 at 09:45 AM sim, a solução usada para o caso de teres relações N-N é o uso da tabela auxiliar. já agora, aconselho-te vivamente a começar a nomear os teus campos seguindo uma regra mais estrita, porque pode se tornar complicado no futuro. o exemplo mais claro que tens será campos com o nome "id", são alvos de repetição o que pode se tornar complicado no momento de projecções de várias tabelas. podes criar um campo identificador que se tornará única 99.9999% dos casos na combinação da palavra "id" com o nome da tabela. exemplo: id_tipo_enc o uso de abreviações nos nomes dos campos, sempre é melhor que o campo "a" mas torna a leitura de terceiros e/ou leituras futuras para reformulações/actualizações sempre mais moroso. tenta usar um nome o mais claro possível. exemplo : codigo_cliente (e não cod_cli) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
freskhu Posted January 3, 2013 at 10:27 AM Author Report #489352 Posted January 3, 2013 at 10:27 AM Muito obrigado pela atenção 🙂
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now