Skip to content

Banco de Dados

Orivaldo Santana Jr edited this page Jul 29, 2024 · 14 revisions

Este projeto usa como banco de dados o MongoDB. Ele é um banco de dados NoSQL (Not Only SQL) orientado a documentos, amplamente utilizado no desenvolvimento de aplicativos modernos. Ele foi projetado para lidar com volumes massivos de dados de forma escalável e flexível, oferecendo alta performance e facilidade de uso.

Ao contrário dos bancos de dados relacionais tradicionais, o MongoDB não utiliza tabelas para armazenar dados. Em vez disso, ele organiza os dados em coleções de documentos BSON (Binary JSON), que são estruturas de dados semelhantes a documentos JSON.

Coleções de Documentos

Estudantes

Presença nos dias de aula (teórica)

Nome: studentfrequencies

Exemplo de dado:

{
  "regNum": "234243234", 
  "classFreqs": [ "2021-10-10", "2021-10-11", "2021-10-12" ]
}

Notas nas Listas de um Estudante

Nome: studentparticipations

Exemplo de dados:

[
  { 
    "student_id":"d3f2c224-91bb-4a6a-b4b6",
    "reg_num":"20213232",
    "classCode" : "lopXXXX",
    "lists":[
      {"description":"(Lop) Estruturas de decisão - Múltiplas decisões","percent":"100.0"},
      {"description":"Repetição condicional - Lista Resolvida (LOP)","percent":"100.0"},
      {"description":"Repetição condicional - Lista de Exercícios (LOP)","percent":"100.0"},
      {"description":"Laboratório 01 - Expressões Aritméticas","percent":"100.0"},
      {"description":"Repetição contada - Lista Prática (LOP)","percent":"100.0"},
      {"description":"Repetição contada - Lista de Exercícios (LOP)","percent": "83.3333333333"},
      {"description":"Aula - Funções Aritméticas","percent":"100.0"}
    ]
  },
  { 
    "student_id":"d3f2c224-91bb-4a6a",
    "reg_num":"20213232",
    "classCode" : "lopXXXX",
    "lists": [
      {"description":"Repetição condicional - Lista Resolvida (LOP)","percent": "100.0"},
      {"description":"Repetição condicional - Lista de Exercícios (LOP)","percent" "100.0"},    
      {"description":"Repetição contada - Lista Prática (LOP)","percent":"100.0"},
      {"description":"Repetição contada - Lista de Exercícios (LOP)","percent":"83.33"},    
      {"description":"Vetores - Lista de Exercícios (LOP)","percent":"85.7142857143"},        
      {"description":"Repetição condicional - Lista Prática (LOP)","percent":"100.0"},
      {"description":"Vetores - Lista Prática (LOP)","percent":"100.0"},
    ]
  }
]

Resultado das notas de participação de um estudante

Nome: studentlistgrades

Exemplo de dados:

[
  {
    "matricula":"202200",
    "presenca1":"1.0",
    "atividade1":"1.0",
    "presenca2":"nan",
    "atividade2":"nan",
    "presenca3":"nan",
    "atividade3":"nan",
    "codigoTurma":"lop2023_1t02"  
  },
  {
    "matricula":"2022010",
    "presenca1":"10.0",
    "atividade1":"10.0",
    "presenca2":"2.0",
    "atividade2":"3.0",
    "presenca3":"nan",
    "atividade3":"nan",
    "codigoTurma":"lop2023_1t02" 
  }
]

Turmas

Datas e assuntos das aulas

Nome: classclasses

Exemplo de dados:

{ 
  "classCode": "lop2023_2t01", 
  "classTitles": [ 
    {"date": "2021-10-10", "classTitle": "Aula 1" }, 
    {"date": "2021-10-11", "classTitle": "Aula 2" },
    {"date": "2021-10-13", "classTitle": "Aula 3" }  
  ] 
}