Construção de um DER

14 respostas
mysql
P

Estou com dificuldade em fazer um DER para o RH, alguém pode me ajudar?

14 Respostas

darlan_machado

Qual a dificuldade?

P

Um servidor pode ter Categoria, Cargo e Área. Ex:
Categoria (professor, professor substituto, técnico e estagiário (só são estes))
Área (humanas, ciencias exatas, ciências da natureza, etc)
Cargo( auxiliar de aluno, administrador, contador, assistente social, etc)

Porém não consigo ver uma relação entre essas entidades(acho q são entidades) e nem a cardinalidade delas, pois não sei se a pessoa de uma área pode ter vários cargos ou várias categorias.

P

também não sei se é possível ter cargo, mas não ter categoria

darlan_machado

Servidor é uma tabela, categoria, cargo e área são colunas.
Ou seja, só servidor é entidade.

P

mesmo cargo tendo atributos como nível, nome, quantidade e total?

darlan_machado

Veja bem o que você colocou na resposta anterior

Em nenhum momento você disse que cargo possuía outras características.

A regra geral é: você vai criar tabelas para os conjuntos de dados que se referem à mesma coisa.
Se você percebe que algumas informações acabam tendo menos relevância ou você precisaria de mais de uma coluna para armazenar um determinado valor, então você precisa desmembrar a tabela inicial em outra(s) tabela(s).

Veja:

Você tem

//Servidor:
ID    CATEGORIA    NIVEL    NOME    QUANTIDADE    TOTAL   AREA

Percebe que nivel, nome, quantidade e total não são inerentes à servidor, mas a outra coisa, provavelmente, o cargo?

Logo

//Servidor:
ID    CATEGORIA    AREA

Cargo:
ID    NIVEL    NOME    QUANTIDADE    TOTAL    SERVIDOR_ID (FK)

E assim por diante, para cada sub elemento que você tiver aí.

P

Eu acho que vai criar uma entidade fraca… porque um ou mais funcionários podem ocupar um ou mais cargos

F

Pam1, para modelar o banco você vai precisar saber exatamente doque precisa, e ter tudo bem claro, é a parte mais importante do sistema.

é necéssario saber das regras certinho para modelar as entidades e a cardinalidade, acho que ninguém pode te dar a resposta pronta mas vamos la para um cenário e ve se faz sentido para você

poderia modelar assim
Uma tabela para o servidor e coloque todos os atributos da entidade
Uma tabela separada para categoria e coloque o ID e a descricão da categoria.
Uma tabela separada para Area e coloque o ID e a descrição da Area.
Uma tabela separada para cargo e coloque o ID e a descrição para o cargo.

dai vc faz a cardinalidade um servidor pode ter quantas categorias, areas e cargos?, ai depende dos dados levantados na sua pesquisa, antes de modelar as tabelas levante todas as informaçoes necessarias.

por exemplo um servidor pode ser professor e professor substituo ao mesmo tempo, ou qualquer outra categoria?

se sim vai ter que ter uma terceira tebela N:N:
varios servidores pode ter ou pode estar em várias categorias e varias categorias podem ser ou estar relacionadas com varios servidores.

servidor so pode ter uma categoria entre essas?
se nao vai ser 1:N :
1 servidor so pode ter uma categoria e varias categorias podem ser relacionada com vários servidores.
Servidor 1 - categoria 1
Servidor 2 - categoria 1
Servidor 3 - categoria 2

Mais ou menos assim…O/
só um exemplo

darlan_machado

Veja bem, você tem as informações completas. Eu estou trabalhando com o que você me passou.
Sem ver o todo é impossível criar um modelo consistente.

P

Eu entendo, é que eu só tenho dados, não tenho uma questão pronta… daí eu não consegui explicar direito…

javaflex

Antes da modelagem é necessário ter os requisitos definidos.

P

Sim, acho melhor fazer um minimundo primeiro

P

Nem sei como agradecer viu, obrigada msm! vou continuar tentando

P

Consegui fazer o minimundo da forma que entendi:

O departamento de rh de uma escola realiza o cadastro de vários servidores.
Cada servidor tem, além dos dados pessoais, dados profissionais. O servidor ode possuir uma, e só uma categoria(professor, professor substituto, estagiário ou técnico).
Ele pode possuir um ou mais cargos na escola e cada cargo pode ser ocupado por várias pessoas (n,n). [esta parte eu estou confusa porque a maioria dos cargos não se encaixa em nenhuma das categorias definidas a cima, portanto, imagino que a cardinalidade de “categoria” deve ser (0,n)].
O servidor possui matrícula SIAP e área de atuação (imagino que é algo do tipo: área de humanas, ciências exatas ou até mesmo administração).
Possui também coordenação, qualificação (graduação, especialização, mestrado, doutorado ou pós doutorado) e a especificação dessa qualificação.
Pode possuir função gratificada: data da designação e portaria/ data da dispensa e portaria.
Motivo do desligamento, data do desligamento.
Férias (ano xxxx): 1º , 2º e 3º período
Licença deve ter motivo, portaria, data do início, quantidade de dias e fim.

Criado 13 de abril de 2018
Ultima resposta 14 de abr. de 2018
Respostas 14
Participantes 4