Skip to content

Modelo de dados

Ulysses Lara edited this page May 1, 2018 · 2 revisions

1 Introdução

O uso de modelos de dados serve para descrever a estrutura lógica dos dados persistentes gerenciadas pelo sistema.

Pelo fato do framework django ter uma persistência embutida Mapeamento objeto-relacional ou ORM (Object-relational mapping), não a necessidade da descrição do banco de dados através de um MER ou de um DER, pois a implementação do banco é feita através do próprio framework.

Portanto o documento para ser feito o modelo de dados adotado foi o diagrama de classe utilizando o padrão do UML.

2 Diagrama de Classe

diagrama_de_classe.png

2.1 Descrição das classes e atributos

2.1.1 User

Classe destinada ao usuário do sistema essa classe é disponibilizada pelo framework.

clique aqui para mais informações.

2.1.2 Establishment

Classe pai : Models.model

Classe voltada para os dados e ações do estabelecimento.

  • Atributos
Atributo Descrição Tipo
name Nome do estabelecimento. CharField
open_hour Horario em que o estabelecimento abre. TimeField
close_hour Horario que o estabelecimento fecha. TimeField
Address Endereço do estabelecimento. TextField
phone_number Número de telefone do estabelecimento. CharField

2.1.3 CommunityAction

Classe pai : PolymorphicModel

Classe Abstrata responsável por identificar uma ação comunitária seja ela de doação ou de serviço hospitalar.

  • Atributos
Atributo Descrição Tipo
name Nome da ação comunitária. CharField
start_date Dia emque a ação inicia. DateTimeField
end_date Dia em que a ação acaba DateTimeField
description Descrição da ação TextField

2.1.4 Donation

Classe pai : CommunityAction

Classe responsável por identificar uma doação.

  • Atributos
Atributo Descrição Tipo
item_name Nome do item sendo doado CharField
amount Quantidade Do item sendo doado. CharField

2.1.5 HealthService

Classe pai : CommunityAction

  • Atributos
Atributo Descrição Tipo
start_hour Horario de inicio do serviço prestado TimeField
end_hour Horario de termino do serviço prestado TimeField
Clone this wiki locally