Modelo entidade relacionamento
Iniciativa Extra
Introdução
O Modelo de Entidade relacionamento também conhecido como MER, é um modelo conceitual usado para descrever as entidades em um domínio de negócio, assim listando suas características e como elas se relacionam entre si. No geral esse modelo é utilizado para representar uma forma abstrata da estrutura que possuirá o banco de dados da aplicação. Assim, posteriormente conseguimos construir um artefato DER com as relações criadas aqui no MER.
"O MER baseia-se na observação de que o mundo pode ser percebido como um conjunto de objetos, denominados entidades, e pelo conjunto dos relacionamentos entre essas entidades. As entidades são caracterizadas por um conjunto de atributos" (MAIA, 2013; Alvarenga, 2013)[4]
Metodologia
Para realizar essa especificação inicial do modelo, primeiramente foram definidas todas as entidades mais concretas que estarão presentes no banco de dados. Dessa forma, para cada entidade, foi preenchida uma tabela com as seguintes colunas:
- Atributos: todos os atributos necessários para representar uma instância da entidade;
- Propriedades: o que caracteriza aquele atributo, podendo ser uma chave primária, estrangeira, um atributo obrigatório ou opcional;
- Tipo: basicamente se refere ao tipo de dado do atributo em questão;
- Descrição: uma breve explicação sobre o que o atributo representa.
Feito isso, foram descritas e analisadas as relações entre as entidades e suas respectivas cardinalidades. Sendo assim, ao final foi possível concluir sobre a modelagem do banco de dados de forma que possibilite uma representação gráfica coerente com o escopo do projeto e as necessidades do desenvolvimento.
Entidades
A seguir estão descritas as entidades conforme citado anteriormente. Os nomes das entidades e seus atributos estarão em Inglês no padrão CamelCase para já iniciar e introduzir uma padronização do que será implementado no código.
Guardian
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdGuardian | Chave primária | Inteiro | Identificação do responsável |
Name | Obrigatório | String | Nome do responsável |
CPF | Obrigatório | String | CPF do responsável |
Obrigatório | String | Email do responsável | |
Password | Obrigatório | String | Senha do responsável |
Address | Obrigatório | String | Endereço do responsável |
Adm
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdAdm | Chave primária | Inteiro | Identificação do administrador |
Name | Obrigatório | String | Nome do administrador |
CPF | Obrigatório | String | CPF do administrador |
Obrigatório | String | Email do administrador | |
Password | Obrigatório | String | Senha do administrador |
Registration | Obrigatório | Inteiro | Registro do administrador |
Teacher
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdTeacher | Chave primária | Inteiro | Identificação do professor |
Name | Obrigatório | String | Nome do professor |
CPF | Obrigatório | String | CPF do professor |
Obrigatório | String | Email do professor | |
Password | Obrigatório | String | Senha do professor |
Registration | Obrigatório | Inteiro | Registro do professor |
Child
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdChild | Chave primária | Inteiro | Identificação da criança |
IdResponsavel | Chave estrangeira | Inteiro | Identificação do responsável |
IdClass | Chave estrangeira | Inteiro | Identificação da turma |
Name | Obrigatório | String | Nome da criança |
Registration | Obrigatório | Inteiro | Registro da criança |
Class
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdClass | Chave primária | Inteiro | Identificação da turma |
IdTeacher | Chave estrangeira | Inteiro | Identificação do professor |
IdChild | Chave estrangeira | Inteiro | Identificação da criança |
Code | Obrigatório | String | Codigo da turma |
Capacity | Obrigatório | Inteiro | Capacidade da turma |
Event
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdEvent | Chave primária | Inteiro | Identificação do evento |
IdAdm | Chave estrangeira | Inteiro | Identificação do administrador |
IdClass | Chave estrangeira | Inteiro | Identificação da turma |
Description | Obrigatório | String | Descrição do evento |
Title | Obrigatório | String | Título do evento |
Date | Obrigatório | Date | Data do evento |
Activity
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdActivity | Chave primária | Inteiro | Identificação da atividade |
IdTeacher | Chave estrangeira | Inteiro | Identificação do professor |
Title | Obrigatório | String | Título da atividade |
Description | Obrigatório | String | Descrição da atividade |
Date | Obrigatório | Date | Data da atividade |
Anotation
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdAnotation | Chave primária | Inteiro | Identificação da anotação |
IdTeacher | Chave estrangeira | Inteiro | Identificação do professor |
IdChild | Chave estrangeira | Inteiro | Identificação da criança |
Title | Obrigatório | String | Título da anotação |
Description | Obrigatório | String | Descrição da anotação |
Board
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdBoard | Chave primária | Inteiro | Identificação do mural |
IdChild | Chave estrangeira | Inteiro | Identificação da criança |
IdAnotation | Chave estrangeira | Inteiro | Identificação da anotação |
IdActivity | Chave estrangeira | Inteiro | Identificação da atividade |
IdEvent | Chave estranfeira | Inteiro | Identificação do evento |
EC
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdEC | Chave primária | Inteiro | Identificação do centro educacional |
IdAdm | Chave estrangeira | Inteiro | Identificação do administrador |
IdTeacher | Chave estrangeira | Inteiro | Identificação do professor |
IdClass | Chave estrangeira | Inteiro | Identificação da turma |
Name | Obrigatório | String | Nome do centro educacional |
Adress | Obrigatório | String | Endereço do centro educacional |
Description | Obrigatório | String | Descrição do centro educacional |
Report
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdReport | Chave primária | Inteiro | Identificação do relatório |
IdAdm | Chave estrangeira | Inteiro | Identificação do administrador |
Title | Obrigatório | String | Título do relatório |
Description | Obrigatório | String | Descriçaõ do relatório |
Chat
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdChat | Chave primária | Inteiro | Identificação do chat |
IdGuardian | Chave estrangeira | Inteiro | Identificação do responsável |
IdRecipiente | Chave estrangeira | Inteiro | Identificação do administrador ou do professor |
IdMensage | Chave estrangeira | Inteiro | Identificador das mensagens do chat |
Mensage
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdMensage | Chave primária | Inteiro | Identificador das mensagens |
IdChat | Chave estrangeira | Inteiro | Identificação do chat |
SentBy | Chave estrangeira | Inteiro | Identificador do usuário que enviou a mensagem |
Body | Obrigatório | String | Corpo do texto da mensagem |
Date | Obrgatório | Data | Data de envio |
Presence
Atributos | Propriedade | Tipo | Descrição |
---|---|---|---|
IdPresence | Chave primária | Inteiro | Identificador da presença |
IdClass | Chave estrangeira | Inteiro | Identificação da turma |
IdChild | Chave estrangeira | Inteiro | Identificação da criança |
Date | Obrigatório | Data | Data da presença ou falta da criança |
Status | Obrigatório | Integer | Presente = 1, falta=0 |
Relacionamentos
-
RESPONSÁVEL -- possui -- CRIANÇA: Um responsável possui crianças e uma criança está atrelada a responsáveis.
(Cardinalidade: n:m) -
ADMINISTRADOR -- registra -- TURMA: Um administrador registra turmas e uma turma é registrada por uma administrador.
(Cardinalidade: 1:n) -
ADMINISTRADOR -- gera -- RELATÓRIO: Um administrador gera relatórios e um relatório é gerado por um administrador.
(Cardinalidade: 1:n) -
CENTRO EDUCACIONAL -- possui -- ADMINISTRADOR: O centro educacional possui ao menos um administrador e os administradores estão atrelados a um centro educacional.
(Cardinalidade: 1:n) -
CENTRO EDUCACIONAL -- possui -- PROFESSOR: O centro educacional possui professores e os professores estão atrelados a um centro educacional.
(Cardinalidade: 1:n) -
CENTRO EDUCACIONAL -- possui -- TURMA: O centro educacional possui turmas e as turmas possuem um centro educacional.
(Cardinalidade: 1:n) -
PROFESSOR -- cria -- ATIVIDADE: Um professor cria atividades e uma atividade é criada por um professor.
(Cardinalidade: 1:n) -
TURMA -- contém-- CRIANÇA: Uma turma contém crianças e uma criança está contida em uma turma.
(Cardinalidade: 1:n) -
TURMA -- contém -- PROFESSOR: Uma turma contém professores e os professores estão contidos em turmas.
(Cardinalidade: n:m) -
TURMA -- participa -- EVENTO: Uma turma participa de eventos e um evento contém a participação das turmas.
(Cardinalidade: n:m) -
TURMA -- aplica -- ATIVIDADE: Uma turma aplica atividades e uma atividade é aplicada nas turmas.
(Cardinalidade: n:m) -
CRIANÇA -- possui -- MURAL : Uma criança possui um mural e um mural está atrelado a uma criança.
(Cardinalidade: 1:1) -
MURAL -- apresenta -- EVENTO: Um mural mostra os últimos eventos para a turma da criança e um evento está presente nos murais das crianças das turmas contempladas.
(Cardinalidade: n:m) -
MURAL -- apresenta -- ATIVIDADE: Um mural mostra as últimas atividades da turma da criança e uma atividade está presente nos murais das crianças.
(Cardinalidade: n:m) -
MURAL -- apresenta -- ANOTAÇÃO: Um mural mostra as últimas anotações da criança e uma anotação está presente em um mural.
(Cardinalidade: 1:n) -
CHAT -- contém -- MENSAGEM: Um chat contém mensagens e as mensagens estão contidas em um chat.
(Cardinalidade: 1:n)
Conclusão
Tendo em vista as entidades e os relacionamentos aqui demonstrados, pode-se notar a necessidade da criação de tabelas associativas para melhor representar as relações de cardinalidade n:m apresentados nos relacionamentos 1, 9, 10, 11, 13 e 14. Além disso, nota-se que, pela cardinalidade do relacionamento 12, que a entidade Mural deve ser acoplada a entidade criança, tendo seus atributos e relacionamentos transferidos.
Bibliografia
[3] JOEL. Modelo Entidade Relacionamento (MER) e Diagrama Entidade-Relacionamento (DER). DevMedia, 2014. Disponível em: https://www.devmedia.com.br/modelo-entidade-relacionamento-mer-e-diagrama-entidade-relacionamento-der/14332. Acesso em: 18 ago. 2021.
[4] Maia, Regina. Alvarenga, Lídia. INTERCONEXÕES ENTRE A TEORIA DA CLASSIFICAÇÃO FACETADA (TCF) DE RANGANATHAN E O MODELO ENTIDADE-RELACIONAMENTO (MER) DE PETER CHEN. 2013. Disponível em: http://repositorios.questoesemrede.uff.br/repositorios/bitstream/handle/123456789/2336/INTERCONEX%c3%95ES.pdf?sequence=1 Acesso em: 21/09/2021.
Versionamento
Versão | Data | Modificação | Autor |
---|---|---|---|
0.1 | 18/08/2021 | Definição de entidades e relacionamentos | Daniel Porto, Francisco Emanoel |
1.0 | 18/08/2021 | Abertura do documento e adição da Metodologia, das entidades, dos relacionamentos e da conclusão | Daniel Porto, Francisco Emanoel |
1.1 | 19/08/2021 | Adicionando descrição das entidades e a introdução do documento | Daniel Porto, Francisco Emanoel |
1.2 | 20/08/2021 | Adição dos léxicos | Daniel Porto |
1.3 | 20/08/2021 | Adição das entidades chat, mensage, presence e seus relacionamentos | Daniel Porto |
1.4 | 21/08/2021 | Revisão por pares | Mateus O. Patrício, Edson Soares |
1.5 | 21/09/2021 | Revisão segundo feedback da professora (entrega 2) | Edson Soares, Nilo Medonça |