none
Inserir dados em duas tabelas RRS feed

  • Pergunta


  • No banco de dados eu tenho uma tabela de informações pessoais e outra de endereços.Na prática tem a possibilidade de encontrarmos mais de uma pessoa no mesmo endereço, então no relacionamento entre as duas tabelas eu defini como chave primária na tabela de endereços e chave estrangeira na tabela de informações pessoais.

    Em um WebForm de Cadastro eu tenho campos que contem informações pessoais e de endereço.

    Estou em dúvida neste webform, erá que preciso fragmentá-lo? Eu preciso primeiro cadastrar o endereço e depois as informações pessoais?

     
    • Editado Wilson Boris terça-feira, 18 de junho de 2013 11:36 adequação
    terça-feira, 18 de junho de 2013 11:31

Respostas

  • Wilson,

    Teoricamente este tipo de abordagem é um relacionamento N-N, pense assim: Um endereço pode conter mais de uma pessoa (Uma família por exemplo), mas uma pessoa também pode possuir mais de um endereço.

    Em relacionamentos N para N (N-N), você teria a tabela Pessoas com seu id, a tabela Endereço com seu ID e uma tabela auxiliar intermediaria podendo ser chamada de Pessoa_Endereco, contendo apenas os 2 ID´s das outras tabelas, dessa forma seria possível uma pessoa ter mais de um endereço e um endereço pertencer a mais de uma pessoa.

    Quanto ao seu form, não vejo isso como uma regra se deve segmentar ou não. Tudo depende do seu negocio, eu particularmente colocaria o endereço no form principal caso o endereço seja uma informação vital para o negocio (Correio por exemplo), caso contrario colocaria um form apartado com um link no principal.

    Quanto a prioridade da informação, também depende de seu negocio, você pode cadastrar pessoa sem endereço? e endereço sem pessoa? Pense nisso, responda essas questões e veja a melhor abordagem.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    • Marcado como Resposta Wilson Boris terça-feira, 18 de junho de 2013 11:50
    terça-feira, 18 de junho de 2013 11:47
    Moderador
  • Wilson, se a sua PK esta na tabela de endereços e tem uma FK referenciada na tabela de informações pessoais, voce até pode fazer na mesma webform,  porem o primeiro insert seria na tabela de endereços e depois nas de informações pessoais...

    Alexandre Matayosi Conde Mauricio.

    • Marcado como Resposta Wilson Boris terça-feira, 18 de junho de 2013 12:28
    terça-feira, 18 de junho de 2013 11:49

Todas as Respostas

  • Wilson,

    Teoricamente este tipo de abordagem é um relacionamento N-N, pense assim: Um endereço pode conter mais de uma pessoa (Uma família por exemplo), mas uma pessoa também pode possuir mais de um endereço.

    Em relacionamentos N para N (N-N), você teria a tabela Pessoas com seu id, a tabela Endereço com seu ID e uma tabela auxiliar intermediaria podendo ser chamada de Pessoa_Endereco, contendo apenas os 2 ID´s das outras tabelas, dessa forma seria possível uma pessoa ter mais de um endereço e um endereço pertencer a mais de uma pessoa.

    Quanto ao seu form, não vejo isso como uma regra se deve segmentar ou não. Tudo depende do seu negocio, eu particularmente colocaria o endereço no form principal caso o endereço seja uma informação vital para o negocio (Correio por exemplo), caso contrario colocaria um form apartado com um link no principal.

    Quanto a prioridade da informação, também depende de seu negocio, você pode cadastrar pessoa sem endereço? e endereço sem pessoa? Pense nisso, responda essas questões e veja a melhor abordagem.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    • Marcado como Resposta Wilson Boris terça-feira, 18 de junho de 2013 11:50
    terça-feira, 18 de junho de 2013 11:47
    Moderador
  • Wilson, se a sua PK esta na tabela de endereços e tem uma FK referenciada na tabela de informações pessoais, voce até pode fazer na mesma webform,  porem o primeiro insert seria na tabela de endereços e depois nas de informações pessoais...

    Alexandre Matayosi Conde Mauricio.

    • Marcado como Resposta Wilson Boris terça-feira, 18 de junho de 2013 12:28
    terça-feira, 18 de junho de 2013 11:49
  • Alexandre, obrigado pelo retorno.

    No caso da relação N para N eu teria a PK endereços e FK na intermediária, como posso analisar?  

    terça-feira, 18 de junho de 2013 12:42