Este desafio tem como objetivo exercitar os conceitos de modelagem de dados e de banco de dados relacionais.
Caso surjam dúvidas, você pode utilizar o canal da capacitação no slack, contatar algum membro ou conversar com seu squad.
Você deve realizar um fork deste repositório para sua conta pessoal no GitHub. A entrega só será considerada válida se estiver incluída em uma release no GitHub. Se o candidato não souber como realizar um Fork, Commit, Push e uma Release no GitHub, deverá pesquisar ou pedir ajuda. O desafio também avaliará sua independência.
O DETRAN deseja estabelecer um banco de dados para monitorar as infrações ocorridas no estado.
Os veículos são identificados pela placa e apresentam detalhes como chassi, cor predominante, modelo, categoria e ano de fabricação.
Cada veículo tem um modelo, como GOL MI, GOL 1.8, UNO CS, etc., sendo cada modelo identificado por um número de 6 dígitos.
A categoria, como AUTOMÓVEL, MOTOCICLETA, CAMINHÃO, entre outros, deve ser atribuída a cada veículo, com cada categoria identificada por um número de 2 dígitos.
Cada veículo tem um único proprietário, que é identificado pelo seu CPF. É necessário conhecer o nome, endereço, bairro, cidade, estado, telefones, sexo, data de nascimento e idade do proprietário.
Uma infração é descrita pelo veículo infrator, data/hora e tipo de infração.
Existem vários tipos de infração, como AVANÇO DE SINAL VERMELHO, PARADA SOBRE A FAIXA DE PEDESTRES, entre outros, sendo cada tipo identificado por um número inteiro. A cada tipo de infração está associado um valor (preço) que deve ser cobrado na ocorrência da infração. Também é importante registrar o local da infração, a velocidade aferida (se possível) e o agente de trânsito que registrou a infração.
Cada local é identificado por sua posição geográfica (latitude e longitude no globo terrestre). Além disso, é necessário armazenar a velocidade permitida no local, se possível.
Um agente de trânsito é identificado por sua matrícula funcional (um número inteiro) e também é descrito com o nome, data de contratação e tempo de serviço em meses completos.
A desafio consiste em entregar 5 arquivos:
- DER - diagrama entidade-relacionamento elaborado na ferramenta brModelo;
- DLD - diagrama lógico de dados elaborado na ferramenta brModelo;
- Script Físico: script sql para criação do banco de dados e suas tabelas;
- Script Popula: script sql para popular o banco de dados com dados fictícios, mas coerentes com o modelo de dados (mínimo de 5 registros por tabela);
- Script Consulta: script sql com as consultas (SELECT) solicitadas abaixo:
- A) Apresentar todos os dados dos veículos de um determinado proprietário (informado pelo usuário através do CPF);
- B) Consultar proprietário(s) por qualquer parte do nome;
- C) Mostrar os dados da infração e do veículo que tiveram infrações cadastradas no Detran em um período (ou data) no padrão DE... ATÉ...;
- D) Pesquisar o número de veículos que foram cadastrados em cada modelo, ordenando pelo número de veículos em ordem decrescente;
- A entrega do desafio deve ser realizada através de uma Release no GitHub.
- Crie a release no seu repositório pessoal e envie o zip pelo google classroom.
- O candidato não deve excluir o repositório e nem a release após a entrega, pois a utilização do GitHub será avaliada.
- Data de entrega 09/06/2024