Fundamentos de SGBD
Unidade 1 - Introdução a Banco de Dados | Aula 2
Capítulo 1
O que é um Banco de Dados?
Um banco de dados é uma coleção organizada de dados inter-relacionados que representam informações sobre um domínio específico do mundo real. Esta definição, proposta por Korth, enfatiza a natureza estruturada e contextual dos dados.
Os dados são armazenados de forma que possam ser facilmente acessados, gerenciados e atualizados, garantindo eficiência e consistência nas operações.
Exemplos Práticos
  • Lista telefônica de uma cidade
  • Catálogo de CDs de uma loja
  • Sistema de recursos humanos
  • Cadastro de alunos universitários
Sistema de Banco de Dados: Componentes Básicos
Dados
Informações armazenadas de forma estruturada e organizada no sistema
Hardware
Servidores, dispositivos de armazenamento e infraestrutura física necessária
Software
Sistema Gerenciador de Banco de Dados e aplicações que interagem com ele
Usuários
Pessoas que interagem com o sistema em diferentes níveis de acesso
O que é um SGBD?
Um Sistema Gerenciador de Banco de Dados (SGBD) é um software sofisticado que permite a criação, manipulação e gerenciamento de bancos de dados. Ele atua como intermediário entre os usuários e os dados físicos, fornecendo abstração e independência.
O SGBD garante a integridade, segurança e eficiência no acesso aos dados, além de oferecer ferramentas para backup, recuperação e controle de concorrência.
Exemplos Populares
  • Oracle Database
  • SQL Server (Microsoft)
  • MySQL
  • PostgreSQL
  • Microsoft Access
Abstração de Dados
O SGBD utiliza três níveis de abstração para separar a forma como os dados são visualizados pelos usuários da forma como são fisicamente armazenados
Abstração de Dados: Os 3 Níveis
1
2
3
1
Visão do Usuário
Interface personalizada
2
Nível Conceitual
Estrutura e relacionamentos
3
Nível Físico
Armazenamento real
Nível Físico: Define como os dados são efetivamente armazenados no disco, incluindo estruturas de dados, índices e organização dos arquivos.
Nível Conceitual: Descreve quais dados estão armazenados e como se relacionam, sem se preocupar com detalhes de implementação física.
Nível de Visão: Apresenta apenas as porções relevantes dos dados para cada tipo de usuário, garantindo segurança e simplicidade.
Funcionalidades
Características e Funcionalidades do SGBD
1
Controle de Redundância
Elimina duplicação desnecessária de dados, reduzindo inconsistências e economizando espaço de armazenamento
2
Integridade dos Dados
Garante que os dados atendam a regras e restrições definidas, mantendo sua validade e confiabilidade
3
Controle de Concorrência
Permite que múltiplos usuários acessem simultaneamente o banco sem comprometer a consistência
4
Segurança e Recuperação
Protege dados contra acessos não autorizados e oferece mecanismos de backup e restauração
Além disso, os SGBDs oferecem linguagens padronizadas como SQL para definição e manipulação de dados, facilitando a interação com o sistema.
Tipos de Usuários de Banco de Dados
Usuários Finais
Interagem com o banco de dados através de aplicações específicas, sem necessidade de conhecimento técnico profundo sobre o sistema
Usuários Sofisticados
Utilizam ferramentas de consulta avançadas para análise de dados, criando relatórios complexos e queries personalizadas
Administradores (DBA)
Gerenciam todo o sistema, controlando acessos, monitorando performance e garantindo a disponibilidade dos dados
Programadores
Desenvolvem aplicações que interagem com o banco de dados, utilizando APIs e linguagens de programação específicas
Interfaces de Usuário em SGBD
Interface de Linha de Comando (CLI)
Oferece controle total através de comandos textuais. Preferida por administradores experientes para operações avançadas e automação de tarefas.
psql -U usuario -d banco SELECT * FROM tabela;
Interfaces Gráficas (GUI)
Fornecem ambiente visual intuitivo para gerenciamento do banco. Facilitam operações como criação de tabelas, execução de queries e visualização de dados.
Exemplos: pgAdmin, SQL Server Management Studio, MySQL Workbench

Interfaces Programáticas: APIs e drivers (JDBC, ODBC, PDO) permitem que aplicações se conectem e manipulem dados programaticamente, integrando bancos de dados a sistemas complexos.
Interface Gráfica em Ação
Ferramentas como o pgAdmin facilitam significativamente a administração do banco de dados, permitindo operações complexas através de uma interface visual intuitiva. Usuários podem criar estruturas, gerenciar dados e monitorar o sistema sem a necessidade de memorizar comandos complexos.
Benefícios
Vantagens do Uso de SGBD
Redução de Redundância
Dados armazenados uma única vez, eliminando duplicações e inconsistências que surgem em sistemas baseados em arquivos
Compartilhamento Controlado
Múltiplos usuários acessam simultaneamente com controles de permissão granulares e gerenciamento de concorrência
Segurança e Integridade
Mecanismos robustos de autenticação, autorização e validação garantem proteção e confiabilidade dos dados
Backup Facilitado
Ferramentas integradas para backup automático e recuperação rápida em caso de falhas ou desastres
Desafios
Desvantagens e Desafios do SGBD
Custo Elevado
Aquisição de licenças, infraestrutura de hardware adequada e manutenção contínua representam investimento significativo, especialmente para SGBDs comerciais como Oracle.
Complexidade Administrativa
Requer profissionais especializados (DBAs) para configuração, otimização e manutenção. A curva de aprendizado pode ser íngreme para organizações sem expertise.
Requisitos de Hardware
Grandes volumes de dados demandam servidores robustos com alta capacidade de processamento, memória e armazenamento, elevando custos operacionais.
Riscos de Segurança
Centralização dos dados cria ponto único de falha. Vulnerabilidades de segurança podem expor informações críticas se não forem adequadamente gerenciadas.
Impacto do SGBD na Organização
A utilização de um SGBD transforma radicalmente a gestão de dados, oferecendo melhorias substanciais em todos os aspectos críticos do gerenciamento de informações corporativas.
Fundamentos
Modelagem de Banco de Dados: Conceitos Básicos
Dados vs. Informações
Dados são fatos brutos sem contexto, enquanto informações são dados processados e organizados que possuem significado e utilidade para tomada de decisões.
Elementos Fundamentais
  • Campo: Menor unidade de dado, como "nome" ou "idade"
  • Registro: Conjunto de campos relacionados, como dados de um cliente
  • Tabela: Coleção de registros com estrutura comum
A modelagem adequada garante organização eficiente, facilitando consultas e manutenção.
Chaves em Banco de Dados
Chave Primária
Identifica unicamente cada registro em uma tabela. Não pode conter valores nulos ou duplicados. Exemplo: CPF em tabela de clientes.
Chave Estrangeira
Estabelece relacionamentos entre tabelas, referenciando a chave primária de outra tabela. Garante integridade referencial.
Integridade Referencial
Assegura que relações entre tabelas permaneçam consistentes, impedindo registros órfãos ou referências inválidas.
Normalização: Garantindo Qualidade dos Dados
A normalização é um processo sistemático de organizar dados em tabelas, eliminando redundâncias e anomalias de atualização. Este processo segue regras conhecidas como formas normais.
01
Primeira Forma Normal (1FN)
Elimina grupos repetitivos e garante atomicidade dos dados. Cada campo deve conter apenas valores indivisíveis.
02
Segunda Forma Normal (2FN)
Remove dependências parciais. Todos os atributos não-chave devem depender completamente da chave primária.
03
Terceira Forma Normal (3FN)
Elimina dependências transitivas. Atributos não-chave não devem depender de outros atributos não-chave.

Benefícios: A normalização melhora a manutenção, reduz anomalias de inserção/atualização/exclusão e pode melhorar a performance em operações de escrita.
Exemplo Prático: Primeira Forma Normal
Antes da 1FN (Dados não normalizados)
Viola a atomicidade - múltiplos valores em um único campo

Depois da 1FN (Dados normalizados)
Cada campo contém apenas valores atômicos, eliminando grupos repetitivos
Mercado
Exemplos de SGBD no Mercado
Oracle Database
Líder em grandes corporações e aplicações enterprise. Oferece recursos avançados de alta disponibilidade, segurança robusta e escalabilidade excepcional.
MySQL e PostgreSQL
Soluções open source extremamente populares. MySQL destaca-se em aplicações web, enquanto PostgreSQL é reconhecido por conformidade com padrões SQL.
SQL Server
Integração perfeita com o ecossistema Microsoft. Amplamente utilizado em ambientes Windows, oferecendo ferramentas robustas de business intelligence.
Microsoft Access
Solução ideal para pequenos projetos e aplicações desktop. Interface amigável permite desenvolvimento rápido para usuários não técnicos.
Arquitetura Cliente-Servidor em SGBD
Conceito Fundamental
Separação clara entre o servidor de banco de dados (que armazena e gerencia os dados) e os clientes (aplicações que solicitam e manipulam informações).
A comunicação ocorre através de protocolos de rede, permitindo acesso remoto e distribuído aos dados corporativos.
Vantagens Principais
  • Escalabilidade horizontal e vertical
  • Segurança centralizada
  • Gerenciamento simplificado
  • Manutenção independente
Arquitetura Distribuída
Múltiplos clientes acessam um servidor centralizado através da rede, garantindo eficiência, segurança e escalabilidade para aplicações corporativas modernas
Operações Básicas em Banco de Dados
Inserção (INSERT)
Adiciona novos registros às tabelas
INSERT INTO clientes VALUES ('João', 'SP');
Consulta (SELECT)
Recupera dados armazenados
SELECT * FROM clientes WHERE cidade = 'SP';
Atualização (UPDATE)
Modifica registros existentes
UPDATE clientes SET cidade = 'RJ' WHERE id = 1;
Exclusão (DELETE)
Remove registros das tabelas
DELETE FROM clientes WHERE id = 1;
A linguagem SQL (Structured Query Language) é o padrão universal para realizar essas operações em praticamente todos os SGBDs relacionais do mercado.
Proteção
Segurança em Banco de Dados
1
Controle de Acesso
Sistema de autenticação verifica identidade dos usuários. Autorização granular define permissões específicas por usuário ou grupo, limitando operações permitidas.
2
Criptografia de Dados
Proteção de dados em repouso e em trânsito usando algoritmos avançados. Informações sensíveis permanecem ilegíveis sem chaves de decriptação apropriadas.
3
Auditoria e Monitoramento
Registro detalhado de todas as operações realizadas no banco. Permite rastreamento de atividades suspeitas e conformidade com regulamentações como LGPD.
Backup e Recuperação
Estratégias de Backup
Backup Completo
Cópia integral de todos os dados. Mais demorado, mas simplifica a recuperação
Backup Incremental
Cópia apenas das alterações desde o último backup. Rápido e eficiente em espaço
Backup Diferencial
Cópia das mudanças desde o último backup completo. Equilíbrio entre velocidade e facilidade de recuperação
Procedimentos robustos de backup e recuperação são essenciais para garantir a disponibilidade e continuidade dos negócios em caso de falhas de hardware, erros humanos ou desastres.
Fluxo de Backup e Recuperação
1
Backup Agendado
Execução automática em horários de baixo uso
2
Armazenamento Seguro
Dados salvos em múltiplas localizações
3
Detecção de Falha
Sistema identifica problema crítico
4
Recuperação
Restauração rápida dos dados
5
Validação
Verificação de integridade pós-recuperação
Futuro
Tendências Atuais em SGBD
Bancos de Dados NoSQL
Projetados para dados não estruturados e semi-estruturados. Oferecem flexibilidade de esquema e escalabilidade horizontal para big data. Exemplos: MongoDB, Cassandra, Redis.
Cloud Computing e DBaaS
Database as a Service elimina necessidade de infraestrutura própria. Provedores como AWS, Azure e Google Cloud oferecem SGBDs gerenciados com escalabilidade automática.
Big Data e Tempo Real
Processamento de volumes massivos de dados com latência mínima. Tecnologias como Apache Spark e streaming analytics transformam decisões empresariais.
Prática
Exercício Prático: Criando um Banco de Dados Simples
Passo 1: Conectar ao pgAdmin
Abra o pgAdmin e conecte-se ao servidor PostgreSQL local usando suas credenciais de administrador.
Passo 2: Criar Banco de Dados
Clique com botão direito em "Databases" e selecione "Create > Database". Nomeie como "loja_exemplo".
Passo 3: Criar Tabela
Dentro do novo banco, crie tabela "produtos" com campos: id (serial), nome (varchar), preco (decimal).
Passo 4: Inserir e Consultar
Use Query Tool para inserir produtos e executar consultas SELECT para visualizar os dados.

💡 Dica: Documente cada passo executado. Esta prática ajuda a consolidar o aprendizado e serve como referência futura.
Desafios Comuns na Administração de SGBD
Gerenciamento de Concorrência
Múltiplos usuários tentando acessar os mesmos dados simultaneamente podem causar bloqueios (locks). Configurar níveis de isolamento adequados é crucial para equilibrar consistência e performance.
Otimização de Consultas
Queries mal escritas podem degradar severamente a performance. Uso estratégico de índices, análise de planos de execução e refatoração de SQL são habilidades essenciais do DBA.
Monitoramento de Performance
Identificação proativa de gargalos através de ferramentas de monitoramento. Tuning contínuo de parâmetros de configuração, memória e I/O garante operação eficiente.
Resumo
Resumo da Aula
Fundamentos de Banco de Dados
Compreendemos a definição de banco de dados como coleção organizada de dados inter-relacionados e os componentes essenciais de um sistema: dados, hardware, software e usuários.
SGBD e suas Características
Exploramos o papel do SGBD como software gerenciador, suas funcionalidades principais (controle de redundância, integridade, concorrência, segurança) e os diferentes tipos de usuários e interfaces disponíveis.
Vantagens e Desafios
Analisamos os benefícios significativos do uso de SGBD (redução de redundância, compartilhamento controlado, segurança) e os desafios a serem considerados (custo, complexidade, requisitos de hardware).
Modelagem e Normalização
Estudamos conceitos fundamentais como chaves primárias e estrangeiras, além da importância da normalização para garantir qualidade e eficiência no armazenamento de dados.
Próximos Passos
Preparação para a Próxima Aula
Tarefas Recomendadas
Instalação do PostgreSQL
Baixe e instale o PostgreSQL e pgAdmin em seu computador pessoal para prática
Estudo de SQL Básico
Revise comandos fundamentais: SELECT, INSERT, UPDATE, DELETE e suas sintaxes
Exploração de Ferramentas
Familiarize-se com a interface do pgAdmin e outras ferramentas de administração
Prática com Exemplos
Crie bancos de dados simples e experimente diferentes tipos de consultas
Obrigado!
Perguntas e Discussão
Contato para Dúvidas
Não hesite em entrar em contato para esclarecimentos sobre o conteúdo da aula. Materiais complementares, exercícios adicionais e referências bibliográficas estão disponíveis no ambiente virtual de aprendizagem.
Continue Praticando
O domínio de banco de dados vem com a prática constante. Explore diferentes SGBDs, experimente com projetos pessoais e aprofunde-se nos conceitos apresentados. O mercado valoriza profissionais com sólido conhecimento em gestão de dados.

💡 Lembre-se: A teoria é fundamental, mas a prática consolida o aprendizado. Dedique tempo para experimentar e explorar!