Cenário Escolhido
Cenário 5 – Gestão de Pessoas (RH)
Uma empresa quer organizar melhor sua gestão de pessoas.
Vamos pensar num APP para isso de forma que seja possível responder as perguntas abaixo. Se sim, o APP está em linha com o que a empresa quer.
- Quem trabalha na empresa hoje?
- Em quais áreas as pessoas atuam?
- Quem lidera quem?
- Como registrar mudanças ao longo do tempo?
Modelo Entidade-Relacionamento
Abaixo está a representação visual da modelagem de dados proposta para resolver o cenário do RH, atendendo ao histórico de mudanças e cardinalidade (1:N).
erDiagram
FUNCIONARIO {
int id PK
string nome_completo
string email
date data_admissao
string status
}
DEPARTAMENTO {
int id PK
string nome_departamento
}
CARGO {
int id PK
string titulo_cargo
}
HISTORICO_ALOCACAO {
int id PK
int funcionario_id FK
int departamento_id FK
int cargo_id FK
int gestor_id FK
date data_inicio
date data_fim
}
FUNCIONARIO ||--o{ HISTORICO_ALOCACAO : "1 : N (possui)"
DEPARTAMENTO ||--o{ HISTORICO_ALOCACAO : "1 : N (aloca)"
CARGO ||--o{ HISTORICO_ALOCACAO : "1 : N (define)"
FUNCIONARIO ||--o{ HISTORICO_ALOCACAO : "1 : N (gerencia como líder)"
Código erDiagram (Mermaid)
Código utilizado para gerar a modelagem acima, definindo as entidades, atributos, chaves (PK/FK) e as cardinalidades de relacionamento.
erDiagram
FUNCIONARIO {
int id PK
string nome_completo
string email
date data_admissao
string status
}
DEPARTAMENTO {
int id PK
string nome_departamento
}
CARGO {
int id PK
string titulo_cargo
}
HISTORICO_ALOCACAO {
int id PK
int funcionario_id FK
int departamento_id FK
int cargo_id FK
int gestor_id FK
date data_inicio
date data_fim
}
FUNCIONARIO ||--o{ HISTORICO_ALOCACAO : "1 : N (possui)"
DEPARTAMENTO ||--o{ HISTORICO_ALOCACAO : "1 : N (aloca)"
CARGO ||--o{ HISTORICO_ALOCACAO : "1 : N (define)"
FUNCIONARIO ||--o{ HISTORICO_ALOCACAO : "1 : N (gerencia como líder)"