Banco de dados II - para iniciantes
- #SQL Server
- #SQL
- #Jupyter
Pois bem, na primeira parte desse projeto o proprietário da ‘Nacional revendedora de veículos’ nos contratou para desenvolver o sistema de Banco de dados da empresa, que como vocês bem lembram estava uma bagunça.
Conversamos com seu João, entendemos o problema e formulamos nossas hipóteses (pesquisa exploratória). Desenhamos um diagrama, um esquema simples (alto nível) daquilo que o João desejava que o sistema fizesse (Requisitos de usuário e requisitos de sistema). É preciso alinhar bem essa parte para não haver atrasos na entrega do sistema. Também compreendemos os processos e as operações do negócio da empresa (Regras de negócio).
Decidimos então começar a Modelagem da camada lógica do processo. Nessa camada nos temos as definições das Entidades, atributos e relacionamentos.
Modelo Lógico: definir as entidades, atributos e seus relacionamentos.
Aproveitamos para identificar as chaves primárias e as chaves estrangeiras, isso facilita na hora de escrever o scritp SQL.
- Entidade Cliente: Atributos: idcliente (PK,NN,AI), nome, cpf , email ,telefone, id_endereço (FK).
- Entidade Endereço: Atributos: idendereco (PK,NN,AI), cep, Rua, bairro, cidade, uf.
- Entidade Conta: Atributos: idconta(PK), agencia, banco, id_cliente (FK).
- Entidade Negociação: Atributos: idnegocio (PK,NN,AI), valor_venda, valor_compra_valor_fipe, id_veiculo (FK: id_veiculo), id_cliente (FK), valor_entrada, quantidade_parcela, valor_parcela.
- Entidade Veículo: Atributos: idveiculo (PK_NN_AI)marca, modelo, ano, km, renavam, cor, placa
- Entidade Pagamento: Atributos: idpagamenti(PK,NN,AI)data_contrato, validade, id_cliente (FK), id_negocio(FK).
- Entidade Contrato: idcontrato, data_contrato, validade, id_cliente (FK), id_negocio(FK).
- Manutenção: idmanutencao(PK,NN,AI), Valor_manutenção, data_manutenção, descrição_manutenção, id_veiculo (FK).
Com esses elementos definidos vamos modelar os dados! Para o Modelo Entidade-Relacionamento escolhemos o MySQL Workbench e para o SGDB escolhemos o MySQL server.
Na parte de desenvolvimento, ou seja, a sua parte, chegou a hora de escrever os scripts SQL para criar, ler, atualizar, inserir, deletar dados (CRUD - Create, read,update and delete), além de outras operações mais avançadas.
Na parte de interação do cliente com a ferramenta (que pode ser a sua parte também ou de terceiro), é hora de pensar na interface intuitiva para que o proprietário e funcionários (usuários) possam realizar todos os requisitos (inserir carros, alterar informações, ter controle de vendas, etc). Então é hora de pensar naquele site bonito e que atenda as necessidades do cliente.
Lembre-se de que algumas informações do desenvolvimento do sistema não estão em um nível de abstração alto o suficiente para facilitar a discussão do projeto com o usuário, então explore a utilização de Diagramas com o objetivo de evitar dúvidas ou confusão.
E se você não sabe nada sobre Banco de dados ou desenvolvimento de sites eis os cursos da DIO que vão te ajudar:
Para desenvolver aquele site bonito e intuitivo:
Aqui você tem um database com informações de veículos, clientes, contas bancárias e endereços para treinar seus scripts!
Ferramentas:
Miro_app : para DER
MySQL Workbench: para MER
MySQL Server: SGDB