Você está na página 1de 19

Sistema de Reserva de

Passagens Aéreas

André Rangel
Daniel Seixas
Karina Fonseca
Laís Barletta
Laura Barros
Nathan Martins 31.03.20
Modelo físico do
Sistema de reservas
Sistema de reservas Consumidor

Cia Aérea A

Cia Aérea B
API
Gateway
Cia Aérea C

Cia Aérea D

2
Modelo físico do
Sistema de reservas
Sistema de reservas Consumidor

Cia Aérea A

Cia Aérea B
API
Gateway
Cia Aérea C

Cia Aérea D

3
Modelo físico
tb_aeroportos_origem Parte 1/3 tb_voos

id_voo INT (15)


id_aeroporto INT (15)

id_cia INT (3)


id_voo INT (15)

classe_voo VARCHAR (15)


aero_origem VARCHAR (50)

duracao TIME (6)


pais VARCHAR (50)

data DATE (8)


estado VARCHAR (50)

horario TIME (6)


cidade VARCHAR (50)
tb_aeroportos_escala


id_aeroporto INT (15)

tb_reservas tb_cias_aereas
id_voo INT (15)

aero_escala VARCHAR (50) id_reserva INT (15) id_cia INT (3)

pais VARCHAR (50) id_voo INT (15) nome_cia VARCHAR (9)

estado VARCHAR (50) id_cliente INT (15) dest_cidade VARCHAR (50)

id_aeroporto INT (15)


tb_aeroportos_destino cidade VARCHAR (50) dest_estado VARCHAR (50)

data_voo DATE (8)


dest_pais VARCHAR (50)
id_aeroporto INT (15)
hora_voo TIME (6)
dest_tipo VARCHAR (1)
id_voo INT (15) data_chegada DATE (8)

aero_destino VARCHAR (50) hora_chegada TIME (6)

pais VARCHAR (50) classe_voo VARCHAR (15)

preco FLOAT (10)


estado VARCHAR (50)

situacao VARCHAR (15) Primary-Key (PK)


cidade VARCHAR (50)

Foreign-Key (FK)
4
Modelo físico
tb_aeroportos_origem Parte 1/3 tb_voos

id_voo INT (15)


id_aeroporto INT (15)

id_cia INT (3)


id_voo INT (15)

classe_voo VARCHAR (15)


aero_origem VARCHAR (50)

duracao TIME (6)


pais VARCHAR (50)

data DATE (8)

Modelo físico
estado VARCHAR (50)

horario TIME (6)


cidade VARCHAR (50)
tb_aeroportos_escala Parte 1/3


Optamos por criar tabelas tb_cias_aereas
id_aeroporto INT (15)

id_voo INT (15) específicas


tb_reservas
para os aeroportos
de origem, escala e destino para
aero_escala VARCHAR (50) evitarmos
id_reserva INTduplicações
(15) em linhas
id_cia INT (3)

nas tabelas de voos e de


pais VARCHAR (50)
reservas.
id_voo INT (15) nome_cia VARCHAR (9)

estado VARCHAR (50) id_cliente INT (15) dest_cidade VARCHAR (50)

id_aeroporto INT (15)


tb_aeroportos_destino cidade VARCHAR (50) dest_estado VARCHAR (50)

data_voo DATE (8)


dest_pais VARCHAR (50)
id_aeroporto INT (15)
hora_voo TIME (6)
dest_tipo VARCHAR (1)
id_voo INT (15) data_chegada DATE (8)

aero_destino VARCHAR (50) hora_chegada TIME (6)

pais VARCHAR (50) classe_voo VARCHAR (15)

preco FLOAT (10)


estado VARCHAR (50)

situacao VARCHAR (15) Primary-Key (PK)


cidade VARCHAR (50)

Foreign-Key (FK)
5
Modelo físico
tb_voos
Parte 2/3 tb_calendario

data DATE (8)


id_voo INT (15)

dia INT (2)


id_cia INT (3)
dia_semana INT (2) tb_clientes
classe_voo VARCHAR (15)
nome_dia VARCHAR (12)
id_cliente INT (15)
duracao TIME (6)
semana_mes VARCHAR (12)
nome VARCHAR (100)
data DATE (8) semana_ano VARCHAR (12)
RG INT (20)

horario TIME (6) mes INT (2)


CPF INT (20)

nome_mes VARCHAR (15) qntd_reserva INT (5)


ano INT (4) logradouro VARCHAR (100)

tb_reservas bairro VARCHAR (100)

complemento VARCHAR (100)

id_reserva INT (15)


cidade VARCHAR (100)

id_voo INT (15) estado VARCHAR (100)

id_cliente INT (15) pais VARCHAR (100)


tb_disponibilidade
id_aeroporto INT (15) nacionalidade VARCHAR (100)

data_voo DATE (8) data_nascim DATE (8)


id_assento INT (20)

email VARCHAR (100)


hora_voo TIME (6) assento VARCHAR (10)
celular INT (20)
data_chegada DATE (8) id_reserva INT (15)
login VARCHAR (20)
hora_chegada TIME (6) id_voo INT (15)
foto VARCHAR (20)
classe_voo VARCHAR (15) data_voo DATE (8)

preco FLOAT (10) hora_voo TIME (6)

situacao VARCHAR (15) qntd_classe VARCHAR (3)


Primary-Key (PK)

status VARCHAR (10)


Foreign-Key (FK)
6
Modelo físico
tb_voos
Parte 2/3 tb_calendario

data DATE (8)


id_voo INT (15)

dia INT (2)


id_cia INT (3)
dia_semana INT (2) tb_clientes
classe_voo VARCHAR (15)
nome_dia VARCHAR (12)
id_cliente INT (15)
duracao TIME (6)
semana_mes VARCHAR (12)
nome VARCHAR (100)
data DATE (8) semana_ano VARCHAR (12)
Modelo físico RG INT (20)

horario TIME (6) mes INT (2)


Parte 2/3
CPF INT (20)

nome_mes VARCHAR (15) qntd_reserva INT (5)


ano INT (4) logradouro VARCHAR (100)
Também criamos uma tabela
tb_reservas
calendário para evitarmos bairro VARCHAR (100)

duplicidades nas tabelas e complemento VARCHAR (100)

id_reserva INT (15) estruturar relacionamentos


id_voo INT (15)
muitos para muitos. cidade VARCHAR (100)

estado VARCHAR (100)

id_cliente INT (15) pais VARCHAR (100)


tb_disponibilidade
id_aeroporto INT (15) nacionalidade VARCHAR (100)

data_voo DATE (8) data_nascim DATE (8)


id_assento INT (20)

email VARCHAR (100)


hora_voo TIME (6) assento VARCHAR (10)
celular INT (20)
data_chegada DATE (8) id_reserva INT (15)
login VARCHAR (20)
hora_chegada TIME (6) id_voo INT (15)
foto VARCHAR (20)
classe_voo VARCHAR (15) data_voo DATE (8)

preco FLOAT (10) hora_voo TIME (6)

situacao VARCHAR (15) qntd_classe VARCHAR (3)


Primary-Key (PK)

status VARCHAR (10)


Foreign-Key (FK)
7
Modelo físico
Parte 3/3

tb_clientes tb_passageiros

id_cliente INT (15) id_passageiro INT (15)

nome VARCHAR (100) nome VARCHAR (100)

RG INT (20) RG INT (20)

CPF INT (20) CPF INT (20)

qntd_reserva INT (5) id_cliente INT (15)

logradouro VARCHAR (100) logradouro VARCHAR (100)

bairro VARCHAR (100) bairro VARCHAR (100)


complemento VARCHAR (100) complemento VARCHAR (100)
tb_reservas
cidade VARCHAR (100) cidade VARCHAR (100)

estado VARCHAR (100) estado VARCHAR (100)


id_reserva INT (15)

pais VARCHAR (100) pais VARCHAR (100)


id_voo INT (15)

nacionalidade VARCHAR (100) nacionalidade VARCHAR (100)


id_cliente INT (15)
tb_pagamentos
data_nascim DATE (8) data_nascim DATE (8)
id_aeroporto INT (15)
email VARCHAR (100) email VARCHAR (100)
data_voo DATE (8) id_pagamento INT (15)
celular INT (20) celular INT (20)
hora_voo TIME (6) id_cliente INT (15)
login VARCHAR (20)

data_chegada DATE (8) foto VARCHAR (20) id_voo INT (15)

hora_chegada TIME (6)


id_reserva INT (15)

classe_voo VARCHAR (15) metodo VARCHAR (50)

preco FLOAT (10)


cartao VARCHAR (50)

situacao VARCHAR (15) Primary-Key (PK)


flag VARCHAR (50)

parcelas INT (2) Foreign-Key (FK)


8
Modelo físico
Parte 3/3

tb_clientes tb_passageiros

id_cliente INT (15) id_passageiro INT (15)

nome VARCHAR (100) nome VARCHAR (100)

RG INT (20) RG INT (20)

CPF INT (20) CPF INT (20)

qntd_reserva INT (5)


Modelo físico id_cliente INT (15)

logradouro VARCHAR (100) Parte 3/3 logradouro VARCHAR (100)

bairro VARCHAR (100) bairro VARCHAR (100)


complemento VARCHAR (100) Adicionamos a tabela de complemento VARCHAR (100)
tb_reservas
pagamentos e de passageiros, a
fim de evitar a duplicidade dos
cidade VARCHAR (100) cidade VARCHAR (100)

id_reserva INT (15)


estado VARCHAR (100)
dados em nosso banco e, estado VARCHAR (100)
pais VARCHAR (100) consequentemente, melhorar pais VARCHAR (100)
id_voo INT (15)
sua performance.
nacionalidade VARCHAR (100) nacionalidade VARCHAR (100)
id_cliente INT (15)
tb_pagamentos
data_nascim DATE (8) data_nascim DATE (8)
id_aeroporto INT (15)
email VARCHAR (100) email VARCHAR (100)
data_voo DATE (8) id_pagamento INT (15)
celular INT (20) celular INT (20)
hora_voo TIME (6) id_cliente INT (15)
login VARCHAR (20)

data_chegada DATE (8) foto VARCHAR (20) id_voo INT (15)

hora_chegada TIME (6)


id_reserva INT (15)

classe_voo VARCHAR (15) metodo VARCHAR (50)

preco FLOAT (10)


cartao VARCHAR (50)

situacao VARCHAR (15) Primary-Key (PK)


flag VARCHAR (50)

parcelas INT (2) Foreign-Key (FK)


9
Comunicação entre sistemas

Sistema de disponibilidade
de assento
As informações serão tocadas com as
companhias aéreas por meio de API


no formato JSON por elas
disponibilizadas. Essa troca de
Cia Aérea A informação ocorrerá de 1 em 1
segundo para evitar que nossos
clientes comprem uma passagem que
não esteja mais disponível.

10
Comunicação entre sistemas

{
origem: {
aeroporto:'Aeroporto Internacional de São
Paulo',
pais:'BR',
estado:'SP'
Sistema de disponibilidade },
aeroporto_destino: {
de assento aeroporto : 'Lester B. Pearson International


Airport',
pais: 'CA',
estado: 'ON',
},
Cia Aérea A
voo: {
id_voo : 1234abc,
data : 2020-03-29
hora: 15:30
tipo_de_aviao : 'Bong 747',
total_acentos : 416,
acentos_disponiveis_clase_primeira:
[a1,a2,a3,a4,a5,a6,a7...],
acentos_disponiveis_clase_executiva:
[a1,a2,a3,a4,a5,a6,a7...],
acentos_disponiveis_clase_economica:
[a1,a2,a3,a4,a5,a6,a7...]
}
}
11
Comunicação entre sistemas

Sistema de reserva de
assento
Já em relação às reservas, os dados
serão trocados conforme demanda no


segundo que a reserva for feita para
evitar compras simultâneas da
Cia Aérea A mesma passagem.

12
Comunicação entre sistemas

{
voo: {
Sistema de reserva de id_voo : 1234abc
data : 2020-03-29
assento hora: 15:30


classe: 'primeira'
acento: a2
}
passageiro :{
Cia Aérea A
nome: 'Arthur Seixas',
idade: 5,
RG:'356215779',
cpf: '40564600687',
email: 'arthur.seixas@gmail.com',
nacionalidade:'Brasileiro'
}
}

13
GDPR x LGPD
Regulamentação e Proteção de Dados* dos Usuários
Coleta, Processamento, Compartilhamento e Armazenamento

GDPR LGPD

Vigência Mai’18 Ago’20

Pra quem Indivíduos em território


Cidadãos da UE
vale? nacional**

Consentimento
Transparência
Direitos Exclusão
Portabilidade

Privacidade
Proteção (pseudonimização)
Deveres Administração de Riscos e Segurança
Data Protection Officer (DPO)

*Dados Pessoais: a lei considera qualquer tipo de informação que possa identificar o usuário.
14 **Coleta e/ou Tratamento de dados realizados em território nacional.
GDPR, LGPD e o
Projeto
Pontos de atenção:
◇ tb_clientes;

◇ tb_passageiros;

◇ tb_pagamentos:
■ cartao VARCHAR (50);
○ PCI_DSS - certificação para todas as
empresas que processam, armazenam e
transmitem dados de cartões pela
15 internet;
SGBD
Data Warehouse
◇ Extrair Dados
◇ Transformando dados brutos em informações de
alta qualidade para atender aos requisitos dos
relatórios corporativos e diversos níveis de usuários

16
◇ Velocidade nas ◇ Mantém os custos
consultas baixos

◇ Facilidade de uso e ◇ Ferramentas robustas


Acessibilidade de segurança

◇ Escalonamento rápido

17
18
Obrigado!
Alguma pergunta?

19

Você também pode gostar