Banco de Dados
Descrição
A modelagem, documentação e organização do banco de dados se situará nessa seção.
Modelagem
Modelo Lógico
Comunidades
Atributo |
Tipo |
Restrições |
community_id |
INT(10) |
🔑PK, NOT NULL |
name |
VARCHAR(255) |
NOT NULL |
description |
VARCHAR(255) |
|
Restaurantes
Atributo |
Tipo |
Restrições |
restaurant_id |
CHAR(10) |
🔑PK, NOT NULL |
name |
VARCHAR(255) |
NOT NULL |
corporate_name |
VARCHAR(255) |
NOT NULL |
cnpj |
CHAR(14) |
NOT NULL |
email |
VARCHAR(255) |
NOT NULL |
password |
VARCHAR(255) |
NOT NULL |
business_phone |
CHAR(11) |
NOT NULL |
admin_phone |
CHAR(11) |
NOT NULL |
admin_name |
CHAR(11) |
NOT NULL |
profile_photo |
BYTEA |
NOT NULL |
background_photo |
BYTEA |
|
Review de Restaurantes
Atributo |
Tipo |
Restrições |
rr_id |
CHAR(10) |
🔑PK, NOT NULL |
restaurant_id |
CHAR(10) |
🔗FK,NOT NULL |
user_id |
CHAR(10) |
🔗FK,NOT NULL |
review |
INTEGER |
NOT NULL |
comment |
VARCHAR(255) |
|
Fotos de Restaurantes
Atributo |
Tipo |
Restrições |
rp_id |
CHAR(10) |
🔑PK, NOT NULL |
restaurant_id |
CHAR(10) |
🔗FK,NOT NULL |
order |
TINYINT |
NOT NULL |
file |
BYTEA |
NOT NULL |
Restrições
Atributo |
Tipo |
Restrições |
restriction_id |
CHAR(10) |
🔑PK, NOT NULL |
name |
VARCHAR(255) |
NOT NULL |
Usuários
Atributo |
Tipo |
Restrições |
user_id |
CHAR(10) |
🔑PK, NOT NULL |
name |
VARCHAR(255) |
NOT NULL |
email |
VARCHAR(255) |
NOT NULL |
password |
VARCHAR(255) |
NOT NULL |
birthdate |
DATE |
|
city |
VARCHAR(255) |
NOT NULL |
uf |
CHAR(2) |
NOT NULL |
phone |
CHAR(11) |
|
profile_photo |
BYTEA |
|
Endereços
Atributo |
Tipo |
Restrições |
address_id |
CHAR(10) |
🔑PK, NOT NULL |
restaurant_id |
CHAR(10) |
🔗FK,NOT NULL |
street |
VARCHAR(255) |
NOT NULL |
number |
VARCHAR(55) |
NOT NULL |
complement |
VARCHAR(255) |
|
cep |
CHAR(8) |
NOT NULL |
city |
VARCHAR(255) |
NOT NULL |
uf |
CHAR(2) |
NOT NULL |
latitude |
VARCHAR(255) |
NOT NULL |
longitude |
VARCHAR(255) |
NOT NULL |
Restrições da Comunidade
Atributo |
Tipo |
Restrições |
cr_id |
CHAR(10) |
🔑PK, NOT NULL |
community_id |
CHAR(10) |
🔗FK,NOT NULL |
restriction_id |
CHAR(10) |
🔗FK,NOT NULL |
Restrições Personalizadas do Usuário
Atributo |
Tipo |
Restrições |
cur_id |
CHAR(10) |
🔑PK, NOT NULL |
user_id |
CHAR(10) |
🔗FK,NOT NULL |
category |
CATEGORY |
NOT NULL |
restriction |
VARCHAR(255) |
NOT NULL |
Posts
Atributo |
Tipo |
Restrições |
post_id |
CHAR(10) |
🔑PK, NOT NULL |
user_id |
CHAR(10) |
🔗FK,NOT NULL |
title |
VARCHAR(255) |
|
text |
VARCHAR(255) |
|
community_id |
CHAR(10) |
🔗FK,NOT NULL |
link |
VARCHAR(255) |
|
Restrições do Restaurante
Atributo |
Tipo |
Restrições |
rr_id |
CHAR(10) |
🔑PK, NOT NULL |
restaurant_id |
CHAR(10) |
🔗FK, NOT NULL |
restriction_id |
CHAR(10) |
🔗FK, NOT NULL |
Restrições do Usuário
Atributo |
Tipo |
Restrições |
ur_id |
CHAR(10) |
🔑PK, NOT NULL |
user_id |
CHAR(10) |
🔗FK, NOT NULL |
restriction_id |
CHAR(10) |
🔗FK, NOT NULL |
category |
CATEGORY |
NOT NULL |
Comentários de Posts
Atributo |
Tipo |
Restrições |
pc_id |
CHAR(10) |
🔑PK, NOT NULL |
user_id |
CHAR(10) |
🔗FK, NOT NULL |
post_id |
CHAR(10) |
🔗FK, NOT NULL |
text |
VARCHAR(255) |
NOT NULL |
response_to |
CHAR(10) |
NULL |
Cardinalidades
- Restaurantes - Fotos de Restaurantes: Um restaurante possui várias fotos, e cada foto pertence a um restaurante.
- Restaurantes - Endereços: Um restaurante possui um endereço, e cada endereço pertence a um restaurante.
- Comunidades - Restrições da Comunidade: Uma comunidade possui várias restrições, e cada restrição da comunidade pertence a uma comunidade.
- Restrições - Restrições da Comunidade: Uma restrição pode estar associada a várias comunidades, e cada restrição da comunidade pertence a uma restrição.
- Usuários - Restrições Personalizadas do Usuário: Um usuário possui várias restrições personalizadas, e cada restrição personalizada pertence a um usuário.
- Usuários - Posts: Um usuário pode criar vários posts
ENUM de Categorias de retrição
Valor |
Descrição |
Sensibilidade |
|
Intolerância |
|
Alergia |
|
Autoimune |
|
Opcional |
|
WIP