Prévia do material em texto
PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA: Programação Em Banco De Dados Aluna : Taciele Vitória M Costa Curso: Superior de Tecnologia em Desenvolvimento Web Introdução Métodos Banco de dados é um sistema estruturado para coletar, armazenar e acessar dados de forma eficiente, e é muito importante para o desenvolvimento de sistemas que precisam armazenar informações. O objetivo desta atividade é colocar em prática o conhecimento adquirido nas aulas com a criação de banco de dados, utilizando o programa o MySQL Workbench (MySQL Community Server)c, criar a 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 e consultar os dados armazenados por meio da criação de uma visão (View). Etapa 1 Criar 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 . Scre e n sh o t W o rkb e n ch M ySQ L Resultados As chaves primárias devem ser colocadas todas como autoincremento. Respeite os relacionamentos, tipos, precisões e restrições de não nulo. O campo “Situação” da tabela “ContaReceber” deve ser do tipo ENUM e possuir apenas os valores 1, 2 ou 3, sendo 1 – Conta registrada, 2 – Conta cancelada, 3 – Conta paga. Etapa 2 Criar 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. Etapa 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: • ID da conta a receber • Nome e CPF do Cliente associado à conta • Data de vencimento da conta • Valor da conta Etapa 1 USE Loja; CREATE TABLE Cliente ( ID INT AUTO_INCREMENT PRIMARY KEY, Nome VARCHAR(80) NOT NULL, CPF VARCHAR(11) NOT NULL, Celular VARCHAR(11), EndLogradouro VARCHAR(100) NOT NULL, EndNumero VARCHAR(10) NOT NULL, EndMunicipio INT NOT NULL, EndCEP VARCHAR(8), CONSTRAINT fk_Cliente_Municipio1 FOREIGN KEY (EndMunicipio) REFERENCES Municipio(ID) ); CREATE TABLE Estado ( ID INT AUTO_INCREMENT PRIMARY KEY, Nome VARCHAR(50) NOT NULL, UF CHAR(2) NOT NULL ); CREATE TABLE Municipio ( ID INT AUTO_INCREMENT PRIMARY KEY, Estado_ID INT NOT NULL, Nome VARCHAR(80) NOT NULL, CodIBGE INT NOT NULL, CONSTRAINT fk_Municipio_Estado1 FOREIGN KEY (Estado_ID) REFERENCES Estado(ID) ); CREATE TABLE ContaReceber ( ID INT AUTO_INCREMENT PRIMARY KEY, Cliente_ID INT NOT NULL, FaturaVendaID INT NOT NULL, DataConta DATE NOT NULL, DataVencimento DATE NOT NULL, Valor DECIMAL(18, 2) NOT NULL, Situacao ENUM("1", "2", "3") NOT NULL, CONSTRAINT fk_ContaReceber_Cliente FOREIGN KEY (Cliente_ID) REFERENCES Cliente(ID) ); CREATE INDEX idx_Cliente_Municipio ON Cliente (EndMunicipio); CREATE INDEX idx_ContaReceber_Cliente ON ContaReceber (Cliente_ID); CREATE INDEX idx_ContaReceber_Situacao ON ContaReceber (Situacao); Etapa 2 - Inserir dados na Tabela. INSERT INTO Cliente (Nome, CPF, Celular, EndLogradouro, EndNumero, EndMunicipio, EndCEP) VALUE ('João da Costa', '12345678901', '11987654321', 'Rua A', '123', 1,'01001000'), ('Maria Candida', '23456789012', '21987654321', 'Rua B', '456', 3,'20000001'), ('José Silva', '34567890123', '31987654321', 'Rua C', '789', 2, '13000001'); INSERT INTO Estado (Nome, UF) VALUES ('São Paulo', 'SP'), ('Rio de Janeiro', 'RJ'), ('Minas Gerais', 'MG'); INSERT INTO Municipio (Estado_ID, Nome, CodIBGE) VALUES (1, 'São Paulo', 3550308), (1, 'Campinas', 3509502), (2, 'Rio de Janeiro', 3304557); INSERT INTO ContaReceber (Cliente_ID, FaturaVendaID, DataConta, DataVencimento, Valor, Situacao) VALUES (1, 1, '2022-01-01', '2022-02-01', 1000.00, '1'), (2, 2, '2022-01-02', '2022-02-02', 2000.00, '2'), (3, 3, '2022-01-03', '2022-02-03', 3000.00, '3'); Etapa 3 - Script “consulta.sql” CREATE VIEW contas_nao_pagas AS SELECT cr.ID AS 'ID Conta', c.Nome AS 'Nome Cliente', c.CPF AS 'CPF Cliente',cr.DataVencimento AS 'Data de Vencimento', cr.Valor AS 'Valor' FROM ContaReceber cr JOIN Cliente c ON cr.Cliente_ID = c.ID WHERE cr.Situacao = '1'; SELECT * FROM contas_nao_pagas; Conclusão Esta atividade foi bastante proveitosa para aplicar as informações obtidas em sala de aula. Utilizando as ferramentas MySQL Server e MySQL Workbench, foram empregadas as instruções de definição, manipulação e consulta da linguagem SQL. Adicionalmente, foram estritamente seguidas as diretrizes e boas práticas durante a criação do banco de dados, como a configuração das chaves primárias com incremento automático, a aderência aos relacionamentos estabelecidos e a definição adequada dos tipos, precisões e restrições de não nulo. Na fase subsequente, foram utilizadas as instruções de manipulação (DML) para preencher as tabelas do banco de dados, inserindo três registros em cada uma delas. Por fim, por meio das instruções de consulta (DQL), foi elaborado um script que criou uma visualização (VIEW) contendo as contas pendentes de pagamento (situação = 1), juntamente com informações relevantes, como o ID da conta, nome e CPF do cliente associado, data de vencimento e valor da conta. Ao finalizar esta atividade, fica evidente a importância de compreender e aplicar corretamente as normas de um banco de dados. A criação de tabelas com chaves primárias autoincrementáveis e a definição precisa de tipos de dados e restrições são fundamentais para a integridade e eficiência do banco. A habilidade de inserir dados de forma estruturada, respeitando os relacionamentos entre tabelas, demonstra o poder da linguagem SQL na manipulação de dados. Além disso, a construção de consultas que geram visões específicas, como a de contas a receber não pagas, destaca a capacidade de filtrar e apresentar informações relevantes a partir de uma grande quantidade de dados. Esta atividade não apenas reforça conceitos técnicos essenciais para a gestão de bancos de dados, mas também desenvolve o raciocínio lógico e a atenção aos detalhes, competências valiosas para o desenvolvimento de sistemas com Banco de Dados.. Referências https://canva.com Ambiente usado para criação deste tabalho https://dev.mysql.com/downloads/workbench/ Ferramenta usada para criação do Diagrama