Prévia do material em texto
CineDB Projeto Integrador por Tiago Oliveira Introdução O projeto visa exemplificar o uso de bancos de dados relacionais por meio de um banco que armazena os dados de uma bilheteria digital de venda de ingressos de uma rede de cinema. Índice ➔ Modelo Conceitual e Regras de Negócio ➔ Modelo Lógico ➔ SQL ➔ Testes ➔ Fontes Modelo Conceitual Regras de Negócio ● Um cinema possui uma ou várias salas, cada sala pertence apenas a um cinema; ● As salas possuem o atributo que define o tipo de tela(2D, 3D e IMAX); ● Cada sala exibe vários filmes, cada filme é exibido em várias sessões; ● Cada exibição de filme deve possuir horário de início, idioma e se o filme é legendado; ● Cada exibição de filme possui vários assentos, cada assento pertence a uma exibição de filme; ● Cada filme possui detalhamento de gênero, ficha técnica, trailer, sinopse, pôster, título entre outras especificações; Regras de Negócio ● Um cliente efetua nenhuma ou várias compras; ● Cada compra é efetuada por um cliente; ● Cada cliente possui nome, email, senha, cpf, endereço, telefones, sexo e data de nascimento; ● Cada compra é paga de apenas uma forma e possui vários status; ● Em cada compra são reservados vários assentos de sessão; ● Cada assento de sessão é reservado em uma compra, com um ingresso e valor pago na compra. Modelo Lógico Modelo Lógico Modelo Lógico SQL (Selects / Views) Faturamento por cinema Montante dos ingressos por status de pagamento Faturamento por filme Dados cadastrais dos clientes Dados cadastrais dos Cinemas Dados cadastrais dos Filmes Dados cadastrais das Sessões Dados cadastrais dos ingressos Detalhes dos dados de compra Levantamento de compras por gênero SQL (Functions) A Função efetua o cadastro de uma compra e retorna a chave primária da mesma A Função retorna a uf do cinema ou cliente cadastrado conforme cnpj ou cpf informa A Função recebe como parâmetro a chave primária do filme e um código para identificar que dados deve concatenar e retornar em uma string Fim do código e retorno da função A Função efetua o cadastro de um endereço, identificando a PK do município através do nome e retorna o último endereço cadastrado SQL (Stored Procedures) A procedure filtra as sessões disponíveis para o cliente conforme sua localidade. A procedure faz o cadastro de um número de telefone. A procedure mostra os assentos de uma determinada sessão. A procedure mostra todos os ingressos válidos para uma determinada sessão. A procedure conclui compra mediante validação da senha. SQL (Triggers) A trigger define o status de pagamento de todas as novas compras efetuadas como “Aguardando pagamento”. A trigger define o status do assento da sessão conforme o andamento do pagamento da compra na qual o mesmo foi selecionado. SQL (Transactions) A transação efetua o cadastro de um cliente. A transação efetua compra de um ingresso. Testes ● Cadastrar um telefone para o cliente que possui o cpf: ’4831468118’; Cadastrar um cliente; Efetuar uma compra; Concluir pagamento. Fonte dos dados ● https://www.4devs.com.br/ge rador_de_pessoas ; ● https://www.adorocinema.co m/filmes/em-cartaz/estreias/ ; ● Algoritmos. https://www.4devs.com.br/gerador_de_pessoas https://www.4devs.com.br/gerador_de_pessoas https://www.adorocinema.com/filmes/em-cartaz/estreias/ https://www.adorocinema.com/filmes/em-cartaz/estreias/ Slide 1 Introdução Slide 3 Modelo Conceitual Slide 5 Slide 6 Modelo Lógico Slide 8 Modelo Lógico Modelo Lógico SQL (Selects / Views) Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 SQL (Functions) Slide 23 Slide 24 Slide 25 SQL (Stored Procedures) Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 SQL (Triggers) Slide 33 SQL (Transactions) Slide 35 Slide 36 Testes Slide 38 Slide 39