Prévia do material em texto
1 UNOPAR – ANHANGUERA – SÃO PAULO PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA NOME DA DISCIPLINA – PROGRAMAÇÃO E DESENVOLVOMENTO DE BANDO DE DADOS SÃO PAULO / SP 2024 2 ALUNO: FERNANDO MARCELINO PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA NOME DA DISCIPLINA – PROGRAMAÇÃO E DESENVOLVOMENTO DE BANDO DE DADOS Trabalho apresentado ao Curso (Engenharia de Software) da UNOPAR – Anhanguera, para a disciplina Programação e desenvolvimento de Banco de Dados. Orientador: Prof. Anderson Emilio de Macedo Gonçalves . SÃO PAULO / SP 2024 3 Sumário Introdução. .................................................................................................................................... 4 Desenvolvimento. ......................................................................................................................... 5 Resultados .................................................................................................................................... 9 Código completo ........................................................................................................................ 18 Conclusão ................................................................................................................................... 21 Referências ................................................................................................................................. 22 4 Introdução. A capacidade de criar e gerenciar bancos de dados de forma eficiente é essencial para o sucesso de empresas e organizações que lidam com grandes volumes de informações. Portanto, a atividade prática de Programação e Gestão de Bancos de Dados é uma oportunidade valiosa para aplicar os conceitos teóricos aprendidos em sala de aula e aprofundar a compreensão sobre a criação e manipulação de bancos de dados utilizando a linguagem SQL. Nesse contexto, destacam-se o MySQL Community Server e o MySQL Workbench como ferramentas essenciais, reconhecidas por sua eficiência e facilidade de uso. O MySQL Workbench, em particular, é uma ferramenta visual que simplifica o processo de design, desenvolvimento e manutenção de bancos de dados MySQL. Durante essa atividade, é realizado o estabelecimento da estrutura de um banco de dados por meio de um diagrama entidade-relacionamento predefinido. Essa etapa proporciona a prática de habilidades em traduzir requisitos em elementos estruturais do banco de dados, como tabelas, relacionamentos e chaves primárias. Além disso, há a inserção de dados no banco de dados criado e a realização de consultas por meio da criação de uma visão (View). Essas práticas promovem a compreensão de como os dados são armazenados, manipulados e acessados em um ambiente real. Portanto, atividades práticas como essa proporcionam uma experiência enriquecedora, permitindo adquirir conhecimentos teóricos e práticos necessários para se tornar um profissional mais capacitado e preparado para enfrentar os desafios do mundo da programação e desenvolvimento de banco de dados. 5 Desenvolvimento. Criação da estrutura de um banco de dados (tabelas) com a linguagem SQL por meio de um diagrama entidade-relacionamento pré-definido. - Inserção de dados no banco de dados criado. - Consulta aos dados armazenados por meio da criação de uma visão (View). Para iniciar o projeto foi feito uma base de dados denominada "Loja" utilizando o MySQL Server por meio do software MySQL Workbench usando o seguinte código.: CREATE DATABASE. Create database Loja; USE Loja; Nessa base de dados, foram adicionadas as estruturas de dados utilizando os comandos de definição de dados (DDL) da linguagem SQL, seguindo o modelo definido no DER. 6 Para que seja executado o código e feito a verificação de erros será utilizado o botão EXECUTAR O SCRIPT que encontrasse na parte superior da tela de código. Se caso o código contenha algum erro, o compilador output irá mostrar a seguinte imagem. Caso esteja tudo correto, irá ser apresentado a mensagem de Action Sucess. Esse processo de verificação deve ser feito com todo script codificado. Caso a tabela não apareça na lista, basta apertar o botão atualizar . 7 Para a criação do banco de dados, foram aplicadas algumas regras, como o uso de chaves primárias com autoincremento em todas as tabelas, o respeito aos relacionamentos, tipos, precisões e restrições de não nulo. Um exemplo disso é o campo "situação" na tabela "ContaReceber", que foi definido como ENUM e possui apenas os valores 1, 2 ou 3, correspondendo a 1 - Conta registrada, 2 - Conta cancelada e 3 - Conta paga. Criação das Tabelas. Tabela Estado.: Tabela Município.: 8 Tabela Cliente.: Tabela Contas a receber.: 9 Resultados Após a criação das tabelas, será desenvolvido um script chamado inserir.sql contendo comandos DML (Data Manipulation Language) para inserir dados nas tabelas do banco de dados "Loja". Também utilizaremos o código ‘INSERT INTO’ para a inserção dos valores na tabela. E para e para fazer a visualização das informações na tabela será utilizado o código ‘SELECT * FROM (TABELA)’, para verificar a saída. Valores da tabela Estado. select * from Estado; Valores da tabela ContasNaoPagas. select * from Estado; 10 Valores da tabela Município. select * from Municipio; Valores da tabela Cliente. select * from Cliente; 11 Agora será elaborado um script chamado consulta.sql que conterá uma visão (VIEW) para facilitar a consulta de dados no banco de dados. A visão "ContasNaoPagas" será criada para listar todas as contas que ainda não foram pagas (Situação = 1), exibindo informações como o ID da conta, nome e CPF do cliente, data de vencimento e valor da conta. Código VIEW. Após a criação do código, podemos verificar se o comando VIEW foi inserido no Schemas corretamente atualizando e visualizando o campo VIEWS. 12 Para executar a VIEW usaremos o código select * from ContaNaoPagas; select * from ContasNaoPagas; 13 Para criarmos o diagrama, na barra de tarefa superior selecione o caminho FILE > NEW MODE em seguida ADD DIAGRAM. Como já temos o banco de dados estruturado, devemos trazer a estrutura para o Diagrama utilizando o caminho da barra de tarefas DATABASE > REVERSE ENGINEER ou o atalho Ctrl+R. 14 Pressione o botão NEXT em seguida entre com a senha criada para o bando de dados no início. 15 Selecione a Base de Dados LOJA em seguida pressione NEXT. 16 17 Diagrama EER. 18 Código completo. create database Loja;; use Loja; create table Estado ( ID int primary key auto_increment, Nome varchar (100) not null, UF varchar (2) not null ); create table Municipio ( ID int primary key auto_increment, Fk_EstadoID int not null, Nome varchar (100) not null, CodIBGE int notnull, foreign key (Fk_EstadoID) references Estado (ID) ); create table Cliente ( ID int primary key auto_increment, Nome varchar (80) not null, CPF varchar (11) not null, Celular varchar (11) not null, EndLogradouro varchar (100) not null, EndNumero varchar (10) not null, EndMunicipio int not null, EndCEP char (8) not null, FK_Municipio_ID int not null, foreign key (FK_Municipio_ID) references municipio(ID) ); create table ContaReceber( ID int primary key auto_increment, FK_Cliente_ID int not null, FaturaVendaID int not null, 19 DataConta date not null, DataVencimento date not null, Valor decimal (18,2) not null, Situacao enum ('1','2','3') not null, foreign key (FK_Cliente_ID) references cliente (ID) ); insert into estado (Nome, UF) values ('São Paulo', 'SP'), ('Rio de Janeiro', 'RJ'), ('Minas Gerais', 'MG'); select * from Estado; insert into municipio (Fk_EstadoID, Nome, CodIBGE) values (1, 'Barueri',3550308), (2, 'Duque de Caxias',3304557), (3, 'Governador Valadares',3106200); select * from municipio; insert into cliente (Nome, CPF, Celular, EndLogradouro, EndNumero, EndMunicipio, FK_Municipio_ID, EndCEP) values ('Rafaela Silva', '12345678902', '11977856781', 'Rua A', '123', '1', '1', '02878000'), ('Maria Santos Silva', '12345678902','11977866982', 'Rua B', '456', '2', '2', '02893000'), ('Juliana Mendes', '12345638904', '11977456983', 'Rua C', '789', '3', '3', '02888200'); select * from cliente; insert into ContaReceber (FK_Cliente_ID, FaturaVendaID, DataConta, DataVencimento, Valor, Situacao) values (1, 105, '2024-08-06', '2025-05-15', 100.00, '1'), (2, 106, '2024-04-07', '2025-03-28', 100.00, '2'), (3, 107, '2024-06-25', '2025-04-20', 100.00, '3'); 20 CREATE VIEW ContasNaoPagas AS SELECT CR.ID as 'ID da conta a receber', C.Nome as 'Nome do cliente', C.CPF as 'CPF do Cliente', CR.DataVencimento as 'Data de vencimento', CR.Valor as 'Valor da conta' FROM ContaReceber CR JOIN Cliente C ON CR.FK_Cliente_ID = C.ID WHERE CR.Situacao = '1'; select * from ContasNaoPagas; 21 Conclusão A realização deste portfólio proporcionou uma experiência prática valiosa no desenvolvimento e gerenciamento de bancos de dados relacionais, utilizando o MySQL Community Server e o MySQL Workbench. Por meio das etapas propostas, foi possível implementar desde a estruturação do banco de dados até a inserção e consulta dos dados, consolidando o entendimento sobre os principais conceitos de modelagem de dados e a linguagem SQL. Durante o projeto, criamos uma base de dados para uma loja, seguindo o diagrama entidade- relacionamento, e configuramos corretamente as chaves primárias, estrangeiras, tipos de dados e restrições, o que é essencial para garantir a integridade e a consistência das informações armazenadas. Além disso, a inserção de dados permitiu simular cenários reais e realizar consultas úteis, como a visualização de contas a receber que ainda estão pendentes, reforçando a importância da estruturação adequada do banco de dados. As vantagens do uso do MySQL Workbench e do MySQL Community Server se destacaram ao longo do trabalho. Essas ferramentas oferecem uma série de benefícios: Facilidade de uso: O MySQL Workbench possui uma interface gráfica intuitiva que facilita a modelagem, criação e gerenciamento de bancos de dados, mesmo para iniciantes. Gerenciamento visual do banco de dados: A possibilidade de trabalhar com diagramas ER (Entidade-Relacionamento) ajuda a visualizar as relações entre as tabelas e a entender melhor a estrutura do banco de dados. Automação de tarefas comuns: A ferramenta permite a geração automática de scripts SQL a partir de modelos visuais, reduzindo o tempo necessário para criar e modificar estruturas de dados. Execução de consultas de forma eficiente: A execução de comandos SQL, tanto de manipulação de dados quanto de consultas, é facilitada pela interface integrada, permitindo testar e visualizar rapidamente os resultados das operações. Ferramentas de depuração e análise de desempenho: O MySQL Workbench oferece recursos adicionais que ajudam a monitorar o desempenho do banco de dados e identificar gargalos. Por meio deste portfólio, foi possível perceber como o uso de bancos de dados relacionais e das ferramentas MySQL é essencial para qualquer aplicação que dependa do armazenamento e da manipulação eficiente de grandes volumes de dados. A prática proporcionou um entendimento mais aprofundado das vantagens e limitações das tecnologias utilizadas, preparando o aluno para enfrentar desafios semelhantes no desenvolvimento de soluções de software no futuro. Portanto, conclui-se que o conhecimento adquirido e as habilidades desenvolvidas neste trabalho são fundamentais para a formação em tecnologia da informação, permitindo a aplicação dos conceitos aprendidos em cenários do mundo real e em diferentes áreas que demandam o uso de bancos de dados. 22 Referências MYSQL https://www.mysql.com/products/workbench/ Awari https://awari.com.br/aprenda-programacao-e-desenvolvimento-de-banco-de-dados-oguia- completo-para-iniciantes-2/? utm_source=blog&utm_campaign=projeto+blog&utm_medium=Aprenda%20Programa %C3%A7%C3%A3o%20e%20Desenvolvimento%20de%20Banco%20de%20Dados:%20o %20Guia%20Completo%20para%20Iniciantes#:~:text=A%20programa %C3%A7%C3%A3o%20envolve%20a%20cria%C3%A7%C3%A3o,dos%20dados%20de %20maneira%20eficiente https://www.mysql.com/products/workbench/ https://awari.com.br/aprenda-programacao-e-desenvolvimento-de-banco-de-dados-oguia- https://awari.com.br/aprenda-programacao-e-desenvolvimento-de-banco-de-dados-oguia- https://awari.com.br/aprenda-programacao-e-desenvolvimento-de-banco-de-dados-oguia- https://awari.com.br/aprenda-programacao-e-desenvolvimento-de-banco-de-dados-oguia- https://awari.com.br/aprenda-programacao-e-desenvolvimento-de-banco-de-dados-oguia- https://awari.com.br/aprenda-programacao-e-desenvolvimento-de-banco-de-dados-oguia- https://awari.com.br/aprenda-programacao-e-desenvolvimento-de-banco-de-dados-oguia-