Baixe o app para aproveitar ainda mais
Prévia do material em texto
2023 PROGRAMAÇÃO E DESENVOLVIMENTO DE BANCO DE DADOS RELÁTORIO DE AULA PRÁTICA: Programação e Desenvolvimento de Banco de Dados 2023 RELÁTORIO DE AULA PRÁTICA: Programação e Desenvolvimento de Banco de Dados Trabalho de portfólio apresentado como requisito parcial para a obtenção de média semestral. Orientadora: Prof. Anderson Emidio de Macedo Goncalves SUMÁRIO 1 INTRODUÇÃO ..................................................................................................... 3 2 Desenvolvimento .................................................................................................. 4 2.1 Criação da base de dados ................................................................................ 4 2.2 Inserção de dados ............................................................................................ 7 2.3 Consulta dos Dados ......................................................................................... 8 3 CONCLUSÃO ...................................................................................................... 9 Código ....................................................................................................................... 10 3 1 INTRODUÇÃO O propósito desta atividade foi desenvolver um banco de dados chamado “Loja” utilizando MySQL Server, com o auxílio do software MySQL Workbench. O banco de dados foi desenvolvido com base no Diagrama de Entidade Relacionamento (DER) fornecido. Após a conclusão, será fornecido os códigos por completo junto a um link para o download de todos os arquivos. 4 2 DESENVOLVIMENTO 2.1 CRIAÇÃO DA BASE DE DADOS Foi criada a base de dados “Loja” e as seguintes tabelas foram criadas utilizando comandos DDL: Figura 1 - Tabela Estado Figura 2 - Tabela Município 5 Figura 3 - Tabela Cliente Figura 4 - Tabela ContaReceber 6 Foi de grande importância seguir boas práticas para a criação das tabelas, como a definição de chaves primárias auto incrementadas, para que cada registro tenha uma identificação única. Além disso, o relacionamento das tabelas foi implementado seguindo os diagramas entidade relacionamento fornecidos. 7 2.2 INSERÇÃO DE DADOS Na segunda etapa foi criado o script “inserir.sql” com o objetivo de inserir dados na tabela, simulando o uso prático das ferramentas disponíveis. Durante o processo, é importante se atentar para os tipos de dados e as restrições estabelecidas durante a criação da estrutura. Esse procedimento assegurou que os dados adicionados estivessem em plena consonância com as exigências do sistema, evitando quaisquer violações de integridade. Figura 5 - Dados Cliente1 Figura 6 - Dados Cliente2 Figura 7 - Dados Cliente3 8 2.3 CONSULTA DOS DADOS Na terceira etapa foi criado o script “consulta.sql” para que se pudesse verificar os dados inseridos na etapa anterior retornado as contas que ainda não foram pagas. Figura 8 - Script consulta.sql Graças ao filtro “WHERE” é possível separar as contas pagas das não pagas e retornar somente os dados requisitados. Figura 9 - Dados Retornados 9 3 CONCLUSÃO As práticas de modelagem adotadas, como a implementação de chaves primárias auto incrementadas e a definição de relacionamentos, demonstraram-se cruciais para a integridade e consistência dos dados. Fica claro que seguir as boas práticas para criação, inserção e consulta das tabelas foi de extrema importância. Sem essas práticas, é quase impossível que um software cumpra a suas funções principalmente em banco de dados de grandes proporções muito comuns em uma era em que, o comercio online cresce cada vez mais e as redes sociais se tornam cada vez mais integradas com a sociedade em geral. 10 CÓDIGO https://github.com/nathanfordiani/REL-TORIO-DE-AULA-PR-TICA-Programa-o-e- Desenvolvimento-de-Banco-de-Dados CRIAÇÂO DA TABELA SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZER O_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_EN GINE_SUBSTITUTION'; CREATE SCHEMA IF NOT EXISTS `Loja` DEFAULT CHARACTER SET utf8 ; USE `Loja` ; CREATE TABLE IF NOT EXISTS `Loja`.`Estado` ( `ID` INT NOT NULL AUTO_INCREMENT, `Nome` VARCHAR(50) NOT NULL, `UF` VARCHAR(2) NOT NULL, PRIMARY KEY (`ID`)) ENGINE = InnoDB; CREATE TABLE IF NOT EXISTS `Loja`.`Municipio` ( `ID` INT NOT NULL AUTO_INCREMENT, `Estado_ID` INT NOT NULL, `Nome` VARCHAR(45) NOT NULL, `CodIBGE` INT NOT NULL, PRIMARY KEY (`ID`), INDEX `fk_Municipio_Estado_idx` (`Estado_ID` ASC), CONSTRAINT `fk_Municipio_Estado` FOREIGN KEY (`Estado_ID`) REFERENCES `Loja`.`Estado` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE TABLE IF NOT EXISTS `Loja`.`Cliente` ( `ID` INT NOT NULL AUTO_INCREMENT, `Nome` VARCHAR(80) NOT NULL, `CPF` VARCHAR(11) NOT NULL, https://github.com/nathanfordiani/REL-TORIO-DE-AULA-PR-TICA-Programa-o-e-Desenvolvimento-de-Banco-de-Dados https://github.com/nathanfordiani/REL-TORIO-DE-AULA-PR-TICA-Programa-o-e-Desenvolvimento-de-Banco-de-Dados 11 `Celular` VARCHAR(11) NULL, `EndLogradouro` VARCHAR(100) NOT NULL, `EndNumero` VARCHAR(45) NOT NULL, `EndMunicipio` INT NULL, `EndCEP` VARCHAR(45) NOT NULL, `Municipio_ID` INT NOT NULL, PRIMARY KEY (`ID`), INDEX `fk_Cliente_Municipio1_idx` (`Municipio_ID` ASC), CONSTRAINT `fk_Cliente_Municipio1` FOREIGN KEY (`Municipio_ID`) REFERENCES `Loja`.`Municipio` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; CREATE TABLE IF NOT EXISTS `Loja`.`ContaReceber` ( `id` INT NOT NULL AUTO_INCREMENT, `Cliente_ID` INT NOT NULL, `FaturaVendaID` INT NOT NULL, `DataConta` DATE NOT NULL, `DataVencimento` DATE NOT NULL, `Valor` DECIMAL NOT NULL, `Situacao` ENUM("1", "2", "3") NOT NULL, PRIMARY KEY (`id`), INDEX `Cliente_ID_idx` (`Cliente_ID` ASC), CONSTRAINT `Cliente_ID` FOREIGN KEY (`Cliente_ID`) REFERENCES `Loja`.`Cliente` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; 12 Inserção de dados INSERT INTO `Loja`.`estado`(`Nome`,`UF`)VALUES('Goias','GO'); INSERT INTO `Loja`.`municipio`(`Estado_ID`,`Nome`,`CodIBGE`)VALUES(1,'Morrinhos',5213806); INSERT INTO `Loja`.`cliente`(`Nome`,`CPF`,`Celular`,`EndLogradouro`,`EndNumero`,`EndMunicipi o`,`EndCEP`,`Municipio_ID`)VALUES('Leticia', 12345676892,11922222222,'Rua Desastre', 616, 1, 75650-000, 1); INSERT INTO `Loja`.`contareceber`(`Cliente_ID`,`FaturaVendaID`,`DataConta`,`DataVencimento` ,`Valor`,`Situacao`)VALUES(1,1,'2022-06-14','2023-10-25',10.00,1); Consulta das tabelas SELECT `contareceber`.`ID`, `cliente`.`Nome`, `cliente`.`CPF`, `contareceber`.`DataVencimento`, `contareceber`.`Valor` FROM `loja`.`contareceber` INNER JOIN `loja`.`cliente` ON `contareceber`.`ID` = `cliente`.`ID` WHERE `contareceber`.`Situacao` = 1; 13
Compartilhar