Prévia do material em texto
UNOPAR UNIVERSIDADE PITÁGORAS UNOPAR ALESSANDRO GRACIEL DA SILVA RELATÓRIO DE APRENDIZAGEM DE AULA PRÁTICA PROGRAMAÇÃO E DESENVOLVIMENTO DE BANCO DE DADOS Osvaldo Cruz 2022 1 1. ATIVIDADES PROPOSTA Foi proposto através da aula prática da matéria Programação e Desenvolvimento de Bancos de Dados a seguinte prática: Criação de banco de dados, utilizando o programa o MySQL Workbench (MySQL Community Server). - Criação da estrutura de um banco de dados (tabelas) com a linguagem SQL por meio de um diagrama entidaderelacionamento pré-definido. - Inserir dados no banco de dados criado. - Consultar os dados armazenados por meio da criação de uma visão (View). O seguinte roteiro deveria ser seguido: - Instalar o sistema MySQL Community Server e MySQL Workbench. - Elaborar o modelo físico (implementação da estrutura) do banco de dados proposto pelo DER no software MySQL Workbench. - Criar o script “inserir.sql” para inserir dados em todas as tabelas criadas. - Elaborar o script “consulta.sql” que irá conter uma visão que retornará todas as contas que ainda não foram pagas. Dessa forma e seguindo o recomendado foram alcançados os seguintes resultados abaixo: 2 2. ETAPA 1 – CRIAÇÃO DA BASE DE DADOS Como especificado, foras instalados os programas MySQL Community Server / MySQL Workbench, e através do DER a seguir foi criada a estrutura do bando de dados sql: Figura1: DER utilizado na elaboração do Banco de Dados Dessa forma foi criado a Base de Dados ”Loja”, e as respectivas tabelas na qual pode ver a seguir os códigos sql da mesma: Figura 2: Script de criação das tabelas CREATE TABLE `cliente` ( `ID` int NOT NULL AUTO_INCREMENT, `Nome` varchar(80) NOT NULL, `CPF` char(11) NOT NULL, `Celular` char(11) DEFAULT NULL, `EndLogradouro` varchar(100) NOT NULL, `EndNumero` varchar(10) NOT NULL, 3 `EndMunicipio` int NOT NULL, `EndCEP` char(8) DEFAULT NULL, `Municipio_ID` int NOT NULL, PRIMARY KEY (`ID`), KEY `fk_Cliente_Municipio1_idx_idx` (`Municipio_ID`), CONSTRAINT `fk_Cliente_Municipio1_idx` FOREIGN KEY (`Municipio_ID`) REFERENCES `municipio` (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE `contareceber` ( `ID` int NOT NULL AUTO_INCREMENT, `Cliente_ID` int NOT NULL, `FaturaVendaID` int DEFAULT NULL, `DataConta` date NOT NULL, `DataVencimento` date NOT NULL, `Valor` decimal(18,2) NOT NULL, `Situacao` enum('1','2','3') NOT NULL, PRIMARY KEY (`ID`), KEY `fk_ContaReceber_Cliente_idx_idx` (`Cliente_ID`), CONSTRAINT `fk_ContaReceber_Cliente_idx` FOREIGN KEY (`Cliente_ID`) REFERENCES `cliente` (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE `estado` ( `ID` int NOT NULL AUTO_INCREMENT, `Nome` varchar(50) NOT NULL, `UF` char(2) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE `municipio` ( `ID` int NOT NULL AUTO_INCREMENT, `Estado_ID` int NOT NULL, `Nome` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `CodIGBE` int NOT NULL, PRIMARY KEY (`ID`), KEY `fk_Municipio_Estado1_idx_idx` (`Estado_ID`), CONSTRAINT `fk_Municipio_Estado1_idx` FOREIGN KEY (`Estado_ID`) REFERENCES `estado` (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_as_ci; 4 3. ETAPA 2 – CRIANDO ARQUIVO PARA INSERIR DADOS Após a criação do banco de dados foram inseridos nas tabelas os dados para posteriormente realizar consultas no mesmo, dessa forma foi elaborado um script de de INSERT, denominado inserir.sql. Primeiramente foram inseridos dados referente aos “estado”, visto que o id do mesmo é uma chave estrangeira de “municipio”, posteriormente a tabela “município ”receberam dados, já que os Ids das cidades são chaves estrangeiras de “cliente”, sendo essa a próxima a receber dados, já que este cliente possui vinculo através de chave estrangeira coma tabela “contareceber”, como podemos ver no script abaixo: Figura 3: Script de de inserção de dados (inserir.sql) INSERT INTO `loja`.`estado`(`Nome`,`UF`)VALUES('SAO PAULO','SP'); INSERT INTO `loja`.`municipio`(`Estado_ID`,`Nome`,`CodIGBE`)VALUES(1,'RINÓPOLIS',3543808); INSERT INTO `loja`.`cliente`(`Nome`,`CPF`,`Celular`,`EndLogradouro`,`EndNumero`,`EndMunici pio`,`EndCEP`,`Municipio_ID`)VALUES('ALESSANDRO', 15245856841, 18997882925,'SÃO GABRIEL', 300, 1, 17740000, 1); INSERT INTO `loja`.`contareceber`(`Cliente_ID`,`FaturaVendaID`,`DataConta`,`DataVencimento `,`Valor`,`Situacao`)VALUES(1,1,'2022-11-12','2022-12-12',250.50,1); 4. ETAPA 3 – CRIANDO ARQUIVO PARA CONSULTAR DADOS Feita a inserção dos dados era necessário realizar a consulta dos mesmos, para isso um arquivo SELECT foi criado, com o nome consulta.sql, entretando a atividade proposta solicitava algumas especificações na seleção que seriam, retornará todas as contas que ainda não foram pagas (Situação = 1), devendo conter as seguintes informações: • ID da conta a receber • Nome e CPF do Cliente associado à conta • Data de vencimento da conta • Valor da conta 5 Dessa forma foi elaborado o seguinte script: Figura 4: Script de consulta de dados (consulta.sql) 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; Notamos que oselecionamos os campos requisitados através do comando SELECT, das tabelas “contareceber” e alguns campos da table cliente, como Nome e CPF. Através do comando FROM selecionamos a tabela principal do assunto da busca que seria “contareceber”, essa tabela está ligada a chave primaria de cliente (ID), já que ela é uma chave estrangeira em “contareceber”, e através de INNER JOIN, retornaremos os dados das duas tabelas juntando as chaves primarias das duas, entretanto usamos WHERE para para apresentar a condição de retorno que é apenas para cliente no qual a Situação é igual a 1, que no caso significa “Conta Registrada”. 4. CONCLUSÃO Conclui-se que a atividade proposta foi de grande valia para o aprendizado e desenvolvimento de habilidades utilizado a linguagem sql. Ainda, foi possível conhecer novas ferramentas para o desenvolvimento da mesma como o MySQL Workbench por exemplo, que auxilia na criação e administração de bases de dados. Ainda, os resultados propostos foram alcançados o que torna o aprendizado ainda mais valioso.