Buscar

CEA440-02-arquiteturaBD

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
SGBD
• Definição
“Sistema cujo objetivo principal é gerenciar o 
acesso e a correta manutenção dos dados 
armazenados em um banco de dados.”
• Funções básicas
– Métodos de acesso
– Integridade Semântica
– Segurança
– Concorrência
– Independência
Funções Básicas de um SGBD
• Métodos de acesso
– DDL (Data Definition Language)
• especificação do esquema do BD (dados e seus 
tipos de dados, índices, ...)
– DML (Data Manipulation Language)
• manipulação de dados (I, A, E, C)
– processamento eficaz de consultas 
• considera relacionamentos, predicados de 
seleção, volume de dados, índices, ...
– exemplo: buscar professores que lecionam em turmas 
lotadas em salas do quarto andar
2
Alternativas de Processamento
Professores Turmas Salas
andar
(10 dados)
(=4 -> 5 dados)
(20 dados)(10 dados)
Alternativa 1: (partindo de Professores)
1. Profs – Turmas: 10x20 acessos (pior caso!) para associar os profs
às suas turmas = 200 acessos (resultado: 20 dados)
2. Profs com Turmas – Salas: 20x10 acessos (pior caso!) para associar
as turmas com seus profs às suas salas = 200 acessos (resultado: 20 dados)
3. Profs com Turmas com Salas: filtrar as salas do 4o andar = 20 acessos
TOTAL: 200 + 200 + 20 = 420 acessos
N1 N 1
Alternativa 2: (partindo de Salas)
1. Salas: filtrar as salas do 4o andar = 10 acessos (resultado: 5 dados)
2. Salas – Turmas: 5x20 acessos (pior caso!) para associar as salas com 
as suas turmas = 100 acessos (resultado: 6 dados – supor algumas turmas)
3. Salas com Turmas – Profs: 6x10 acessos (pior caso!) para associar as 
turmas aos seus profs = 60 acessos
TOTAL: 10 + 100 + 60 = 170 acessos
Funções Básicas de um SGBD
• Integridade semântica
– garantia de dados sempre corretos com 
relação ao domínio de aplicação
– exemplos
• estados válidos para os dados (I sexo; A salário)
• relacionamentos válidos entre os dados
(turma N:1 disciplina; apenas professores doutores 
lecionam disciplinas de pós-graduação)
– especificação de RIs
• testes, ações
• parte integrante da DDL
3
Funções Básicas de um SGBD
• Segurança
– evitar violação de consistência dos dados
– segurança de acesso (usuários e aplicações)
• matrizes de autorização
• visões
– segurança contra falhas (recovery)
• monitoração de transações
– Transação
» conjunto de operações a serem realizadas no BD
» princípio do “tudo ou nada”
• categorias de falhas 
– transação, sistema e meio de armazenamento
• manutenção de histórico de atualizações (logs) e 
backups do BD
Exemplos de Registros Históricos
Transação (transferência bancária)
begin transaction
update Contas
set saldo = saldo – 50.00
where número = 100
update Contas
set saldo = saldo + 50.00
where número = 200
commit transaction
Arquivo de Log
...
<begin transaction T256>
...
<T256,update,Contas,100,
500.00,450,00>
...
<T256,update,Contas,200,
350.00,400,00>
...
<end transaction T256>
...
4
Funções Básicas de um SGBD
• Concorrência
– evitar conflitos de acesso simultâneo a dados por 
transações (scheduler)
– principais técnicas 
• bloqueio (lock) e timestamp
• Independência
– transparência da organização dos dados
– níveis de independência
• Independência física
– transparência de organização (esquema) física dos dados
– exemplos: organização dos arquivos, indexação, 
distribuição, agrupamento
• Independência lógica
– transparência do esquema lógico do BD
– exemplo: visões (vários esquemas externos)
Funções Básicas de um SGBD
• Níveis de independência (níveis de abstração)
– definem uma arquitetura de três esquemas
Esquema Físico BD
Mapeamento lógico-físico
Esquema Lógico
Esquema Externo 1 Esquema Externo n
Mapeamento externo-lógico
. . .
Usuários finais
5
SGBD em Detalhe
Processador
run-time
BD
Gerenciador
de 
Transações 
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
DBA
Usuário 
ad hoc Programador
DD Log
Backup
Aplicação
Externa
Interface 
DML ad hoc
SGBD
Meios de Armazenamento
Processador
run-time
BD
Gerenciador
de 
Transações
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
DBA
Usuário 
ad hoc Programador
DD Log
Backup
Aplicação
Externa
Interface 
DML ad hoc
SGBD
6
Meios de Armazenamento
BDDD Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Consultas
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
DBA
Usuário 
ad hoc ProgramadorAplicação
Externa
Interface 
DML ad hoc
SGBD
Repositório de:
• arquivos de dados operacionais
• arquivos de índices Gerenciadorde 
Transações
Meios de Armazenamento
Processador
run-time
DD Log
Backup
BD
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Consultas
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
DBA
Usuário 
ad hoc ProgramadorAplicação
Externa
Interface 
DML ad hoc
SGBD
Catálogo do SGBD (metadados):
• especificação do esquema
• restrições de integridade
• autorizações de acesso
• visões
• localização de arquivos do BD
• configurações e estimativas
Gerenciador
de 
Transações
7
Gerenciador
de 
Transações
Meios de Armazenamento
DD Log
Backup
BD
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Consultas
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
DBA
Usuário 
ad hoc ProgramadorAplicação
Externa
Interface 
DML ad hoc
SGBD
Exemplos de configurações:
-dispositivos para dados, backup e log
- tamanho logs - nro. máximo de usuários
- nro. máximo de locks - tamanho de buffer
-tempo timeout - intervalo backup automático
- ...
Gerenciador
de 
Transações
Meios de Armazenamento
DD Log
Backup
BD
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Consultas
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
DBA
Usuário 
ad hoc ProgramadorAplicação
Externa
Interface 
DML ad hoc
SGBD
Exemplos de estimativas:
- espaço ocupado do log, BD e backup
- estimativas sobre cada arquivo de dado:
* número de registros
* número de valores distintos para cada campo
* índices utilizados para acesso
* tempo médio de processamento de transações
* . . .
8
Gerenciador
de 
Transações
Meios de Armazenamento
BDDD Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
DBA
Usuário 
ad hoc ProgramadorAplicação
Externa
Interface 
DML ad hoc
SGBD
Repositório de:
• cópias do BD
• histórico de transações
Usuários do SGBD
BD
DBA
Usuário 
ad hoc Programador
DD Log
Backup
Aplicação
Externa
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
Interface 
DML ad hoc
SGBD
Gerenciador
de 
Transações
9
Gerenciador
de 
Transações
DBA
Usuário 
ad hoc ProgramadorAplicação
Externa
DBA
BDDD Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Consultas
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
Interface 
DML ad hoc
SGBDSuperUsuário do SGBD:
• projeto de BDs (DA)
• definição do esquema dos dados
• definição de índices
• definição de restrições de integridade, visões 
e autorizações de acesso
• recuperação manual de falhas (undo transações, 
backup do BD, ...)
• monitoramento da performance de acesso ao BD e
modificação de configurações do SGBD
(aumento tamanho buffer, criação índices)
• ...
DBA
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambientede 
Administração
Tradutor 
Comandos
Privilegiados 
Usuário 
ad hoc Programador
DD
Aplicação
Interface 
DML ad hoc
SGBD
DBA
Tarefa: definir BD, RIs, 
visões ou autorizações
instruções DDL
gravação
do esquema 
do BD BD Log
Backup
criação ou
modificação 
de arquivos 
do BD
transação(ões)
gravação
Gerenciador
de 
Transações 
instruções internas
Módulo central do SGBD:
• controle de acesso físico
• principais responsabilidades:
• gerência de arquivos
• gerência de buffers
• notificação de falhas ao
Gerenciador de Transações
10
DBA
Usuário 
ad hoc ProgramadorAplicaçãoDBA
Tarefas: monitorar o desempenho do BD;
definir ou alterar configurações
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados
Interface 
DML ad hoc
SGBD
instruções de
configuração/consulta
gravação ou 
consulta
DD BD Log
Backup
gravação
Gerenciador
de 
Transações 
transação(ões)
instruções internas
DBA
Usuário 
ad hoc ProgramadorAplicaçãoDBA
BDDD Log
Backup
Processador
run-time
Gerenciador
de
Transações
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Tradutor 
Comandos
Privilegiados 
Interface 
DML ad hoc
SGBD
Ambiente de 
Administração
Tarefa: recuperação manual do BD
instruções de recuperação do BD
histórico e/ou
dados backup
undo e/ou 
redo de 
transações
dados para backup
gravação
localização de
dados
dados
11
Gerenciador
de 
Transações
Aplicação (Desenvolvida no SGBD)
Usuário 
ad hoc ProgramadorDBA
BDDD Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Consultas
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
Interface 
DML ad hoc
SGBD
• acesso ao BD através de comandos DML 
pré-compilados e embutidos no seu código 
• SGBDs suportam bindings com várias LPs (LHs)
• exemplo: SQL Server (SQL embutido em C 
(ferramenta ESQL/C)):
...
EXEC SQL BEGIN DECLARE SECTION; 
integer mat; 
char nomeProf[30]; 
EXEC SQL END DECLARE SECTION; 
...
printf(“Informe matrícula: "); 
scanf("%i", &mat); 
EXEC SQL SELECT nome INTO :nomeProf
FROM Professores 
WHERE matrícula = :mat;
Aplicação
Aplicação
Usuário 
ad hoc ProgramadorDBA
BDDD Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados
Interface 
DML ad hoc
SGBD
Aplicação
instrução(ões) 
DML traduzida(s)
verificação de Ris, 
autorizações de acesso
e localização de dados
dados
transação(ões)
gravação
Gerenciador
de 
Transações 
12
Usuário ad hoc
BD
Usuário 
ad hoc
DD Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
Interface 
DML ad hoc
SGBD
DBA Aplicação Programador
• acesso direto ao SGBD
• executa operações DML sem 
estar vinculado a uma aplicação 
que acessa o BD 
Gerenciador
de 
Transações
Usuário ad hoc
BD
Usuário 
ad hoc
DD Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Acesso
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
Interface 
DML ad hoc
SGBD
DBA Aplicação Programador
consulta
Tradutor 
Comandos
Privilegiados
plano de acesso
executável
dados gravação
transação(ões)
Instrução(ões) DML
definição de operações
verificação de RIs, 
autorizações de acesso
e localização de dados
estimativas sobre
os dados
instrução(ões) DML
traduzido
Gerenciador
de 
Transações 
estimativas
13
Programador
BD
Programador
DD Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Otimizador
de Consultas
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
Interface 
DML ad hoc
SGBD
DBA Aplicação
Usuário 
ad hoc
• desenvolve aplicações no próprio SGBD
• utiliza um ambiente de desenvolvimento:
- ferramentas LP + DML embutida
- ferramentas 4GL (linguagem integrada)
exemplo: PL/SQL (Oracle)
- geradores de relatórios
- geradores de formulários
- . . .
Gerenciador
de 
Transações
Programador
BD
Programador
Log
Backup
Processador
run-time
Tradutor
DDL
Tradutor
DML
Ambiente de 
Desenvolvimento
Código da
Aplicação
Ambiente de 
Administração
Tradutor 
Comandos
Privilegiados 
Interface 
DML ad hoc
SGBD
DBA Aplicação
Usuário 
ad hoc
Tarefa: desenvolvimento de aplicações
instrução(ões) 
DML
traduzida(s)
geração
Otimizador
de Acesso
consulta
plano de 
acesso
estimativas sobre
os dados
DD
Gerenciador
de 
Transações
estimativas
Instrução(ões) DML

Outros materiais