Banco de Dados
O que é um Banco de Dados?
- Coleção de dados relacionados, projetada para uma finalidade específica.
- Pode ter qualquer tamanho ou complexidade.
- Representa algum aspecto do mundo real.
Sistema Gerenciador de Banco de Dados (SGBD)
- Coleção de programas que permite criar e manter um B.D.
- Facilita processos como:
- Definição
- Construção
- Manipulação
- Compartilhamento
- Proteção
- Manutenção
Estrutura do Sistema de Banco de Dados
SBD = BD + SGBD + [APLICAÇÕES]
Características dos Bancos de Dados
1. Natureza Autodescritiva
- Os bancos de dados contêm dados + estrutura + restrições.
2. Isolamento entre Programas e Dados
- Os dados são representados de forma conceitual no SGBD.
- Permite independência lógica e independência física.
3. Suporte a Múltiplas Visões
- Diferentes usuários podem ter visões personalizadas do banco.
4. Compartilhamento e Controle de Concorrência
- O SGBD gerencia acessos simultâneos, evitando inconsistências.
Transações e Propriedades ACID
- Atomicidade: A transação é realizada completamente ou não ocorre.
- Consistência: Mantém o banco em um estado válido.
- Isolamento: As transações ocorrem de forma independente.
- Durabilidade: As mudanças são permanentes.
Funções na Administração de Dados
- Administrador de Banco de Dados (DBA): Gerencia BD, SGBD e aplicações.
- Administrador de Dados (DA): Modela e projeta os dados.
Arquitetura ANSI/SPARC (Três Níveis)
- Nível Externo: Visão dos usuários.
- Nível Conceitual: Estrutura lógica do BD.
- Nível Interno: Como os dados são armazenados fisicamente.
Modelos de Dados
1. Modelo Conceitual
- Independente de hardware/software.
- Exemplo: Modelo Entidade-Relacionamento (MER).
2. Modelo Lógico
- Define como os dados serão organizados.
- Exemplo: Modelo Relacional.
3. Modelo Físico
- Especifica como os dados são armazenados.
Modelagem de Dados
- Entidade: Objeto do mundo real.
- Relacionamento: Associação entre entidades.
- Atributos: Características das entidades.
Modelo Relacional e Álgebra Relacional
Operações principais:
- Seleção (σ): Filtra linhas.
- Projeção (π): Seleciona colunas.
- União (U): Une tabelas eliminando duplicatas.
- Interseção (∩): Retorna dados comuns entre tabelas.
- Diferença (-): Retorna dados exclusivos da primeira tabela.
- Junção (⨝): Combina tabelas com base em condições.
Chaves no Modelo Relacional
- Superchave: Identifica unicamente uma linha.
- Chave Candidata: Superchave mínima.
- Chave Primária: Escolhida para identificar a linha.
- Chave Estrangeira: Referencia chave primária de outra tabela.
Visões e Índices
- Visões: Mostram apenas os dados necessários aos usuários.
- Índices: Melhoram o desempenho das consultas.
IMPORTANTE: Conceitos de Banco de Dados caem com frequência em provas!