Prévia do material em texto
<p>Programação e Desenvolvimento de Banco de Dados -</p><p>Relatório de aula prática - Vinícius Borba</p><p>Programação e Desenvolvimento de Banco de Dados (Universidade Norte do Paraná)</p><p>Digitalizar para abrir em Studocu</p><p>A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade</p><p>Programação e Desenvolvimento de Banco de Dados -</p><p>Relatório de aula prática - Vinícius Borba</p><p>Programação e Desenvolvimento de Banco de Dados (Universidade Norte do Paraná)</p><p>Digitalizar para abrir em Studocu</p><p>A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p><p>UNOPAR</p><p>ENGENHARIA DE SOFTWARE</p><p>Vinícius Pereira de Borba</p><p>Porto Alegre/RS</p><p>Novembro de 2023</p><p>ROTEIRO DE AULA PRÁTICA</p><p>Programação e Desenvolvimento de Banco de</p><p>Dados</p><p>OBJETIVOS:</p><p>● Criar um banco de dados utilizando a linguagem SQL e realizar</p><p>operações de manipulação e acesso aos dados.</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p><p>2</p><p>Índice</p><p>1. Introdução</p><p>2. Desenvolvimento</p><p>2.1 Atividade Proposta</p><p>2.2 Resolução da Atividade</p><p>3. Conclusão</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p><p>3</p><p>1. Introdução</p><p>A criação de bancos de dados em SQL é essencial para estruturar e armazenar</p><p>dados de forma organizada. Utilizando comandos como CREATE DATABASE, os</p><p>desenvolvedores podem estabelecer ambientes de dados específicos, definindo nome e</p><p>opções como conjunto de caracteres. Essa abordagem, simples e eficiente, é fundamental</p><p>para a modelagem e gerenciamento de informações em sistemas de banco de dados.</p><p>2. Desenvolvimento</p><p>A programação e desenvolvimento de banco de dados utilizando o MySQL Workbench</p><p>oferecem uma abordagem abrangente para criar, editar e ler dados. O MySQL Workbench</p><p>combina uma interface gráfica intuitiva com a flexibilidade da linha de comando,</p><p>proporcionando aos desenvolvedores um ambiente robusto.</p><p>● Criação:</p><p>Ao utilizar comandos SQL no editor de consultas, os desenvolvedores podem criar bancos</p><p>de dados usando o comando `CREATE DATABASE`, especificando detalhes como nome</p><p>e opções de configuração. Isso permite a configuração inicial do ambiente de</p><p>armazenamento.</p><p>● Edição:</p><p>O MySQL Workbench facilita a modelagem visual de esquemas de banco de dados. Os</p><p>desenvolvedores podem projetar tabelas, relacionamentos e índices por meio de</p><p>ferramentas visuais, o que simplifica a criação e a modificação da estrutura do banco de</p><p>dados. Além disso, o editor de consultas permite a execução de scripts SQL para realizar</p><p>alterações complexas.</p><p>● Leitura:</p><p>A execução de consultas SQL no MySQL Workbench possibilita a leitura e recuperação</p><p>de dados de maneira eficiente. Os desenvolvedores podem criar consultas personalizadas</p><p>para extrair informações específicas, analisar dados e otimizar consultas para melhorar o</p><p>desempenho.</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p><p>4</p><p>● Utilidade para o Desenvolvedor:</p><p>O MySQL Workbench oferece uma experiência integrada que combina a praticidade da</p><p>interface gráfica com a precisão e flexibilidade dos comandos SQL. Isso permite que os</p><p>desenvolvedores adaptem sua abordagem conforme necessário, beneficiando-se da</p><p>eficiência visual e da capacidade de personalização proporcionada pela linha de</p><p>comando.</p><p>Além disso, a ferramenta facilita a administração do banco de dados, permitindo o</p><p>gerenciamento de usuários, backups e monitoramento de desempenho. Isso resulta em</p><p>um ambiente de desenvolvimento mais produtivo, onde os desenvolvedores podem criar e</p><p>manter bancos de dados de forma eficaz e colaborativa.</p><p>2.1 Atividade proposta</p><p>- Criação da estrutura de um banco de dados (tabelas) com a linguagem SQL por meio de</p><p>um diagrama entida de relacionamento pré-definido.</p><p>- Inserir dados no banco de dados criado.</p><p>- Consultar os dados armazenados por meio da criação de uma visão (View)</p><p>2.2 Resolução da Atividade</p><p>Etapa 1</p><p>Crie uma base de dados chamada "Loja" com o MySQL Server por meio do software</p><p>MySQL Workbench. Adicione as estruturas de dados neste banco, utilizando os</p><p>comandos de definição de dados (DDL) da linguagem SQL, e respeitando o modelo</p><p>definido no DER da Figura a seguir.</p><p>*Na criação do banco de dados da figura, respeite as seguintes regras:</p><p>• As chaves primárias devem ser colocadas todas como autoincremento.</p><p>• Respeite os relacionamentos, tipos, precisões e restrições de não nulo.</p><p>• O campo “Situação” da tabela “ContaReceber” deve ser do tipo ENUM e possuir apenas</p><p>os valores 1, 2 ou</p><p>3, sendo 1 – Conta registrada, 2 – Conta cancelada, 3 – Conta paga.</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p><p>5</p><p>Resolução da Etapa 1:</p><p>-- Comando para criar a base de dados</p><p>CREATE DATABASE Loja;</p><p>USE Loja;</p><p>-- Utilizei os comandos para criar a tabela Estado</p><p>CREATE TABLE Estado (</p><p>ID INT AUTO_INCREMENT PRIMARY KEY,</p><p>Nome VARCHAR(50) NOT NULL,</p><p>UF CHAR(2) NOT NULL</p><p>);</p><p>-- Utilizei os comandos para criar a tabela Municipio</p><p>CREATE TABLE Municipio (</p><p>ID INT AUTO_INCREMENT PRIMARY KEY,</p><p>Estado_ID INT NOT NULL,</p><p>Nome VARCHAR(80) NOT NULL,</p><p>CodIBGE INT NOT NULL,</p><p>FOREIGN KEY (Estado_ID) REFERENCES Estado(ID)</p><p>);</p><p>-- Utilizei os comandos para criar a tabela Cliente</p><p>CREATE TABLE Cliente (</p><p>ID INT AUTO_INCREMENT PRIMARY KEY,</p><p>Nome VARCHAR(80) NOT NULL,</p><p>CPF CHAR(11) NOT NULL,</p><p>Celular CHAR(11),</p><p>EndLogradouro VARCHAR(100) NOT NULL,</p><p>EndNumero VARCHAR(10) NOT NULL,</p><p>EndMunicipio INT NOT NULL,</p><p>EndCEP CHAR(8),</p><p>FOREIGN KEY (EndMunicipio) REFERENCES Municipio(ID)</p><p>);</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p><p>6</p><p>-- Utilizei os comandos para criar a tabela ContaReceber</p><p>CREATE TABLE ContaReceber (</p><p>ID INT AUTO_INCREMENT PRIMARY KEY,</p><p>Cliente_ID INT NOT NULL,</p><p>FaturaVendalD INT,</p><p>DataConta DATE NOT NULL,</p><p>DataVendimento DATE,</p><p>Valor DECIMAL(18, 2),</p><p>Situacao ENUM('1', '2', '3') NOT NULL,</p><p>INDEX fk_ContaReceber_Cliente_idx (Cliente_ID),</p><p>FOREIGN KEY (Cliente_ID) REFERENCES Cliente(ID)</p><p>);</p><p>Etapa 2</p><p>Crie um script chamado “inserir.sql” contendo os comandos de manipulação (DML), com o</p><p>objetivo de popular todas</p><p>as tabelas existentes na base de dados (ou seja, inserir dados nas tabelas!). Insira ao</p><p>menos três registros por tabela.</p><p>Resolução da Etapa 2:</p><p>-- Inserir dados na tabela Estado</p><p>INSERT INTO Estado (Nome, UF) VALUES</p><p>('São Paulo', 'SP'),</p><p>('Rio de Janeiro', 'RJ'),</p><p>('Minas Gerais', 'MG');</p><p>-- Inserir dados na tabela Municipio</p><p>INSERT INTO Municipio (Estado_ID, Nome, CodIBGE) VALUES</p><p>(1, 'São Paulo', 3550308),</p><p>(2, 'Rio de Janeiro', 3304557),</p><p>(3, 'Belo Horizonte', 3106200);</p><p>-- Inserir dados na tabela Cliente</p><p>INSERT INTO Cliente (Nome, CPF, Celular, EndLogradouro, EndNumero, EndMunicipio,</p><p>EndCEP) VALUES</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p><p>7</p><p>('João Silva', '12345678901', '987654321', 'Rua A', '123', 1, '12345678'),</p><p>('Maria Santos', '98765432101', '123456789', 'Rua B', '456', 2, '87654321'),</p><p>('Carlos Oliveira', '45678901234', '987654321', 'Rua C', '789', 3, '23456789');</p><p>-- Inserir dados na tabela ContaReceber</p><p>INSERT INTO ContaReceber (Cliente_ID, FaturaVendalD, DataConta, DataVendimento,</p><p>Valor, Situacao) VALUES</p><p>(1, 101, '2023-01-01', '2023-02-01', 1500.00, '1'),</p><p>(2, 102, '2023-02-01', '2023-03-01', 2000.00, '2'),</p><p>(3, 103, '2023-03-01', '2023-04-01', 2500.00, '3');</p><p>Etapa 3</p><p>Por meio dos comandos de consulta (DQL) da linguagem SQL, elabore um script</p><p>chamado “consulta.sql” que irá</p><p>conter uma visão (VIEW) que retornará todas as contas que ainda não foram pagas</p><p>(Situação = 1), devendo conter as</p><p>seguintes informações:</p><p>• ID da conta a receber</p><p>• Nome e CPF do Cliente associado à conta</p><p>• Data de vencimento da conta</p><p>• Valor da conta</p><p>Resolução da Etapa 3:</p><p>Fiz da seguinte forma o script "consulta.sql" que cria uma visão (VIEW) para retornar as</p><p>informações solicitadas:</p><p>-- Criação da visão para contas não pagas</p><p>CREATE VIEW ContasNaoPagas AS</p><p>SELECT</p><p>CR.ID AS 'ID da Conta',</p><p>C.Nome AS 'Nome do Cliente',</p><p>C.CPF AS 'CPF do Cliente',</p><p>CR.DataVendimento AS 'Data de Vencimento',</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p><p>8</p><p>CR.Valor AS 'Valor da Conta'</p><p>FROM ContaReceber CR</p><p>JOIN Cliente C ON CR.Cliente_ID = C.ID</p><p>WHERE CR.Situacao = '1';</p><p>Fiz o script para criar uma visão chamada "ContasNaoPagas" que retorna as informações</p><p>desejadas para as contas que ainda não foram pagas (Situação = 1).</p><p>-- Consulta para obter as contas não pagas</p><p>SELECT * FROM ContasNaoPagas;</p><p>Através dessa consulta retornará as informações das contas que ainda não foram pagas,</p><p>conforme definido na visão.</p><p>3. Conclusão</p><p>A utilização de comandos para criação e manipulação de banco de dados no</p><p>MySQL Workbench combina a eficiência visual da interface gráfica com a flexibilidade dos</p><p>comandos SQL, proporcionando aos desenvolvedores um ambiente completo e</p><p>adaptável. Essa abordagem oferece controle preciso sobre a estrutura e conteúdo do</p><p>banco de dados, permitindo a criação, edição e leitura de dados de maneira eficiente. A</p><p>capacidade de utilizar comandos SQL no contexto do MySQL Workbench oferece aos</p><p>desenvolvedores uma ferramenta versátil que atende às demandas complexas do</p><p>desenvolvimento de bancos de dados, resultando em maior produtividade e facilidade de</p><p>administração.</p><p>Baixado por Kewelyn Fernanda Soares (kwln.fernanda@gmail.com)</p><p>lOMoARcPSD|44016364</p>