Ir para conteúdo
Fórum Script Brasil
  • 0

Como identificar um usuário?


Mr. John

Pergunta

Olá galera, estou fazendo um banco de dados aqui, simulando o banco de dados de uma escola privada (cursinhos pré-vestibular e essas coisas...)

E estou no seguinte dilema:

Criar restrições para o tipo de usuário no sistema. Cada tipo de usuário tem suas permissões e restrições (Professor pode editar a frequencia dos alunos, o responsável pelo aluno pode ver as notas dele, e assim por diante...)

A tabela está assim:

pessoaf.jpg

Fiz aí, um tipo de herança a partir da tabela pessoa, para as tabelas aluno, responsável e colaborador, pois os três possuem atributos relacionados a pessoas em comum e também serão usuários do sistema(terão login e senha). Estou com dificuldade em encontrar um método para identificar se uma pessoa é aluno, colaborador, ou responsável através do seu tipo de usuário... por exemplo: Quando eu selecionar o tipo de usuário 1 (Aluno) na tabela usuário, as informações serem gravadas na tabela aluno.

Desde já agradeço pela atenção.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Os atores(termo usado em UML) ALUNO, COLABORADOR, USUARIO e RESPONSÁEL são usuarios de seus sistema com direitos de acesso ao mesmo?

Se sim, esles serão ESPECIALIZAÇÕES da tabela PESSOA. E neste caso os ATRIBUTOS LOGIN e SENHA deverão ficar na tabela PESSOA. E deverá existir umais um atributo em PESSOA para indicar o TIPO DE ESPECIALIZAÇÃO.

Este atributo TIPO DE ESPECIALIZAÇÃO determina o PAPEL que o ator(PESSOA) representa no seu banco de dados.

TABLE1 deverá ser uma tabela para PERFIL DE ACESSO que se ligará a pessoa através de um relacionamento UM PARA MUITOS. Pois um perfil poderá ser usado por uma ou mais pessoas

Deverá haver uma outra tabela contendo os ACESSOS (que itens de menus de acesso poderão ser acessados).

A tabela ACESSOS se ligará a tabela PERFIL DE ACESSO através de um relacionamento MUITOS PARA MUITOS, que implica a criação de outra tabela REL_PERFIL_ACESSOS (codigo perfil, codigo acesso), pois relacionamentos muitos para muitos em modo físico determinam sempre a existencia de uma tabela intermediária.

Link para o comentário
Compartilhar em outros sites

  • 0
Os atores(termo usado em UML) ALUNO, COLABORADOR, USUARIO e RESPONSÁEL são usuarios de seus sistema com direitos de acesso ao mesmo?

Se sim, esles serão ESPECIALIZAÇÕES da tabela PESSOA. E neste caso os ATRIBUTOS LOGIN e SENHA deverão ficar na tabela PESSOA. E deverá existir umais um atributo em PESSOA para indicar o TIPO DE ESPECIALIZAÇÃO.

Este atributo TIPO DE ESPECIALIZAÇÃO determina o PAPEL que o ator(PESSOA) representa no seu banco de dados.

TABLE1 deverá ser uma tabela para PERFIL DE ACESSO que se ligará a pessoa através de um relacionamento UM PARA MUITOS. Pois um perfil poderá ser usado por uma ou mais pessoas

Deverá haver uma outra tabela contendo os ACESSOS (que itens de menus de acesso poderão ser acessados).

A tabela ACESSOS se ligará a tabela PERFIL DE ACESSO através de um relacionamento MUITOS PARA MUITOS, que implica a criação de outra tabela REL_PERFIL_ACESSOS (codigo perfil, codigo acesso), pois relacionamentos muitos para muitos em modo físico determinam sempre a existencia de uma tabela intermediária.

Obrigado pela ajuda cara, sua dica me ajudou aqui. Eu fiz o seguinte, tirei o id_usuario da tabela usuario, e coloquei um relacionamento de um para um com a tabela pessoa, levando a primary key da tabela pessoa para lá, tornando essa primiary key de pessoa, a primary key também da tabela usuário, já que todo usuário é uma pessoa, e possui as características desta... quanto a tabela table_1, o nome dela era pra ser tipo_usuário. Ela será usada para regular as restrições que os usuários tem no sistema (provavelmente usaremos um if para isso).

É isso aí...

Valeu!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...