logo DevMedia  
Home Entenda o site Revistas Canais Cursos Palestras Suporte Fórum +Serviços Assine Compre Créditos

Edição do Mês
  Fórum DevMedia
Fórum de Discussão
Conheça também o NOVO fórum da DevMedia, no endereço: www.devmedia.com.br/forum
O novo fórum possui diversas vantagens! Saiba mais em
www.devmedia.com.br/articles/viewcomp.asp?comp=14726
Estamos sempre trabalhando na melhora do site como um todo! Bons códigos!
Equipe DevMedia

 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos  RegistrarRegistrar   
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 
Edição do Mês

Confundindo normalização de banco de dados com classes
 
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> Modelagem de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
gil2008
Novato


Registrado em: Quarta-Feira, 17 de Setembro de 2008
Mensagens: 4

MensagemEnviada: Qua Set 17, 2008 1:43 pm    Assunto: Confundindo normalização de banco de dados com classes Responder com Citação

Olá a todos!!

Fico muito feliz em fazer parte do fórum e quero ajudar sempre que possível.

A minha dúvida é a seguinte Eu tenho 3 objetos: alunos, professores e responsáveis, que fazem parte da classe pessoas. Segundo as formas normais de banco de dados, uma pessoa pode ter mais um endereço. Pergunto: endereço será uma propriedade da classe pessoa ou endereço será uma nova classe que terá uma ligação com a classe pessoa? Ou nenhuma das alterantivas?

Ainda nas formas normais, com relação a banco de dados, eu criaria por exemplo a tabela alunos, a tabela endereços e a tabela assossiativa alunos_endereços. Na hora de escrever as classes, eu criaria uma classe pessoa, uma classe alunos, uma classe endereços e uma classe alunos_endereços?

Esse negócio confunde muito!!! Quem puder me ajudar serei totalmente grato.

Abraços

Gil
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fabriciok
Novato


Registrado em: Terça-Feira, 22 de Abril de 2008
Mensagens: 16

MensagemEnviada: Qua Set 17, 2008 2:57 pm    Assunto: Responder com Citação

Bom cara, nesse caso "endereço" vira uma Classe.
Na classe PESSOA, vc adiciona um atributo "endereço" que será uma Lista de objetos do tipo ENDERECO.

E na hora de gravar isso num BD, vc varre o "endereço", e para cada item da lista vc salva na tabela pessoa_endereço.

Att.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gil2008
Novato


Registrado em: Quarta-Feira, 17 de Setembro de 2008
Mensagens: 4

MensagemEnviada: Qua Set 17, 2008 3:36 pm    Assunto: Responder com Citação

Apenas pra eu fixar a idéia:

Eu crio uma classe chamada Endereço.
Ae lá no diagrama de classe, quando eu colocar os atributos, eu escrevo algo assim:

Nome:String
Nascimento:Date
Endereco:Endereco

Correto?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fabriciok
Novato


Registrado em: Terça-Feira, 22 de Abril de 2008
Mensagens: 16

MensagemEnviada: Qua Set 17, 2008 4:14 pm    Assunto: Responder com Citação

Genericamente falando, seria

Nome: String;
Nascimento: Date;
Endereco: List<TEndereco>;

o endereço é um conjunto de objetos do tipo Endereço.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gil2008
Novato


Registrado em: Quarta-Feira, 17 de Setembro de 2008
Mensagens: 4

MensagemEnviada: Qua Set 17, 2008 4:22 pm    Assunto: Responder com Citação

Fiquei um pouco confuso agora, o que significa conjunto de objetos?

E pra encerrar o tópico: eu preciso ter uma classe chamada Alunos_Enderecos ou essa estrutura já me dá suporte para eu gravar o dado na tabela Alunos_Enderecos

Obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fabriciok
Novato


Registrado em: Terça-Feira, 22 de Abril de 2008
Mensagens: 16

MensagemEnviada: Qua Set 17, 2008 5:38 pm    Assunto: Responder com Citação

Essa estrutura já te dá suporte a gravar numa tabela Alunos_Enderecos.

Resumindo, por exemplo, vamos supor q vc crie 3 objetos (end1, end2, end3) do tipo ENDERECO que seriam os 3 endereços de um ALUNO (um conjunto).

Ex. didático:
Nome:= "Manoel";
Idade:= 25;
Endereco:= [end1, end2, end3];
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gil2008
Novato


Registrado em: Quarta-Feira, 17 de Setembro de 2008
Mensagens: 4

MensagemEnviada: Qua Set 17, 2008 8:02 pm    Assunto: Responder com Citação

Interessante cara, não sabia que isso era possível de ser feito. Vou tentar transportar isso pro VB e caso eu ainda fizer confusão eu posto novamente.

Grande abraço fabriciok, valeu msm!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adoniram
Novato


Registrado em: Quarta-Feira, 4 de Junho de 2008
Mensagens: 37

MensagemEnviada: Qua Set 17, 2008 9:50 pm    Assunto: Responder com Citação

Só uma dica.
Evita recriar a estrutura do banco de dados nas suas classes. Elas foram criadas para serem mais "inteligentes" e terem mais "responsabilidades" do que a simples persistência dos dados em memória.

Espero ter contribuído de alguma forma.

Abraço.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> Modelagem de Dados Todos os horários são GMT - 3 Hours
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibído.
Responder Tópicos Proibído
Editar Mensagens: Proibído.
Excluir Mensagens: Proibído.
Votar em Enquetes: Proibído.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB