Unidade 1 - Banco de Dados
Unidade 1 - Banco de Dados
Unidade 1 - Banco de Dados
1. Tecnologia de BD
2. Modelo Entidade-Relacionamento
3. Modelos Relacionais
4. SQL
5. Projeto de Banco de Dados
6. Acesso a BD
7. Restrições de Integridade em BDR
8. Projeto Físico de Banco de Dados
2
1.1 Conceitos Básicos
•Definição:
•Um banco de dados é uma coleção
de dados operacionais
armazenados usados pelas
aplicações de uma determinada
organização.
C. J. Date
4
1.1 Conceitos Básicos
•Definição:
•Um banco de dados é uma coleção
lógica e coerente de dados com
algum significado inerente.
R. Elmasri e S. Navathe
5
1.1 Conceitos Básicos
6
1.2 Importância de Sistemas de BD
• Processamento de arquivos (anos 60 e 70)
7
1.2 Importância de Sistemas de BD
8
1.2 Importância de Sistemas de BD
9
1.2 Importância de Sistemas de BD
10
1.2 Importância de Sistemas de BD
11
1.2 Importância de Sistemas de BD
• Estrutura de um SGBD
12
1.2 Importância de Sistemas de BD
•Soluções:
•Eliminação de redundâncias e
inconsistências;
•Maior facilidade no acesso aos dados;
•Padronização no formato dos dados;
•Manutenção de integridade mais fácil;
•Controle de transações;
•Controle de acesso concorrente;
•Aplicação de restrições de segurança.
13
1.3 Arquitetura de Três Camadas
14
1.3 Arquitetura de Três Camadas
•Instâncias x Esquemas
• Instância do BD (ou estado do BD):
• Conjunto de informações contidas em determinado
momento em um banco de dados;
• Os dados mudam ao longo do tempo.
• Esquema do BD:
• Projeto geral do banco de dados;
• Alterado com pouca freqüência.
15
1.3 Arquitetura de Três Camadas
•Independência de dados
•Independência física de dados
• Capacidade de modificar o esquema físico
sem modificar o esquema lógico
•Independência lógica de dados
• Capacidade de modificar o esquema lógico
sem modificar o esquema de visão
16
1.4. Modelo de Dados
•Conjunto de ferramentas
conceituais para descrição de
dados, relacionamentos de dados,
semântica de dados e regras de
consistência
17
1.4. Modelo de Dados
18
1.5. Classificação
19
1.5. Classificação
20
1.5. Classificação
•Modelo Entidade-Relacionamento
• Tem por base a percepção do mundo real como
um conjunto de objetos básicos, chamados
entidades e do relacionamento entre estes
objetos.
• Uma entidade é uma “coisa” ou um “objeto” do
mundo real que pode ser identificado por outros
objetos.
• Atributos são características das entidades.
21
1.5. Classificação
22
1.5. Classificação
23
1.5. Classificação
•Modelo Relacional
•Utiliza um conjunto de elementos
chamados de tabelas para representar
tanto os dados como a relação entre esses
dados.
24
1.5. Classificação
•Modelo de Rede
•Nesse modelo, os dados são representados
por um conjunto de registros e as relações
entre estes registros são representadas por
links (ligações), as quais podem ser vistas
pelos ponteiros.
25
1.5. Classificação
•Modelo Hierárquico
•Difere do Modelo de Rede porque tem
os registros armazenados em árvores em
vez de gráficos arbitrários.
26
1.5. Classificação
•Modelos Físicos
•Usados para descrever os dados no seu
nível mais baixo.
•Há poucos modelos físicos de dados em
uso. Os mais conhecidos são o modelo
unificado (unifying model) e o modelo de
partição de memória (frame-memory
model).
27
1.5. Classificação
•Quanto à Arquitetura
• Centralizada
• BD Centralizado
• Distribuída
• BD Cliente-Servidor - distribuição de funções
• BD Paralelo – distribuição do controle de funções
• BD Distribuído - distribuição de dados
• BD Heterogêneo - distribuição de dados
• BD Móvel - distribuição de funções e dados
28
1.6. Estrutura do Sistema
Processador de
Consultas
Gerenciador de
Transações
Sistema de
Armazenamento
Dados + metadados
29
1.6. Estrutura do Sistema
• Sistema de Armazenamento
• Gerenciador de Buffer
• Recupera dados em disco e os carrega na
memória principal como páginas
Alterações de
• 1 bloco (disco) = 1 página (buffer) Esquema Consultas Atualizações
• Gerenciador de Arquivos
• Controla o armazenamento físico em disco
Processador de
• Gerencia a alocação de espaço em disco Consultas Gerenciador de
Transações
Sistema de
Armazenamento
Dados + metadados
30
1.6. Estrutura do Sistema
• Processador de consulta
• Pré-compilador DML
• traduz comandos DML inseridos em
programas de aplicação
Alterações de
• Compilador DML Esquema Consultas Atualizações
• traduz comandos DML em instruções de
baixo nível, compreendidas pelo componente
de execução de consultas Processador de
Consultas Gerenciador de
Transações
Sistema de
Armazenamento
Dados + metadados
31
1.6. Estrutura do Sistema
• Processador de consulta
• Interpretador DDL
• interpreta os comandos DDL e registra-os em
um conjunto de tabelas que contêm os
metadados (dados capazes de descrever Alterações de
outros dados ) Esquema Consultas Atualizações
• Mecanismo de consultas
• executam instruções de baixo nível geradas Processador de
pelo compilador DML Consultas Gerenciador de
Transações
Sistema de
Armazenamento
Dados + metadados
32
1.6. Estrutura do Sistema
• Gerenciador de Transação
• Garante que o banco de dados
permaneça em estado consistente
(correto) a despeito de falhas no
Alterações de
sistema Esquema Consultas Atualizações
• Assegura que todas as transações
executem corretamente Processador de
• Propriedades ACID Consultas Gerenciador de
Transações
Sistema de
Armazenamento
Dados + metadados
33
1.6. Estrutura do Sistema
• Outras estruturas
• Arquivo de dados
• Armazena os dados do BD
• Dicionário de dados Alterações de
• Armazena os metadados relativos a Esquema Consultas Atualizações
estrutura do BD
• Índices Processador de
• Proporcionam acesso mais rápido aos itens Consultas Gerenciador de
de dados Transações
• Estatística de dados
Sistema de
Armazenamento
Dados + metadados
34
1.6. Estrutura do Sistema
• DML
•Procedurais: exigem a definição de
quais dados são necessários e
como obtê-los.
•Não-procedurais: exigem apenas a
definição de quais dados são
necessários
36
1.7. Linguagens de BDs
•Linguagens de Manipulação de
Dados (DML)
•usada para recuperar dados
• SELECT * FROM <tabela>
38
1.7. Linguagens de BDs
•Linguagens de Manipulação de
Dados (DML)
•usada para inserir dados
• INSERT INTO <tabela>
VALUES ...
39
1.7. Linguagens de BDs
•Linguagens de Manipulação de
Dados (DML)
•usada para atualizar dados
• UPDATE <tabela> SET ...
40
1.7. Linguagens de BDs
•Linguagens de Manipulação de
Dados (DML)
•usada para remover dados
• DELETE FROM <tabela>
41
1.7. Linguagens de BDs
•Consulta
• Solicitação para recuperação de
informações. A parte de uma DML
responsável pela recuperação de
informações é chamada de linguagem de
consultas (query language).
42
1.8. Gerenciamento de Transações
• Transação: coleção de operações que desempenha uma
função única em uma aplicação do SGBD.
• Atomicidade: uma transação deve ser executada por inteiro;
• Consistência: uma transação só executa se o estado do BD
permanecer consistente após seu fim;
• Isolamento: a intercalação de várias transações simultâneas
não pode gerar um estado inconsistente;
• Durabilidade: após a execução com sucesso de uma
transação, as novas informações devem persistir, mesmo se
houver falha no sistema.
43
1.8. Gerenciamento de Transações
•Exemplo
• Transação: transferência de fundos (débito na
conta A e crédito na conta B).
• Atomicidade: crédito e débito devem ser
efetuadas;
• Consistência: a soma de A e B deve continuar o
mesmo;
• Isolamento: outras transações podem ser
efetuadas no mesmo instante;
• Durabilidade: após a transferência, os novos
valores de A e B devem persistir.
44