gedalinux
(usa Slackware)
Enviado em 08/09/2009 - 22:54h
A analise dos dados lava-nos a devaneios, rsrsr....
A Solucao para algo assim é separar cada entidade individualmente e interpretá-las, afinal no mundo real cada uma delas vive individualmente, isto é, elas não dependem exatamente umas das outras. Logo voce terá tres tabelas
Usuario
Cliente
Endereco
em seguida vc percebe que o mundo não é perfeito e um usuario poderia ser ao mesmo tempo apenas um cliente, ou um vendedor ou este ainda poderia ser alguém que acessa os dados em diferentes niveis, daí a melhor maneira é partir pro devaneio, também conhecido por abstraçao de dados, agora surgem novas entidades no seu plano. Afinal todos os individuos são pessoas e portanto os dados sobre usuarios são na verdade melhorias de informações sobre pessoas, vulgamente conhecida por especialização.
então teriamos agora a tabela pessoas. Na pratica gosto de nome de tabelas sempre no plural para indicar que tenho coleções de dados, uma mania OOP.
Um dos grandes problemas na ER é que não temos o comportamento, mas felizmente podemos representar tal comportamento na forma de relacioamento de dados e obvio se CLIENTE "É UMA" PESSOA e USUARIO "É UMA" e VENDEDOR "É UMA" PESSOA nada mais justo representa tal relacionamento na forma mais tradicional de um SGBD mais uma tabela
algo como :
PESSOA_ENDERECOS
contendo dois campos apenas
id_pessoa e id_endereco
sendo que estes campos são pk e fk respectivamente
PK na tabela local e FK de PESSOA e ENDERECOS
agora tudo seria quatro tabelas, EX:
NOME _____ PK _____ FK
PESSOA = ID_PESSOA
CLIENTE = ID_PESSOA _____ ID_PESSOA DE PESSOA
USUARIO = ID_PESSOA _____ ID_PESSOA DE PESSOA
ENDERECOS= ID_ENDERECO
PESSOAS_ENDERECOS = ID_PESSOA _____ ID_PESSOA DE PESSOA
ID_ENDERECO ID_ENDERECO DE ENDERECOS
E portanto pode-se ter um usuario morando em varios lugares.
Filho de pais separados e que mora com os avós e sem duplicata de
enderecos em usuarios
nem em clientes
nem em funcionarios
nem em alunos
nem em professores
tudo por causa da abstracao de dados (generalizacao)...
isto é como penso....
claro no mundo computacao somos livres para agir
se arrepender e refatorar sempre.....
lamento pela formatação mas isso é cois VOL
VIVA O SOFTWARE LIVRE
VIA O CONHECIMENTO E O LIVRE ARBÍTRIO
QUE DEUS TE GUIE
CONHECEREIS A VERDADE E ELA VOS LIBERTARÁ