none
Criar tabelas generalizadas RRS feed

  • Pergunta

  • Como criar uma tabela usuário com especialização para funcionário ou cliente, sendo cliente especializado para pessoa física ou jurídica?
    quarta-feira, 19 de setembro de 2018 23:56

Respostas

Todas as Respostas

  • Hustian,

    Então podemos presumir que você terá três tabelas?

    - Usuários e ou Funcionários;

    - Pessoas Físicas; e

    -  Pessoas Jurídicas?

    Qual seria sua ideia?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 20 de setembro de 2018 00:38
  • O projeto é de um sistema de help desk. Terá um login de usuários para clientes e funcionários. Cliente pode ser pessoa física ou jurídica e funcionário tem nível de acesso coordenador ou técnico.

    Imaginei que poderia ter as tabelas

    Usuário (login, senha, nome, email, telefone1, telefone2, rua, numero, bairro, cep, cidade, estado)

    Cliente (codCliente, login) especialização de usuário

    Pessoa_Fisica(CPF, codCliente) especialização de cliente

    Pessoa_Jurídica(CNPJ, razao social, codCliente) especialização de cliente

    Funcionario (codFuncionario, CPF, nivelacesso, login) especialização de usuário

    está correto? e como fica isso no sqlserver?

    quinta-feira, 20 de setembro de 2018 01:07
  • Deleted
    • Sugerido como Resposta Mr. GMSOFT sexta-feira, 21 de setembro de 2018 22:02
    quinta-feira, 20 de setembro de 2018 13:33
  • Entendi. Mas nesse caso como a tabela cliente se relaciona e herda os atributos da tabela Usuário?
    • Editado Hustian sexta-feira, 21 de setembro de 2018 01:29
    sexta-feira, 21 de setembro de 2018 01:28
  • Deleted
    sexta-feira, 21 de setembro de 2018 12:11
  • Entendi. Agora em relação a tabela funcionários, deve ter dois níveis de acesso: coordenador e técnico. Coordenador é quem direciona os chamados para os técnicos, portanto tem acesso total a tabela “chamado”, os técnicos só podem visualizar e editar alguns campos dessa tabela. As telas do sistema também serão diferentes para os dois níveis, então na hora de logar tenho que fazer com que o sistema reconheça quem está logando para mostrar o form correto. Eu imaginei que poderia ter um atributo “NivelAcesso” em que de alguma forma o sistema iria ler o nível e abriria o form certo. Como eu poderia fazer isso no sql? Seria possível usar apenas um atributo ou deveria usar uma generalização também?
    sábado, 22 de setembro de 2018 11:21
  • Deleted
    domingo, 23 de setembro de 2018 12:45