Modelo OO para Relacional. Como fazer?
Tenho uma deficiência que me causa muita dor de cabeça. Projetar o banco de dados Relacional baseado no Modelo OO.
Eis minha dificuldade:
Tenho uma classe chamada “[b:1168c6459b]PESSOA[/b:1168c6459b]” e subclasses chamadas “[b:1168c6459b]PESSOA FISICA[/b:1168c6459b]” e “[b:1168c6459b]PESSOA JURIDICA[/b:1168c6459b]”.
A classe “[b:1168c6459b]PESSOA FISICA[/b:1168c6459b]” também tem subclasses: “[b:1168c6459b]USUARIO[/b:1168c6459b]”, “[b:1168c6459b]VISITANTE[/b:1168c6459b]” e etc.
A classe “[b:1168c6459b]PESSOA JURIDICA[/b:1168c6459b]” também tem subclasses “[b:1168c6459b]EMPRESAS[/b:1168c6459b]”, “[b:1168c6459b]FEIRAS[/b:1168c6459b]”, “[b:1168c6459b]CONDOMINIOS[/b:1168c6459b]” e etc.
Meu dilema é: [color=red:1168c6459b][b:1168c6459b]Como criar o banco baseado nesse cenário? Devo ter uma tabela para cada subclasse e usar FKs? Na tabela “[u:1168c6459b]PESSOA[/u:1168c6459b]” devo ter um ID que identifique o tipo de pessoa?[/b:1168c6459b][/color:1168c6459b]
Gostaria de conseguir algum material de estudo sobre isso, artigo, apostila, dica. Qualquer coisa.
Por favor, ajudem–me.
Obrigado
Eis minha dificuldade:
Tenho uma classe chamada “[b:1168c6459b]PESSOA[/b:1168c6459b]” e subclasses chamadas “[b:1168c6459b]PESSOA FISICA[/b:1168c6459b]” e “[b:1168c6459b]PESSOA JURIDICA[/b:1168c6459b]”.
A classe “[b:1168c6459b]PESSOA FISICA[/b:1168c6459b]” também tem subclasses: “[b:1168c6459b]USUARIO[/b:1168c6459b]”, “[b:1168c6459b]VISITANTE[/b:1168c6459b]” e etc.
A classe “[b:1168c6459b]PESSOA JURIDICA[/b:1168c6459b]” também tem subclasses “[b:1168c6459b]EMPRESAS[/b:1168c6459b]”, “[b:1168c6459b]FEIRAS[/b:1168c6459b]”, “[b:1168c6459b]CONDOMINIOS[/b:1168c6459b]” e etc.
Meu dilema é: [color=red:1168c6459b][b:1168c6459b]Como criar o banco baseado nesse cenário? Devo ter uma tabela para cada subclasse e usar FKs? Na tabela “[u:1168c6459b]PESSOA[/u:1168c6459b]” devo ter um ID que identifique o tipo de pessoa?[/b:1168c6459b][/color:1168c6459b]
Gostaria de conseguir algum material de estudo sobre isso, artigo, apostila, dica. Qualquer coisa.
Por favor, ajudem–me.
Obrigado
Tenil
Curtidas 0
Respostas
Tenil
23/05/2006
sobe
GOSTEI 0
Thomaz_prg
23/05/2006
Bom, primeiro você teria que definir alguns itens, como por exemplo, se uma PESSOA FÍSICA pode ser Usuário e Visitante. Para o caso de uma pessoa física poder ser apenas um dos 2, a implementação poderia ser essa:
Você teria uma tabela PESSOAS que teria os atributos comuns para PESSOA FÍSICA e PESSOA JURÍDICA. E então teria outras 2 tabelas, sendo PESSOA_FISICA e PESSOA_JURIDICA. Em cada uma dessas tabelas, teria-se os dados respectivos a pessoa (para pessoa física rg, cpf, dt. nascimento, etc... para pessoa jurídica cnpj, ins. estadual, etc), um campo chave estrangeira que ligaria a uma pessoa, e um campo TIPO que classificaria a tupla (para pessoa física, a classificação seria Usuário ou Visitante).
Essa seria uma forma de se implementar esse modelo.
Você teria uma tabela PESSOAS que teria os atributos comuns para PESSOA FÍSICA e PESSOA JURÍDICA. E então teria outras 2 tabelas, sendo PESSOA_FISICA e PESSOA_JURIDICA. Em cada uma dessas tabelas, teria-se os dados respectivos a pessoa (para pessoa física rg, cpf, dt. nascimento, etc... para pessoa jurídica cnpj, ins. estadual, etc), um campo chave estrangeira que ligaria a uma pessoa, e um campo TIPO que classificaria a tupla (para pessoa física, a classificação seria Usuário ou Visitante).
Essa seria uma forma de se implementar esse modelo.
GOSTEI 0
Tenil
23/05/2006
[b:aca65e9b23]thomaz_prg[/b:aca65e9b23],
Obrigado pela ajuda.
Obrigado pela ajuda.
GOSTEI 0