Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Nível Básico - Relacionamento entre tabela cliente e cidad


diogosjdr

Pergunta

Olá pessoal, sou novo por aqui e estou começando a programar agora.

Minha dúvida é o seguinte.

Eu tenho uma tabela cliente e quero relacioná-la com endereço (rua, número, cep) bairro, cidade, estado e país. Como endereço é único, ele fica na tabela cliente certo? Foram criadas então 4 tabelas para bairro, cidade, estado e país.

Após isto relacionei estas 4 tabelas diretamente com a tabela clientes (1 para muitos).

Só que eu tenho outras tabelas como prestador de serviço, fornecedores, funcionários que também necessitam de bairro, cidade, estado e país.

Assim, quando fiz todos os relacionamentos meu diagrama ficou uma bagunça. Tem alguma maneira mais inteligente de fazer este relacionamento? Criando uma tabela intermediária ou qualquer outra coisa diferente disto?

Valeu pessoal.

Editado por diogosjdr
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

oi diogosjdr,

tu disse que tem a tabela cliente e mais 4 tabelas (bairro, cidade, estado, pais). Dessa forma tu não deveria relaconar estas 4 tabelas diretamente com cliente, porque não há necessidade.

Ficaria mais ou menos assim:

pais

pk_pk_pais

estado

pk_pk_estado

pk_fk_pais

cidade

pk_pk_cidade

pk_fk_pais

bairro

pk_pk_bairro

pk_fk_cidade

cliante

pk_cliente

fk_bairro

prestador_de_servico

pk_prestador_de_servico

fk_bairro

para tuas 4 tabelas, cada fk, frá parte da pk também, para cliente e prestador de serviço, será apenas fk.

não sei se consegui ser clara, mas qualquer duvida pode falar.

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde Diogo,

Acrecentando apenas mais algumas coisas:

Sua pergunta: Como endereço é único, ele fica na tabela cliente certo?

Na modelagem em si, os dados de endereços não são dados "pertencentes" aos clientes. Estes dados estão relcionados a um lugar físico (logradouro, cep, complemento, ponto de referência, etc).

Prefira criar uma tabela Endereço. Nela você fará um relacionamento com a tabela de Cliente. Desta forma, conseguirá colocar na nova tabela de Endereço não somente os endereços de clientes, mas também de fornecedores, serviços, etc.

O endereço de clientes NÃO é único. No levantamento de requisitos, poderá sim ter esta regra que identifique este relacionamento. Mas perceba: e se o cliente tiver endereço de casa e de trabalho? :.)

Espero que ajude....

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado pelas dicas Angélica!!

oi diogosjdr,

tu disse que tem a tabela cliente e mais 4 tabelas (bairro, cidade, estado, pais). Dessa forma tu não deveria relaconar estas 4 tabelas diretamente com cliente, porque não há necessidade.

Ficaria mais ou menos assim:

pais

pk_pk_pais

estado

pk_pk_estado

pk_fk_pais

cidade

pk_pk_cidade

pk_fk_pais

bairro

pk_pk_bairro

pk_fk_cidade

cliante

pk_cliente

fk_bairro

prestador_de_servico

pk_prestador_de_servico

fk_bairro

para tuas 4 tabelas, cada fk, frá parte da pk também, para cliente e prestador de serviço, será apenas fk.

não sei se consegui ser clara, mas qualquer duvida pode falar.

Fulvio, muito obrigado. Com a ajuda de vocês 2 adiantei bastante meu primeiro banco de dados. Espero daqui a um tempo poder contribuir também. Um abraço.

Boa tarde Diogo,

Acrecentando apenas mais algumas coisas:

Sua pergunta: Como endereço é único, ele fica na tabela cliente certo?

Na modelagem em si, os dados de endereços não são dados "pertencentes" aos clientes. Estes dados estão relcionados a um lugar físico (logradouro, cep, complemento, ponto de referência, etc).

Prefira criar uma tabela Endereço. Nela você fará um relacionamento com a tabela de Cliente. Desta forma, conseguirá colocar na nova tabela de Endereço não somente os endereços de clientes, mas também de fornecedores, serviços, etc.

O endereço de clientes NÃO é único. No levantamento de requisitos, poderá sim ter esta regra que identifique este relacionamento. Mas perceba: e se o cliente tiver endereço de casa e de trabalho? :.)

Espero que ajude....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...