Comentários
Mapeamento das classes em tabelas de banco de dados relacional, conforme os tipos de relacionamentos estabelecidos entre as classes de objetos.
Fonte: Shutterstock.
Deseja ouvir este material?
Áudio disponível no material digital.
Considerando as alternativas de mapeamento de classes para tabelas de banco de dados relacional, segue o esquema do banco de dados correspondente ao sistema “Locação de Veículos”.
Uma sugestão para elaborar o mapeamento é iniciar o mapeamento das tabelas que não têm chave estrangeira, posteriormente as demais tabelas e, ao finalizar o mapeamento, classificar as tabelas e listá-las em ordem alfabética.
AluguelDevolucao(aluguelDevolucaoId, dataAluguel, dataPrevDevolucao, valorKm, valorDiaria, numeroContrato, dataDevolucao, kmRodada, observacao, formaPagto, reservaId, carroId, pessoaId, filialIdR, filialIdD, tipoPagamentoId)
AluguelDevolucaoItemAdicional (aluguelDevolucaoId, itemAdicionalId)
Carro (carroId, placa, anoFabricacao, anoModelo, renavam, chassi, km, imagem, observacao, situacao, combustivel, grupoCarroId)
GrupoCarro (grupoCarroId, nome, descricao, valorDiaria, precoKm, marcaId)
ItemAdicional (itemAdicionalId, nome, descricao, valor)
Marca (marcaId, nome)
Pais (paisId, nome, código, nacionalidade, idioma, continente, sigla)
Pessoa (pessoaId, nome, logradouro, numeroLogradouro, bairro, cidade, estado, cep, telefone, celular, situacao, enderecoEletronicoLogin, senhaAlfanumerica, tipoPessoa [PF/PJ], paisId)
PessoaFisica (pessoaId, cpf, dataNascimento, sexo, telefoneComercial, pessoaIdJ, profissaoId)
PessoaJuridica (pessoaId, cnpj, inscricaoEstadual, razaoSocial, dataAberturaEmpresa, contato, desconto, ramoId)
Profissao (profissaoId, cbo, nome)
RamoAtividade (ramoId, cnae, nome)
Reserva (reservaId, dataReserva, dataRetirada, horaRetirada, dataPrevDevolucao, situacao, observacao, grupoCarroId, pessoaId, filialIdR, filialIdD)
ReservaItemAdicional (reservaId, itemAdicionalId)
Caixa (caixaId, data, horaAbertura, horaFechamento, saldoEntrada, saldoMovimentacao, saldoFechamento, situcao, aluguelDevolucaoId)
CreditoParcelado (creditoParceladoId, dataLancamento, qtdadeParcelas, valorTotal, situacao, aluguelDevolucaoId)
ParcelaCreditoParcelado (creditoParceladoId, parcelaCreditoParceladoId, dataVencimento, valorParcela, dataPagamento, juro, multa, outrosAcrescimos, desconto)
TipoPagamento (tipoPagamentoId, nome)