Baixe o app para aproveitar ainda mais
Prévia do material em texto
2 UNIVERSIDADE ANHANGUERA – UNIDERP ITABUNA/BA - JOSE SOARES 1 ENGENHARIA DE SOFTWARE - BACHARELADO PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA: PROGRAMAÇÃO E DESENVOLVIMENTO DE BANCO DE DADOS PORTFÓLIO – RELATÓRIO 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 pontos para a média semestral. Tutor Vinicius Camargo Prattes SUMÁRIO 1 INTRODUÇÃO 3 2 DESENVOLVIMENTO 4 2.1 MÉTODO 4 2.2 RESULTADOS 5 3 CONCLUSÃO 15 REFERÊNCIAS 16 1 INTRODUÇÃO A Wikipédia (2023) define Structured Query Language (SQL), em português "linguagem de consulta estruturada", como uma “linguagem de domínio específico desenvolvida para gerenciar dados relacionais em um sistema de gerenciamento de banco de dados, ou para processamento de fluxo de dados em um sistema de gerenciamento de fluxo de dados”. A linguagem SQL apresenta uma organização estrutural muito bem definida que divide seus comandos em 5 subconjuntos diferentes: DML: linguagem de manipulação de dados; DQL: linguagem de consulta de dados; DDL: linguagem de definição de dados; DCL: linguagem de controle de dados; DTL ou TCL: linguagem de transação de dados BETRYBE (2023). O diagrama de Entidade e Relacionamento (DER) ajuda a identificar as relações entre os elementos de seu banco de dados e como a informação flui através de seu sistema ou processo empresarial (MIRO, 2023), facilitando a construção e utilização de um banco de dados SQL. O MySQL Workbench é uma ferramenta visual unificada [...] que fornece modelagem de dados, desenvolvimento SQL e ferramentas de administração abrangentes para configuração de servidor, administração de usuários, backup e muito mais. MySQL Workbench está disponível em Windows, Linux e Mac OS X. O objetivo deste trabalho é criar um banco de dados utilizando a linguagem SQL e realizar operações de manipulação e acesso aos dados. 2 DESENVOLVIMENTO 2.1 MÉTODO Atividades propostas: · Criação da estrutura de um banco de dados (tabelas) com a linguagem SQL por meio de um diagrama entidade-relacionamento pré-definido (figura 01); · Inserir dados no banco de dados criado; · Consultar os dados armazenados por meio da criação de uma visão (View); · Criar um relatório no final da atividade. Figura 1: DER banco de dados Loja. Fonte: o autor. Etapas: 1. Crie uma base de dados chamada "Loja" com o MySQL Server por meio do software MySQL Workbench. Adicione as estruturas de dados neste banco, utilizando os comandos de definição de dados (DDL) da linguagem SQL, e respeitando o modelo definido no DER da Figura a seguir: a) As chaves primárias devem ser colocadas todas como autoincremento; b) As chaves primárias devem ser colocadas todas como autoincremento; c) As chaves primárias devem ser colocadas todas como autoincremento. 2. Crie um script chamado “inserir.sql” contento os comandos de manipulação (DML), com o objetivo de popular todas as tabelas existentes na base de dados (ou seja, inserir dados nas tabelas!). Insira ao menos três registros por tabela; 3. Por meio dos comandos de consulta (DQL) da linguagem SQL, elabore um script chamado “consulta.sql” que irá conter uma visão (VIEW) que retornará todas as contas que ainda não foram pagas (Situação = 1), devendo conter as seguintes informações: a) ID da conta a receber; b) Nome e CPF do Cliente associado à conta; c) Data de vencimento da conta; d) Valor da conta. 2.2 RESULTADOS Script de criação do banco de dados: CREATE SCHEMA `loja` DEFAULT CHARACTER SET utf8 ; CREATE TABLE IF NOT EXISTS `loja`.`ContaReceber` ( `ID` INT NOT NULL AUTO_INCREMENT, `Cliente_ID` INT NOT NULL, `FaturaVenda` INT NULL, `DataConta` DATE NOT NULL, `Valor` DECIMAL(18,2) NOT NULL, `DataVencimento` DATE NOT NULL, `Situação` ENUM('1', '2', '3') NOT NULL, PRIMARY KEY (`ID`)); CREATE TABLE IF NOT EXISTS `loja`.`Cliente` ( `ID` INT NOT NULL AUTO_INCREMENT, `Nome` VARCHAR(80) NOT NULL, `CPF` CHAR(11) NOT NULL, `Celular` CHAR(11) NULL, `EndLogradouro` VARCHAR(100) NOT NULL, `EndNumero` INT NOT NULL, `EndMunicipio` VARCHAR(10) NOT NULL, `EndCEP` VARCHAR(8) NULL, `Municipio_ID` INT NOT NULL, PRIMARY KEY (`ID`)); CREATE TABLE IF NOT EXISTS `loja`.`Municipio` ( `ID` INT NOT NULL AUTO_INCREMENT, `Estado_ID` INT NOT NULL, `Nome` VARCHAR(80) NOT NULL, `CodIBGE` INT NOT NULL, PRIMARY KEY (`ID`)); CREATE TABLE IF NOT EXISTS `loja`.`Estado` ( `ID` INT NOT NULL AUTO_INCREMENT, `Nome` VARCHAR(50) NOT NULL, `UF` CHAR(2) NOT NULL, PRIMARY KEY (`ID`)); use loja; ALTER TABLE contareceber ADD CONSTRAINT FK_contaReceber_Cliente_idx FOREIGN KEY (Cliente_ID) REFERENCES cliente(id); ALTER TABLE cliente ADD CONSTRAINT FK_Cliente_Municipio1_idx FOREIGN KEY (Municipio_ID) REFERENCES municipio(id); ALTER TABLE Municipio ADD CONSTRAINT FK_Municipio_Estado1_idx FOREIGN KEY (Estado_ID) REFERENCES estado(id); Script de inserção de dados: insert into estado (nome, UF) values ('Alagoas', 'AL'), ('Bahia', 'BA'), ('Ceará', 'CE'), ('Maranhão', 'MA'), ('Paraíba', 'PB'), ('pernambuco', 'PE'), ('Piauí', 'PI'), ('Rio Grande do Norte', 'RN'), ('Sergipe', 'SE'); select * from cliente; insert into municipio (Nome, CodIBGE, Estado_ID) values ('Maceió', 2704302, 1), ('Ibicuí', 2912301, 2), ('Fortaleza', 2304400, 3), ('São Luís', 2111300, 4), ('João Pessoa', 2507507, 5), ('Recife', 2611606, 6), ('Teresina', 2211001, 7), ('Natal', 2408102, 8), ('Salvador', 2800308, 2); select * from cliente; insert into cliente (nome, CPF, Celular, EndLogradouro, EndMunicipio, EndNumero, EndCEP, Municipio_ID) values ('Carlos Joubert', '11122233344', 73944445555, 'Rua Amarela', 'Ibicuí', 13, 45290000, 2), ('João Pedro', '22233344455', 77933334444, 'Rua Azul', 'Maceió', 03, 45670000, 1), ('Maria Joaquina', '55566677788', 11955557777, 'Rua Verde', 'Fortaleza', 55, 42597000, 3), ('Cirilo', '99988877766', 22911116666, 'Rua Vermelha', 'São Luís', 252, 45290000, 4), ('Uzumaki Naruto', '33355588866', 43966667777, 'Rua Branca', 'João Pessoa', 1024, 46870000, 5), ('Kurosaki Ichigo', '88866644411', 31922221111, 'Rua Dourada', 'Recife', 64, 45290000, 6), ('karl Marx', '33311177788', 82966662222, 'Rua Clara', 'Teresina', 32, 45290000, 7), ('Emiliano Zapatta', '55522211133', 21988881111, 'Rua Escura', 'Natal', 16, 45290000, 8), ('Raimundo Nonato', '44411133377', 71944447777, 'Rua Principal', 'Salvador', 08, 45290000, 2); select * from cliente; insert into contareceber (Cliente_ID, FaturaVenda, DataConta, Valor, DataVencimento, Situação) values (1, 1, 20231001, 1000, 20240101, 1), (2, 1, 20220131, 524.12, 20220331, 3), (3, 1, 20210624, 1320.50, 20231005, 2), (4, 1, 20230612, 687, 20240112, 2), (5, 1, 20221231, 1458.45, 20230722, 1), (6, 1, 20211225, 9.99, 20220309, 2), (7, 1, 20230215, 620, 20231225, 3), (8, 1, 20221112, 798,22, 20230612, 2), (1, 1, 20231111, 355, 20240103, 1); select * from contareceber; Script criação da View: CREATE VIEW `v_consulta` AS select contareceber.id, contareceber.DataVencimento, contareceber.Valor, cliente.Nome, cliente.CPF from cliente join contareceber on cliente.ID = contareceber.Cliente_ID where contareceber.Situação = '1'; select * from v_consulta; Fotos: Figura 2: script de criação do banco de dados (parte 01). Fonte: o autor. Figura 3: script de criação do banco de dados (parte 02). Fonte: o autor. Figura 4: log de criação do banco de dados. Fonte: o autor. Figura 5: script de inserção de dados (parte 01). Fonte: o autor. Figura 6: script de inserção de dados (parte 02). Fonte: o autor. Figura 7: tabela estado. Fonte: o autor. Figura 8: tabela municipio. Fonte: o autor. Figura 9: tabela cliente. Fonte: o autor. Figura 10: tabela contareceber. Fonte: o autor. Figura 11: log inserção de dados nas tabelas. Fonte: o autor. Figura 12: script criação da VIEW. Fonte: o autor. Figura 13: resultado da consulta. Fonte: o autor. 3 CONCLUSÃO Esta atividade permitiu praticar a linguagem SQL, criando umbanco de dados, por meio da Linguagem de Definição de Dados (DDL), inserção de dados com a Linguagem de Manipulação dos Dados (DML) e construção de consultas (VIEW) com Linguagem de Consulta a Dados (DQL). O MySQL Workbench se mostrou um software amigável, de utilização simples, o que facilitou a criação dos scripts para criar, manipular e consultar o banco de dados proposto na atividade. REFERÊNCIAS BETRYBE. SQL: O que é e como usar os principais comandos básicos SQL. Disponível em: < https://blog.betrybe.com/sql/>. Acesso em: 04 out 2023. MIRO. Diagrama de Entidade e Relacionamento. Disponível em: <https://miro.com/pt/diagrama/o-que-e-diagrama-entidade-relacionamento/>. Acesso em: 04 out 2023. MYSQL. MySQL Workbench. Disponível em: <https://www.mysql.com/products/workbench/>. Acesso em: 04 out 2023. WIKIPÉDIA. SQL. Disponível em: <https://pt.wikipedia.org/wiki/SQL>. Acesso em: 04 out 2023.
Compartilhar