Want to make creations as awesome as this one?

Transcript

base de dados- Tap juice

Start

Gestão de EventosProjeto Módulo Data (Databases, Data Modeling, SQL)Upskill 2023/24

A apresentação abordará a concepção e desenvolvimento de uma base de dados dedicada à gestão de eventos, conforme solicitado pelo Coletivo Tap Juice. A nossa proposta visa otimizar a organização e planeamento de eventos, fornecendo uma plataforma robusta e intuitiva para facilitar o processo.

VIEWS

automatização

conclusão

PROCEDIMENTOs

exemplo

MODELAÇÃO

índice

REGRAS DE NEGÓCIO

COLETIVO

coletivo tap juice

Coletivo que nasceu em Braga com o objetivo de partilhar o que de bom se faz na área da cultura através de eventos culturais.

Os eventos culturais inicialmente eram realizados a pedido do próprio coletivo aos espaços, mas com o seu crescimento, passaram a ser os espaços a fazer os pedidos ao coletivo.

+INFO

pedido de base de dados

Regras do negócio

  • O espaço pede a realização de um evento;
  • O Coletivo realiza um orçamento com base nas informações dos eventos anteriores;
  • É criada uma proposta de evento, com base no orçamento, que será então enviada ao espaço para ser aceite;
  • Cada proposta de evento tem um tema geral;
  • Cada evento tem de ter mais que um orador;
  • Cada orador pode estar relacionado com vários temas;
  • O lucro dos eventos é exclusivamente relativo à venda de bilhetes.

modelação

1. Diagrama de Entidade Relacionamento (DER)

2. Modelo Normalizado

3. Modelo de tabelas

procedimentos& logins

Gestor Financeiro

Modificar o status de recursos, atualizar a referência do orçamento, ajustar o status de uso de recursos financeiros, modificar o tipo de despesa em registros, atualizar o valor estimado em linhas de despesa, excluir bilhetes existentes e adicionar novos bilhetes.

Gestor evento

Atualizar, inserir e associar informações sobre eventos, locais, localidades, propostas e oradores no sistema, incluindo a identificação de eventos dormentes.

Curador

Atualizar duração, habilitações e detalhes de oradores e temas, além de inserir novas informações e remover associações quando necessário.

1. Adicionar novo espaço parceiro.InserirLocal()CALL InserirLocal(novo_Nome, novo_Lotacao, novo_Nif, novo_Email, novo_ID_localidade, IN novo_Rua)

procedimentos& logins

2. Adicionar nova proposta.InserirProposta()CALL InserirProposta(novo_ID_tema, novo_ID_locais, novo_descricao);

procedimentos& logins

3. Adicionar nova linha de despesa.AtualizarRefOrcamento()InserirLinhaDespesa()AtualizarValorEstimadoLinha()CALL AtualizarRefOrcamento(p_ID_proposta, p_novo_Ref_orcamento);CALL InserirLinhaDespesa(novo_Ref_Orcamento, novo_ID_tipo_despesa, novo_quantidade);CALL AtualizarValorEstimadoLinha(atualizar_ID_despesa, atualizar_Valor_estimado);

procedimentos& logins

4. Inserir evento.InserirEvento()InserirVariosOradoresporEvento()CALL InserirEvento(novo_nome, nova_data_comeco, nova_data_fim, novo_Preco_unitario_bilhete, nova_ID_proposta);CALL InserirVariosOradoresporEvento(novo_ID_orador, novo_ID_eventos, novo_Preco_por_hora);

procedimentos& logins

5. Inserir orador.InserirOrador()InserirVariosTemasporOrador()CALL InserirOrador(novo_ID_localidade, novo_ID_habilitacoes, novo_Nome, novo_Email);CALL InserirVariosTemasporOrador(p_ID_orador, p_ID_tema);

procedimentos& logins

6. Bilheteira.InserirBilhete()CALL InserirBilhete(Titular_bilhete, ID_tipo_de_pagamento, ID_eventos);

procedimentos& logins

7. Atualizar status de uso (bilhete).AtualizarStatusDeUso()CALL AtualizarStatusDeUso(p_ID_bilhete);

procedimentos& logins

restantes procedimentos

Automatização Tipo D - Status de proposta dinâmico

Automatização Tipo C - Remuneração oradores

Automatização Tipo B - Despesas dinâmicas

Automatização Tipo A - Bilheteira

Alguns triggers que estavam inicialmente pensados, acabaram por ser embutidos em procedimentos.

Automatização

Triggers e procedimentos com triggers embutidos

+INFO

Automatização Tipo A - Bilheteira

  • after_insert_bilhete
  • after_update_bilhete
  • calcular_lucro

triggers

Automatização Tipo B - Despesas dinâmicas

  • despesas_after_insert
  • despesas_after_update
  • despesas_before_insert

triggers

Automatização Tipo C - Remuneração oradores

  • calcular_valor_total

triggers

Automatização Tipo D - Status de proposta dinâmico

  • InserirProposta();
  • AtualizarRefOrcamento();
  • InserirEvento();
  • PorEventoDormente();
  • PorPropostaDormente();
  • trg_atualiza_status;
  • trg_atualiza_status_evento;
  • trg_atualiza_status_4;

triggers + procedimentos

3- Tabela de dados Financeiros: Balanço Final.

2- Tabelas Detalhadas Sobre: Eventos, Propostas e Orador;

1- Histórico de Adesão: Orador, Localização e Temas;

views

com base nas necessidades do cliente

HistóricoOrador

views

HistóricoOrador/evento

HistóricoTemas

Adesão do público por Localidade.

Histórico Localidades

Adesão do público por tema.

Adesão do público a cada evento por orador.

Adesão do público a cada orador.

Lucro - despesas = balanço final.

Status Proposta

views

DetalhesEvento

Balançofinal

Descrição detalhada dos dados do evento.

Linha de progresso de trabalho. Permite ver o status de cada proposta.

Exemplificação de um uso normal

O que podemos melhorar no futuro?

conclusão

O que faríamos de forma diferente se começassemos agora?

  • Back-up;
  • Regras de negócio;
  • Bugs;

O cliente está satisfeito com o produto?

obrigada pela atenção : )