Home | Escopo e Cronograma | Gerência de Projeto | Processo de Desenvolvimento | Processo de Qualidade | Design/Mockups | Configuração | Arquitetura | BD | Utilização | Gitflow |
---|
Banco de Dados
Descrição
A modelagem, documentação e organização do banco de dados se situará nessa seção.
Sumário
Modelagem
A modelagem do Banco de Dados foi divida em quatro principais tabelas, sendo sua função representar o Usuário, Endereço, Documento e Seguradora, abaixo será mais elaborado a funcionalidade de cada uma.
-
Usuário:
Guarda as informações básicas de um usuário do sistema, como seu contato, e parâmetros de acesso. -
Endereço:
Guarda as informações básicas de um endereço de um usuário a partir do id do mesmo (localização física). -
Seguradora:
Guarda as informações básicas de uma seguradora, como seus emails e telefones de contato, e a url de seu logo para futura utilização. -
Documento:
Guarda as informações básicas de um documento, como suas datas de aquisição e vencimento respectivamente, a url do seu PDF, e o tipo do documento que representa, além de possuir referências para um usuário e uma seguradora, estipulando assim o vínculo entre eles.
Esquema Conceitual
Esquema Lógico
Implementação
CREATE TABLE addresses(
id serial PRIMARY KEY NOT NULL,
uf varchar(2) NOT NULL,
city varchar(255) NOT NULL,
street varchar(255) NOT NULL,
number varchar(100) NOT NULL,
complement varchar(255)
)
CREATE TABLE users(
cic_number varchar NOT NULL PRIMARY KEY,
name varchar(255) NOT NULL,
is_admin boolean default(false),
phone_number varchar(255) NOT NULL,
password varchar(255),
email varchar(255),
address_id integer NOT NULL,
FOREIGN KEY (address_id) REFERENCES addresses(id)
)
CREATE TABLE insurance_companies(
insurance_id INTEGER NOT NULL PRIMARY KEY,
name varchar(255) NOT NULL,
phone_number_24h varchar(255) NOT NULL,
email_24h varchar(255) NOT NULL,
sinister_phone_number varchar(255) NOT NULL,
sinister_email varchar(255) NOT NULL,
logo_url varchar(255) NOT NULL
)
CREATE TABLE documents(
document_id INTEGER NOT NULL PRIMARY KEY,
name varchar(255) NOT NULL,
acquisition_date DATE NOT NULL,
expiration_date DATE NOT NULL,
document_url varchar(255) NOT NULL,
document_type CHAR NOT NULL,
user_id varchar NOT NULL,
insurance_company_id INTEGER NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(cic_number),
FOREIGN KEY (insurance_company_id) REFERENCES insurance_companies(insurance_id)
)