Crio Três tabelas se relacionando com a tabela de usuário para login ou tudo numa tabela só?
Caros colegas, é mais uma dúvida de modelagem em sim do que script. A solução pode ser subjetiva. Acredito que alguém já tenha passado por essa experiência. Só tem fera nesse fórum.
CENÁRIO:
Tenho três tipos de usuários distintos: funcionario / cliente / grupo - são três tabelas que possuem apenas algumas informações diferentes, como (cpf, matrícula), (cnpj) e (cnh), respectivamente. Esta é a diferença básica. Essas três entidades são também usuários do sistema. Portanto, eles farão login no sistema. Ciei uma outra tabela e coloquei "tipo de acesso".
Exemplo:
- usuário: nivel 1, nivel 2, funcionario e gerente;
- cliente: cliente;
- grupo: motoristas;
.... e qual é a minha duvida? É se coloco tudo numa tabela só ou separo, como estou fazendo? Estou colocando as tabelas funcionario, cliente e grupo se relacionando com a tabela usuário. Assim, na tela de cadastro, por exemplo, "cliente", a estrutura da modelagem fica mais ou menos assim:
TB_FUNCIONÁRIO
- nome - tb_funcionario
- cpf - tb_funcionario
- matricula - tb_funcionario
- nome_usuario - tb usuario
- senha_usuario - tb_usuario
- email_usuario - tb_usuario
- contato_usuário - tb_usuario
TB_CLIENTE
- nome - tb_cliente
- cnpj - tb_cliente
- nome_usuario - tb usuario
- senha_usuario - tb_usuario
- email_usuario - tb_usuario
- contato_usuário - tb_usuario
TB_GRUPOS
- nome - tb_grupo
- cnh - tb_grupo
- nome_usuario - tb usuario
- senha_usuario - tb_usuario
- email_usuario - tb_usuario
- contato_usuário - tb_usuario
Na hora de cadastrar um dos três, salvo o "id_usuario" na tabela do funcionario, cliente ou grupo.
O que vocês acham? Fariam assim também ou teria alguma outra ideia que possa não prejudicar o banco? Porque meu receito é a gama de informações que vai para o banco. Se eu colocar tudo numa tabela só, alguns campos serão inseridos vazios, ocupando um certo espaço. Entendem? Por isto fiz essa separação.
Ideia são sempre bem vidas :D
abçoDiscussão (4)
Carregando comentários...