Introdução a Banco de Dados
Unidade 1 - Fundamentos e Arquitetura de Sistemas de Banco de Dados
Conceitos Fundamentais
O que é um Banco de Dados?
Definição Clássica
Segundo Korth, um banco de dados é uma coleção de dados inter-relacionados que representa informações sobre um domínio específico do mundo real.
Exemplos do Dia a Dia
  • Lista telefônica digital
  • Catálogo de streaming de música
  • Sistema de recursos humanos corporativo
Dados x Informação
Compreender a diferença entre dados brutos e informação processada é fundamental para trabalhar com bancos de dados eficazmente.
Dados
Fatos brutos, isolados e sem contexto que não geram conhecimento por si só. Exemplo: o número "11 98765-4321" sozinho.
Informação
Dados organizados e contextualizados que geram conhecimento útil. Exemplo: "João Silva - 11 98765-4321".
Por que usar Banco de Dados?
Organização Eficiente
Estruturação lógica e segura das informações, facilitando o acesso e manutenção dos dados corporativos.
Consultas Rápidas
Recuperação ágil de informações através de mecanismos otimizados de busca e indexação.
Suporte à Decisão
Fornece dados confiáveis e atualizados para embasar decisões estratégicas nas organizações.
Sistema de Banco de Dados: Componentes Básicos
Um sistema de banco de dados é composto por diversos elementos que trabalham de forma integrada para garantir o funcionamento adequado.
Dados
Informações armazenadas de forma estruturada e organizada.
Hardware
Equipamentos físicos para armazenamento e processamento.
Software (SGBD)
Sistema que gerencia e controla o acesso aos dados.
Usuários
Pessoas que interagem com o sistema em diferentes níveis.

O SGBD atua como intermediário essencial entre os usuários e os dados físicos armazenados.
SGBD
O que é um SGBD?
Sistema de Gerenciamento de Banco de Dados (SGBD) é o software responsável por controlar, organizar e facilitar o acesso aos dados armazenados.
Principais SGBDs do Mercado
Oracle Database
Líder empresarial em soluções corporativas robustas.
MySQL
Popular solução open-source para web.
PostgreSQL
SGBD open-source com recursos avançados.
SQL Server
Solução Microsoft para ambientes Windows.
Objetivos do SGBD
Abstração de Dados
Isolar o usuário dos detalhes complexos sobre como e onde os dados são fisicamente armazenados no sistema.
Independência de Dados
Promover separação entre a estrutura lógica dos dados e as aplicações, permitindo mudanças sem impacto nos programas.
Vantagens do Uso de SGBD
Redução de Redundância
Minimiza duplicação de dados e inconsistências através de normalização e controles centralizados.
Compartilhamento Controlado
Permite acesso simultâneo de múltiplos usuários com controle de concorrência e transações.
Segurança e Integridade
Garante proteção dos dados através de mecanismos de autenticação, autorização e validação.
Quando NÃO usar um SGBD?
Embora os SGBDs ofereçam inúmeras vantagens, existem cenários onde sua utilização pode não ser a melhor escolha.
Aplicações Muito Simples
Sistemas com volume reduzido de dados e poucos usuários podem não justificar a complexidade e custo de um SGBD completo.
Requisitos Muito Específicos
Aplicações com necessidades particulares de desempenho ou armazenamento que não se beneficiam das funcionalidades padrão de um SGBD.
Restrições de Recursos
Ambientes com limitações severas de hardware, orçamento ou expertise técnica para manutenção.
Arquitetura
Arquitetura de Sistemas de Banco de Dados: Visão Geral
A arquitetura moderna de sistemas de banco de dados segue predominantemente o modelo cliente-servidor, com componentes distribuídos.
Cliente
Interface de aplicação que solicita serviços e apresenta resultados ao usuário final.
Servidor
Processa requisições, executa consultas e gerencia o armazenamento dos dados.
Rede
Infraestrutura de comunicação que conecta clientes e servidores.
Arquitetura de SGBD: Camadas
A arquitetura em três camadas proporciona flexibilidade e independência entre os diferentes níveis do sistema.
Nível Físico
Define como os dados são efetivamente armazenados em disco: estruturas de arquivos, índices e métodos de acesso.
Nível Lógico
Descreve quais dados são armazenados e seus relacionamentos através de esquemas, tabelas e restrições.
Nível de Visão
Apresenta aos usuários apenas a parte relevante do banco, simplificando a complexidade e aumentando a segurança.
Independência de Dados
A independência de dados é um dos pilares fundamentais dos sistemas de banco de dados modernos, permitindo evolução sem impacto.
Independência Física
Mudanças na forma de armazenamento físico não afetam o esquema lógico nem as aplicações.
Independência Lógica
Alterações no esquema lógico não requerem modificações nas aplicações que utilizam o banco.
Abstração
Níveis de Abstração em Banco de Dados
Os três níveis de abstração trabalham juntos para proporcionar uma visão organizada e eficiente dos dados.
1
2
3
1
Visão
Usuários
2
Lógico
Estruturas
3
Físico
Armazenamento

  • Nível Físico: Detalhes de como os dados são armazenados fisicamente em disco
  • Nível Lógico (Conceitual): Quais dados existem e como se relacionam
  • Nível de Visão (Externo): Parte do banco acessível a cada tipo de usuário
Modelo Conceitual: Entidade-Relacionamento (ER)
O modelo ER é uma ferramenta fundamental para representar a estrutura lógica de um banco de dados de forma visual e intuitiva.
Entidades
Objetos do mundo real que possuem existência independente, como Aluno, Professor, Produto.
Atributos
Propriedades ou características que descrevem as entidades, como nome, matrícula, data de nascimento.
Relacionamentos
Associações significativas entre entidades, representando interações do mundo real.
Exemplo de Diagrama Entidade-Relacionamento
Vamos visualizar um caso prático de modelagem ER para um sistema acadêmico simples.

Este diagrama representa que um aluno pode estar matriculado em várias turmas, e cada turma pode ter vários alunos matriculados.
Modelo Lógico
O modelo lógico traduz o modelo conceitual para estruturas compatíveis com o SGBD escolhido, mantendo independência do armazenamento físico.
Transformação ER → Relacional
  • Entidades tornam-se tabelas
  • Atributos tornam-se colunas
  • Relacionamentos geram chaves estrangeiras
Elementos do Modelo Lógico
Chaves Primárias
Identificam unicamente cada registro.
Chaves Estrangeiras
Estabelecem relacionamentos entre tabelas.
Restrições
Garantem integridade dos dados.
Modelo Físico
O modelo físico especifica como os dados serão efetivamente armazenados e acessados, focando em desempenho e eficiência.
Índices
Estruturas que aceleram consultas através de organização especial dos dados, permitindo acesso direto.
Arquivos e Partições
Organização física dos dados em disco, incluindo estratégias de particionamento para grandes volumes.
Otimização
Ajustes de parâmetros, buffers e configurações para maximizar performance do sistema.
História
Modelos de Dados Clássicos
A evolução dos modelos de dados reflete a busca contínua por representações mais flexíveis e eficientes da informação.
1
Modelo Hierárquico
Década de 1960. Estrutura em árvore, usado em sistemas legados como IMS da IBM.
2
Modelo em Rede
Década de 1970. Permite relacionamentos mais complexos que o hierárquico.
3
Modelo Relacional
1970-presente. Baseado em teoria matemática, tornou-se o padrão dominante.
Modelo Relacional: Fundamentos
Proposto por Edgar F. Codd em 1970, o modelo relacional revolucionou a área de banco de dados com sua elegância matemática.
Tabelas (Relações)
Dados organizados em estruturas bidimensionais com linhas e colunas.
Tuplas (Linhas)
Cada linha representa uma instância ou registro único de dados.
Atributos (Colunas)
Cada coluna representa uma propriedade ou característica dos dados.
Exemplos de SGBDs Relacionais
O mercado oferece diversas opções de SGBDs relacionais, cada um com características e públicos específicos.
Oracle Database
Solução enterprise robusta, amplamente utilizada em grandes corporações para aplicações críticas.
MySQL
SGBD open-source popular, especialmente em aplicações web e startups.
PostgreSQL
Open-source avançado com recursos enterprise e forte conformidade com padrões SQL.
SQL Server
Solução Microsoft integrada ao ecossistema Windows e Azure cloud.
Linguagens de Banco de Dados
As linguagens de banco de dados são categorizadas conforme sua função específica no gerenciamento dos dados.
DDL - Data Definition Language
Linguagem de Definição de Dados usada para criar e modificar a estrutura do banco: CREATE, ALTER, DROP.
DML - Data Manipulation Language
Linguagem de Manipulação de Dados para inserir, atualizar, deletar e consultar: SELECT, INSERT, UPDATE, DELETE.
DCL - Data Control Language
Linguagem de Controle de Dados para gerenciar permissões e acessos: GRANT, REVOKE.
Usuários de Banco de Dados
Diferentes tipos de usuários interagem com o banco de dados em diversos níveis de complexidade e responsabilidade.
DBA
Administradores que gerenciam e mantêm o sistema.
Desenvolvedores
Programam aplicações que acessam o banco.
Usuários Finais
Utilizam aplicações para interagir com dados.
Analistas
Projetam e modelam estruturas de dados.
Segurança
Segurança e Integridade em Banco de Dados
A proteção dos dados é fundamental para garantir confiabilidade, privacidade e conformidade regulatória.
Controle de Acesso
  • Autenticação de usuários
  • Autorização baseada em papéis
  • Auditoria de operações
  • Criptografia de dados sensíveis
Restrições de Integridade
  • Integridade de entidade (chaves primárias)
  • Integridade referencial (chaves estrangeiras)
  • Restrições de domínio (tipos e valores válidos)
  • Regras de negócio customizadas
Redundância e Consistência
O gerenciamento adequado da redundância é essencial para manter a consistência e qualidade dos dados.
Problemas da Redundância Excessiva
Desperdício de Espaço
Armazenamento duplicado aumenta custos com infraestrutura.
Inconsistência
Mesmos dados em locais diferentes podem ter valores conflitantes.
Complexidade de Atualização
Mudanças precisam ser replicadas em múltiplos locais.

O SGBD utiliza normalização e restrições para minimizar redundância e garantir consistência automática.
Prática
Exemplo Prático: Consulta Simples em SQL
Vamos explorar os comandos básicos para recuperar informações de um banco de dados relacional.
Estrutura Básica de uma Consulta
SELECT nome, email FROM clientes WHERE cidade = 'São Paulo';
SELECT
Especifica quais colunas deseja recuperar dos dados.
FROM
Indica de qual tabela os dados serão extraídos.
WHERE
Define condições para filtrar os registros retornados.
Exercício
Exercício Prático: Criando uma Tabela
Aprenda a definir a estrutura de uma nova tabela utilizando o comando CREATE TABLE.
Comando DDL
CREATE TABLE alunos ( matricula INT PRIMARY KEY, nome VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE, data_nascimento DATE, curso VARCHAR(50) );
Elementos da Definição
  • PRIMARY KEY: Identifica unicamente cada registro
  • NOT NULL: Campo obrigatório
  • UNIQUE: Não permite valores duplicados
  • Tipos de dados: INT, VARCHAR, DATE
Exercício
Exercício Prático: Inserindo Dados
Após criar a estrutura, utilize o comando INSERT para popular a tabela com registros.
Comando DML para Inserção
INSERT INTO alunos (matricula, nome, email, data_nascimento, curso) VALUES (1001, 'Maria Silva', 'maria@email.com', '2000-05-15', 'Sistemas de Informação'), (1002, 'João Santos', 'joao@email.com', '1999-08-22', 'Ciência da Computação'), (1003, 'Ana Costa', 'ana@email.com', '2001-03-10', 'Engenharia de Software');

É possível inserir múltiplos registros em um único comando INSERT, separando cada conjunto de valores por vírgula.
Recapitulação
Recapitulando a Unidade 1
Vamos revisar os principais conceitos abordados nesta unidade sobre fundamentos de banco de dados.
Conceitos Fundamentais
Banco de dados, diferença entre dados e informação, componentes de um sistema de BD.
SGBD e Arquitetura
Papel do SGBD, modelo cliente-servidor, arquitetura em três camadas, independência de dados.
Níveis de Abstração
Modelo conceitual (ER), modelo lógico (tabelas relacionais), modelo físico (armazenamento).
Próximos Passos
Continue sua jornada no mundo dos bancos de dados aprofundando-se nos tópicos avançados.
Modelagem Detalhada
Aprofunde-se em técnicas de modelagem ER avançada, normalização e otimização de esquemas.
SQL Avançado
Explore joins complexos, subconsultas, funções agregadas, procedures e triggers.
Prática com Sistemas Reais
Trabalhe com SGBDs em projetos práticos, desenvolvendo aplicações completas.
Obrigado!
Perguntas?
Este é o momento para esclarecer dúvidas, compartilhar ideias e aprofundar os conceitos apresentados.

Recursos para Estudo Adicional
  • Documentação oficial dos SGBDs (MySQL, PostgreSQL, Oracle)
  • Livros: "Sistemas de Banco de Dados" - Elmasri & Navathe
  • Plataformas online: SQLZoo, HackerRank SQL, LeetCode Database