4 MODELO CORE-MM
4.9 Modelagem da Base de Dados
Essa seção explica a modelagem da base de dados para o desenvolvimento das funcionalidades de crowdsourcing, funcionalidades de gamificação e das outras funcionalidades. Na base de dados que será utilizada, a qual modelam recursos das cidades, estarão contidas as informações dos recursos das cidades.
Na base de dados desenvolvida para armazenar as informações enviadas pelos usuários, foi uma tabela recursos, que será utilizada para armazenar as contribuições feitas pelos usuários. Na tabela recursos serão adicionados todos os dados sobre os recursos como nome, posição (latitude e longitude), seu endereço, sua classe, seu tipo e uma descrição. Cada informação que o usuário enviará para o sistema será armazenada como uma contribuição. Esta tabela conterá informações sobre qual usuário fez a contribuição e quando foi feita.
Também foi criada a tabela usuários que contém as informações sobre os usuários, como login, senha, dados pessoais, etc. A base de dados possui também uma tabela
avaliação. Esta tabela, por sua vez, conterá informações sobre os votos positivos ou
negativos sobre os recursos, e também quando foram feitas estas contribuições. Vale notar que esta modelagem da base de dados - apresentada na Tabela 6 e na Tabela 7 através dos atributos das classes da ontologia da base de dados do modelo - está em desenvolvimento, então ela continuará sendo desenvolvida e expandida com o decorrer da pesquisa.
Atributos da Classe “Recurso”
Atributo Tipo Cardinalidade Descrição
Avaliação Integer
(é um valor numérico)
Single
(só pode haver 1 avaliação, que é a média de todas as avaliações)
Avaliação dos Recursos, que foram cadastrados pelos usuários do crowdsourcing, feita pelos usuários dos recursos.
Bairro String (é um nome)
Required single
(é necessário haver 1, e apenas 1, bairro)
Bairro onde se localiza o recurso.
CEP Integer
(é um valor numérico)
Required single
(é necessário haver 1, e apenas 1, CEP)
CEP do endereço onde se localiza o recurso. Cidade Instância da classe Cidades Required single
(é necessário haver 1, e apenas 1, cidade)
Cidade onde se localiza o recurso. Data de Atualização Integer (é um valor numérico) Required single
(é necessário haver 1, e apenas 1, data)
Data da última atualização do recurso.
Endereço String
(é geralmente composto de várias palavas)
Required single
(é necessário haver 1, e apenas 1, endereço)
Endereço onde se localiza o recurso.
Estado Instância da classe Estado Required single
(é necessário haver 1, e apenas 1, estado)
Estado onde se localiza o recurso.
Latitude Integer
(é um valor numérico)
Required single
(é necessário haver 1, e apenas 1, latitude)
Latitude onde se localiza o recurso.
Longitude Integer
(é um valor numérico)
Required single
(é necessário haver 1, e apenas 1, longitude)
Longitude onde se localiza o recurso.
Nome String
(é um nome)
Required single
(é necessário haver 1, e apenas 1, nome)
Nome do Recurso.
País Instância da Classe País Required single
(é necessário haver 1, e apenas 1, país)
País onde se localiza o recurso.
Tipo String
(é um nome, para classificar o recurso)
Required single
(é necessário haver 1, e apenas 1, tipo de classificação de recurso)
Tipo de recurso, para classifica-lo. Exemplo, se for recurso de saúde pode ser “Farmácia”, se for recurso de acessibilidade pode ser “Elevador”, etc. Usuário
que Registrou
Instância da classe Usuário Required single
(é necessário haver 1, e apenas 1, usuário que registrou)
Usuário que fez o registro do recurso no sistema.
Fonte: Elaborado pelo autor
Tabela 7: Atributos da Classe “Usuario”
Atributo Tipo Cardinalidade Descrição Bairro String (é um nome) Required single (é necessário haver 1, e apenas 1, bairro)
Bairro onde mora o usuário.
CEP Integer (é um valor numérico) Required single (é necessário haver 1, e apenas 1, CEP)
CEP do endereço onde mora o usuário.
Cidade Instância da classe Cidades
Required single (é necessário haver 1, e apenas 1, cidade)
Cidade onde mora o usuário.
Data de Nascimento Integer (é um valor numérico) Required single (é necessário haver 1, e apenas 1, data)
Data de nascimento do usuário.
E-mail String (é descrito por palavras) Required single (é necessário haver 1, e apenas 1, e-mail)
E-mail do usuário cadastrado no sistema.
Endereço String (é geralmente composto de várias palavas) Required single (é necessário haver 1, e apenas 1, endereço)
Endereço onde se localiza o recurso.
Estado Instância da classe Estado
Required single (é necessário haver 1, e apenas 1, estado)
Estado onde se localiza o recurso.
Experiência Integer (é um valor numérico) Required single (é necessário haver 1, e apenas 1, valor de experiência)
Valor numérico que representa a Experiência, atributo que faz parte da Gamificação do sistema.
Nome String (é um nome) Required single (é necessário haver 1, e apenas 1, nome) Nome do Recurso. Nome de Usuário String (é um nome) Required single (é necessário haver 1, e apenas 1, nome de usuário)
Nome de Usuário, que é o nome que o usuário escolhe para fazer login e como deseja aparecer no sistema.
Nível Integer (é um valor numérico) Required single (é necessário haver 1, e apenas 1, valor de nível de jogador)
Valor numérico que representa o Nível de Jogador, atributo que faz parte da Gamificação do sistema.
País Instância da
Classe País
Required single (é necessário haver 1, e apenas 1, país)
País onde mora o usuário.
Reputação Integer (é um valor numérico) Required single (é necessário haver 1, e apenas 1, valor de reputação de jogador)
Valor numérico que representa o Nível de Reputação de jogador, atributo que faz parte da Gamificação do sistema.
Senha String (é uma palavra) Required single (é necessário haver 1, e apenas 1, senha)
Senha do usuário, que é o nome que o usuário escolhe para fazer login no sistema. Sexo String (é uma palavra) Required single (é necessário haver 1, e apenas 1, sexo)
Sexo do usuário, registrado no sistema.
E-mail Integer (é um valor numérico) Required single (é necessário haver 1, e apenas 1, telefone)
Telefone do usuário cadastrado no sistema.
Tipo String (é um nome, para classificar o usuário) Required single (é necessário haver 1, e apenas 1, tipo de classificação de usuário)
Tipo de usuário, para classifica-lo, em conjunto com o atributo abaixo. Exemplo, se for Usuario de Recursos de Acessibilidade o valor deste atributo pode incluir seu tipo de Necessidade, se for Usuário de Recursos de Saúde o valor deste atributo pode ser alguma doença crônica ou temporária que a pessoa tenha, etc. Isto pode ser utilizado para auxiliá-lo na utilização do sistema, etc. Tipo de Usuário Instância da classe Usuário Required single (é necessário haver 1, e apenas 1, tipo de usuário)
Classificação do sistema para o tipo de usuário, entre as subclasses: Usuário do Crowdsourcing ou Usuário dos Recursos (e suas subclasses).
Fonte: Elaborado pelo autor