Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • F Ficai-4.0 Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FICAI 4.0
  • Ficai-4.0 Wiki
  • Wiki
  • banco_dados

banco_dados · Changes

Page history
Update banco_dados authored Nov 18, 2022 by Felipe Roque Tasoniero's avatar Felipe Roque Tasoniero
Hide whitespace changes
Inline Side-by-side
banco_dados.md
View page @ 0603e64b
...@@ -117,14 +117,338 @@ A modelagem, documentação e organização do banco de dados se situará nessa ...@@ -117,14 +117,338 @@ A modelagem, documentação e organização do banco de dados se situará nessa
TBD TBD
### Knex ### Schemas
TBD #### Aluno
### Schemas ```
@Entity
@Table(name = "tb_aluno")
public class Aluno implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private UUID id;
TBD @Column(nullable = true, name = "cpf", length = 11)
private String cpf;
#### Postgrees @Column(nullable = false, name = "nome", length = 80)
private String nome;
TBD @Column(nullable = false, name = "responsavel_primario", length = 80)
private String responsavelPrimario;
@Column(name = "responsavel_secundario", length = 80)
private String responsavelSecundario;
@Column(name = "responsavel_opcional", length = 80)
private String responsavelOpcional;
@Column(nullable = false, name = "beneficiario_renda")
private Boolean beneficiarioRenda;
@Column(nullable = false, name = "beneficiario_bpc")
private Boolean beneficiarioBpc;
@Column(nullable = false, name = "data_nascimento")
private LocalDate dataNascimento;
@OneToMany(mappedBy = "aluno", fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
private List<Telefone> telefones = new ArrayList<>();
@OneToMany(mappedBy = "aluno", fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
private List<Endereco> enderecos = new ArrayList<>();
@OneToMany(mappedBy = "aluno", fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
private List<Ficha> fichas = new ArrayList<>();
}
```
#### Cidade
```
@Entity
@Table(name = "tb_cidade")
public class Cidade implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private UUID id;
@Column(nullable = false, name = "codigo_ibge", length = 7)
private String codigoIbge;
@Column(nullable = false, name = "nome", length = 30)
private String nome;
@Column(nullable = false, name = "uf_sigla", length = 2)
private String ufSigla;
@OneToMany(mappedBy = "cidade", fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
@JsonIgnore
private List<Endereco> endereco = new ArrayList<>();
}
```
#### Endereco
```
@Entity
@Table(name = "tb_endereco")
public class Endereco implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private UUID id;
@Column(nullable = false, name = "data_cadastro")
@CreationTimestamp
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private LocalDate dataCadastro;
@Column(nullable = false, name = "cep", length = 9)
private String cep;
@Column(nullable = false, name = "logradouro", length = 80)
private String logradouro;
@Column(nullable = false, name = "numero", length = 9)
private String numero;
@Column(nullable = false, name = "bairro", length = 50)
private String bairro;
@Column(name = "complemento", length = 50)
private String complemento;
@Column(name = "pontoReferencia", length = 500)
private String pontoReferencia;
@ManyToOne(fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
@JoinColumn(name = "aluno_id")
@JsonIgnore
private Aluno aluno;
@ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.ALL })
@JoinColumn(name = "cidade_id")
private Cidade cidade;
}
```
#### Escola
```
@Entity
@Table(name = "tb_escola")
public class Escola implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private UUID id;
@Column(nullable = false, name = "escola_inep", length = 8)
private String escolaInep;
@Column(nullable = false, name = "nome", length = 50)
private String nome;
@Column(nullable = false, name = "cep", length = 9)
private String cep;
@Column(nullable = false, name = "logradouro", length = 80)
private String logradouro;
@Column(nullable = false, name = "numero", length = 9)
private String numero;
@Column(nullable = true, name = "complemento", length = 50)
private String complemento;
@Column(nullable = false, name = "bairro", length = 50)
private String bairro;
@Column(nullable = false, name = "cidade", length = 50)
private String cidade;
@Column(nullable = false, name = "estado", length = 2)
private String estado;
}
```
#### Ficha
```
@Entity
@Table(name = "tb_ficha")
public class Ficha implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
@OneToOne(cascade=CascadeType.ALL)
private IdPublico idPublico = new IdPublico();
@Column(nullable = false, name = "situacao_Aluno")
private Integer situacaoAluno;
@Column(nullable = false, name = "status")
private Integer status;
@Column(nullable = false, name = "motivo_complemento")
private String motivoComplemento;
@Column(nullable = true, name = "responsavel")
private Integer responsavel;
@Column(nullable = false, name = "data_cadastro")
@UpdateTimestamp
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private LocalDate dataCadastro;
@ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.ALL })
@JoinColumn(name = "aluno_id")
private Aluno aluno;
@Column(nullable = true, name = "id_escola")
private UUID idEscola;
@Column(nullable = true, name = "id_motivo_infrequencia")
private Long idMotivoInfrequencia;
@OneToMany(mappedBy = "ficha", fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
private List<Visita> visitas = new ArrayList<>();
@OneToMany(mappedBy = "ficha", fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
private List<HistoricoFicha> historicoFichas = new ArrayList<>();
}
```
#### HistoricoFicha
```
@Entity
@Table(name = "tb_historico_ficha")
public class HistoricoFicha implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
@Column(nullable = false, name = "data_cadastro")
@UpdateTimestamp
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private LocalDate dataCadastro;
@Column(nullable = false, name = "status", length = 80)
private Integer status;
@Column(nullable = false, name = "responsavel", length = 80)
private Integer responsavel;
@ManyToOne(fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
@JoinColumn(name = "ficha_id")
private Ficha ficha;
}
```
#### IdPublico
```
@Entity
public class IdPublico implements Serializable {
@Id
@SequenceGenerator(name="ficha_id_publico_seq",
sequenceName="ficha_id_publico",
initialValue = 1000)
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "ficha_id_publico_seq")
private Long idPublico;
}
```
#### MotivoInfrequencia
```
@Entity
@Table(name = "tb_motivo_infrequencia")
public class MotivoInfrequencia implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "id")
private Long id;
@Column(nullable = false, name = "tipo", length = 150)
private String tipo;
@Column(nullable = false, name = "subtipo", length = 150)
private String subTipo;
@Column(nullable = false, name = "recorrencias_para_envio")
private Integer recorrenciasParaEnvio;
}
```
#### Telefone
```
@Entity
@Table(name = "tb_telefone")
public class Telefone implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
@Column(nullable = false, name = "ddd", length = 3)
private String ddd;
@Column(nullable = false, name = "numero", length = 9)
private String numero;
@Column(nullable = false, name = "responsavel", length = 80)
private String responsavel;
@Column(nullable = false, name = "data_cadastro")
@CreationTimestamp
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private LocalDate dataCadastro;
@ManyToOne(fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
@JoinColumn(name = "aluno_id")
@JsonIgnore
private Aluno aluno;
}
```
#### Visita
```
@Entity
@Table(name = "tb_visita")
public class Visita implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private UUID id;
@Column(nullable = false, name = "descricao", length = 500)
private String descricao;
@Column(nullable = false, name = "responsavel_visita", length = 80)
private String responsavelVisita;
@Column(nullable = false, name = "teve_sucesso")
private Boolean teveSucesso;
@ManyToOne(fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
@JoinColumn(name = "ficha_id")
@JsonBackReference
private Ficha ficha;
@Column(nullable = false, name = "data_visita")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private LocalDate dataVisita;
}
```
### Postgrees
![Postgres-Schema](uploads/4291d63945c757251878f0082d236445/Postgres-Schema.png)
Clone repository
  • Gerência
  • Instalação
  • Retro
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • estudos
  • gerencia
  • Home
View All Pages