Prévia do material em texto
11
ANHANGUERA – MANAUS-AM
ENGENHARIA DE SOFTWARE
Antonio Cleber Canto Saraiva / RA:3751726403
PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA:
NOME DA DISCIPLINA: PROGRAMAÇÃO E DESENVOLVIMENTO DE BANCO DE DADOS
MANAUS/AM
1
2025
Antonio Cleber Canto Saraiva / RA:3751726401
PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA
NOME DA DISCIPLINA: 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.
Orientador: Anderson Emidio de Macedo Goncalves
MANAUS/AM
2
2025
SUMÁRIO
Sumário
INTRODUÇÃO 4
DESENVOLVIMENTO 5
PROGRAMAÇÃO E DESENVOLVIMENTO DE BANCO DE DADOS 5
MODELAAGEM DE DADOS 5
CONCLUSÃO 7
ANEXOS 8
1 INTRODUÇÃO
O desenvolvimento de sistemas de banco de dados desempenha um papelcrucial no gerenciamento e processamento eficiente de grandes volumes de dados nas mais diversas aplicações, desde sistemas bancários até plataformas de comércio eletrônico, passando por redes sociais, sistemas de saúde, educação, logística e muito mais. À medida que a digitalização e a coleta de dados em tempo real aumentam, a necessidade de um banco de dados bem estruturado e otimizado também cresce. Sistemas robustos de banco de dados são essenciais para garantir o funcionamento contínuo e eficiente de serviços que atendem a milhares ou até milhões de usuários simultaneamente.
A programação e o desenvolvimento de banco de dados envolvem a criação de estruturas adequadas para armazenar dados de forma eficiente, além da manipulação dessas informações por meio de operações de consulta, atualização e exclusão. Tais operações devem ser realizadas de forma rápida e segura, sem comprometer a integridade dos dados. A otimização de desempenho, que inclui a escolha adequada de índices, o particionamento de tabelas e a minimização de operações de leitura e escrita excessivas, são aspectos fundamentais para garantir que as informações sejam acessadas e mantidas de maneira eficaz e segura. Esses fatores são decisivos para o desempenho de sistemas de grande porte e alta demanda, como os encontrados em e-commerce, serviços bancários online e redes sociais.
Este trabalho aborda as principais etapas do processo de desenvolvimento de banco de dados, começando pela análise de requisitos. Nesse estágio inicial, é fundamental entender as necessidades do sistema, os tipos de dados a serem armazenados e a forma como esses dados interagem entre si. Essa análise orienta a modelagem de dados, que é a base para a definição de um banco de dados eficiente e funcional.
A modelagem de dados é uma das fases mais importantes, pois é nela que se define a estrutura lógica do banco, as entidades e os relacionamentos entre elas, utilizando técnicas como o Diagrama de Entidade-Relacionamento (DER). A modelagem garante que os dados sejam organizados de maneira que permitam fácil acesso e manipulação, sem redundâncias ou inconsistências. A definição da estrutura física do banco de dados, como as tabelas, índices e chaves, é outro passo fundamental para garantir a eficiência das operações realizadas no banco.
Além da criação das tabelas e definição das chaves primárias e estrangeiras, um passo crucial do desenvolvimento é a programação de consultas SQL, que são responsáveis pela comunicação entre o banco de dados e os sistemas que utilizam essas informações. Essas consultas devem ser otimizadas para garantir que o banco de dados consiga lidar com grandes volumes de dados e realizar operações complexas sem perder desempenho.
A manutenção contínua de um banco de dados é essencial para garantir sua integridade e eficiência ao longo do tempo. Isso envolve a realização de backups regulares, a monitoração do desempenho, a atualização de versões de software, e a implementação de medidas de segurança para proteger os dados contra acessos não autorizados. Testar o banco de dados também é uma etapa indispensável para verificar se ele atende aos requisitos de desempenho e segurança, além de garantir que todas as operações de inserção, atualização e exclusão de dados estejam funcionando conforme esperado.
2 DESENVOLVIMENTO
A programação de banco de dados é um processo que envolve a implementação de código e scripts para possibilitar a interação com o banco de dados, desde a criação de tabelas até a elaboração de consultas SQL que manipulam dados, como inserção, atualização, exclusão e recuperação. Nesse contexto, o SQL (Structured Query Language) desempenha um papel fundamental, sendo a linguagem usada para definir, manipular e consultar os dados armazenados no banco. A programação de banco de dados também engloba a criação de stored procedures, triggers e funções personalizadas, que são utilizadas para automatizar processos e otimizar a manipulação de dados de maneira eficiente.
Por outro lado, o desenvolvimento de banco de dados abrange a construção da arquitetura geral que suportará as operações de armazenamento e manipulação de dados. Esta etapa começa com a modelagem de dados, onde se define as entidades que irão compor o banco de dados e os relacionamentos entre elas. Além disso, o desenvolvimento de banco de dados inclui a definição de índices para otimizar a performance das consultas, a normalização dos dados para evitar redundâncias, e a implementação de estratégias de segurança para proteger o banco contra acessos não autorizados e perdas de dados. A manutenção do banco de dados também é uma parte importante do desenvolvimento, sendo necessária para garantir que o sistema continue funcionando de maneira eficiente ao longo do tempo, realizando backups regulares, atualizações de versão e otimização de consultas.
O objetivo principal do desenvolvimento de banco de dados é garantir a integridade dos dados, ou seja, assegurar que as informações armazenadas no banco sejam precisas, consistentes e atualizadas. Além disso, o banco de dados deve ser capaz de escalar para suportar um aumento no volume de dados ou na complexidade das operações. Para isso, é necessário projetar o banco de dados de maneira que ele seja capaz de processar grandes volumes de dados sem perder desempenho. A facilidade de manutenção também é essencial, pois o sistema de banco de dados deve ser fácil de atualizar e gerenciar, sem causar impactos negativos nas operações.
O objetivo deste portfólio foi desenvolver um banco de dados funcional, implementando um conjunto de tabelas relacionadas, consultas eficientes e garantindo a integridade e a segurança dos dados. O projeto tem como base o desenvolvimento de um sistema de banco de dados para uma loja de e-commerce, onde o gerenciamento de informações como produtos, clientes, pedidos e pagamentos é fundamental.
A modelagem de dados desempenha um papel central no desenvolvimento de banco de dados, sendo o primeiro passo para a criação de um banco bem estruturado. Diagramas de Entidade-Relacionamento (DER) são uma ferramenta fundamental nesta fase, pois permitem visualizar as entidades e os relacionamentos que farão parte do banco de dados. Com base nessa modelagem, é possível criar um modelo físico do banco de dados no Sistema de Gerenciamento de Banco de Dados (SGBD), onde são definidas as tabelas, índices e chaves. As chaves primárias e estrangeiras são fundamentais para garantir a integridade referencial entre as tabelas, enquanto os índices são criados para otimizar o tempo de resposta das consultas.
Após a modelagem e definição da estrutura do banco de dados, entra-se na fase de programação de consultas SQL. As consultas são utilizadas para interagir com os dados do banco, seja para inserção, atualização, exclusão ou leitura. Além disso, é necessário realizar testes rigorosos para garantir que as consultas sejam eficientes e que o banco de dados esteja funcionando corretamente. Durante os testes, é importante verificar se o banco está lidando bem com as operações de leitura e escrita, se as consultas são executadas rapidamente e se não há problemas de integridade ou de segurança.
A normalizaçãoe a desnormalização de dados são técnicas cruciais que influenciam diretamente o desempenho e a eficiência do banco de dados. A normalização envolve o processo de organização dos dados em tabelas menores e mais específicas, a fim de eliminar redundâncias e evitar anomalias durante as operações de inserção, atualização e exclusão. Esse processo resulta em um banco de dados mais organizado, que facilita a manutenção e garante a integridade dos dados. Por outro lado, a desnormalização é o processo oposto, que envolve a combinação de tabelas para otimizar o desempenho das consultas de leitura. Embora a desnormalização possa resultar em redundância de dados, ela pode ser útil em cenários onde o desempenho da leitura é mais crítico que a integridade dos dados, como em sistemas de leitura intensiva.
Além disso, o uso de índices é uma técnica importante para otimizar o desempenho do banco de dados. Os índices são estruturas de dados que aceleram a busca e recuperação de informações nas tabelas, tornando as consultas mais rápidas. No entanto, é importante usar índices de forma balanceada, pois a criação de índices em excesso pode afetar o desempenho das operações de inserção e atualização.
A segurança do banco de dados também é uma preocupação constante, pois ele armazena dados valiosos e muitas vezes confidenciais. É fundamental implementar estratégias de segurança, como criptografia de dados, controle de acesso e auditoria de acessos, para garantir que apenas usuários autorizados possam manipular ou visualizar as informações armazenadas. Além disso, backup regular e recuperação de desastres são estratégias essenciais para evitar a perda de dados importantes em caso de falhas no sistema ou ataques cibernéticos.
5. CONCLUSÃO
O desenvolvimento de bancos de dados é uma disciplina essencial para a construção de sistemas de software eficazes e escaláveis. Envolve uma série de etapas e considerações técnicas, como modelagem de dados, implementação de consultas SQL e otimização de desempenho. O sucesso de um banco de dados depende de sua capacidade de atender aos requisitos de dados do sistema, garantindo integridade, segurança e desempenho.
Este portfólio de desenvolvimento de banco de dados proporcionou uma visão prática e detalhada do processo de criação de um banco de dados relacional. Desde a modelagem das entidades e seus relacionamentos, até a implementação das tabelas, consultas e testes, foram aplicadas as melhores práticas para garantir que o sistema fosse eficiente, seguro e de fácil manutenção.
A implementação de um banco de dados para um sistema de e-commerce é um desafio, pois exige a manipulação de grandes volumes de dados e a necessidade de garantir a integridade e a segurança das informações. Este projeto demonstrou como a programação de banco de dados, aliada à normalização, segurança e otimização, pode resultar em um sistema robusto e escalável, capaz de atender às necessidades de uma loja virtual em constante crescimento.
Ao seguir as melhores práticas de programação de banco de dados e escolher as tecnologias adequadas, é possível construir sistemas robustos que podem escalar com as necessidades dos negócios e fornecer uma base sólida para a manipulação eficiente de dados.
6. ANEXOS
Diagrama
Como ficaria o script SQL
Agora, com base nesse modelo, o script SQL seria ajustado para refletir os relacionamentos. O exemplo de criação das tabelas já foi fornecido anteriormente, mas com esse modelo claro, você pode visualizar como as entidades se relacionam entre si.
Caso você queira criar o diagrama visualmente no MySQL Workbench, basta seguir os passos:
1. No MySQL Workbench, crie um novo modelo EER (Diagrama de Entidade-Relacionamento).
2. Adicione as entidades conforme o que descrevemos.
3. Defina as chaves primárias e estrangeiras.
4. Conecte as entidades com os relacionamentos.
Modelo de Dados
O modelo de dados foi projetado com base em um diagrama de entidade-relacionamento (DER) que descreve as tabelas e os relacionamentos entre elas. As principais entidades são:
· Clientes: Representa os clientes da loja.
· Produtos: Representa os produtos disponíveis para venda.
· Pedidos: Representa as compras realizadas pelos clientes.
· Itens_Pedido: Representa os itens que compõem cada pedido.
· Categorias: Representa as categorias aos quais os produtos pertencem.
Tabela: Clientes
Tabela: Produtos
Tabela: Pedidos
-- Verifica qual banco está em uso
SELECT DATABASE();
-- Lista as tabelas no banco de dados
SHOW TABLES;
-- Criar a tabela Cliente
CREATE TABLE IF NOT EXISTS Cliente (
idCliente INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
cpf VARCHAR(14) UNIQUE NOT NULL
);
-- Criar a tabela ContaReceber
CREATE TABLE IF NOT EXISTS ContaReceber (
idConta INT AUTO_INCREMENT PRIMARY KEY,
idCliente INT NOT NULL,
vencimento DATE NOT NULL,
valor DECIMAL(10,2) NOT NULL,
situacao ENUM('1', '2', '3') NOT NULL,
FOREIGN KEY (idCliente) REFERENCES Cliente(idCliente)
);
-- Criar a tabela Pagamento
CREATE TABLE IF NOT EXISTS Pagamento (
idPagamento INT AUTO_INCREMENT PRIMARY KEY,
idConta INT NOT NULL,
dataPagamento DATE NOT NULL,
valorPago DECIMAL(10,2) NOT NULL,
FOREIGN KEY (idConta) REFERENCES ContaReceber(idConta)
);
-- Inserir Clientes (se ainda não existirem)
INSERT INTO Cliente (nome, cpf) VALUES
('João Silva', '123.456.789-00'),
('Maria Oliveira', '987.654.321-00'),
('Carlos Souza', '567.890.123-45');
-- Inserir Contas a Receber
INSERT INTO ContaReceber (idCliente, vencimento, valor, situacao) VALUES
(1, '2025-03-15', 150.00, '1'),
(2, '2025-03-10', 200.00, '1'),
(3, '2025-03-05', 300.00, '3');
-- Inserir Pagamentos
INSERT INTO Pagamento (idConta, dataPagamento, valorPago) VALUES
(3, '2025-02-28', 300.00);
image6.png
image1.png
image2.png
image3.png
image4.png
image5.png