Вы находитесь на странице: 1из 4

SGBD Alternativas de Processamento

Professores Turmas Salas (10 dados)


• Definição (10 dados) 1 N (20 dados) N 1
andar (=4 -> 5 dados)
“Sistema cujo objetivo principal é gerenciar o
acesso e a correta manutenção dos dados Alternativa 1: (partindo de Professores)
armazenados em um banco de dados.” 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
• Funções básicas 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
– Métodos de acesso TOTAL: 200 + 200 + 20 = 420 acessos
– Integridade Semântica Alternativa 2: (partindo de Salas)
– Segurança 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
– Concorrência as suas turmas = 100 acessos (resultado: 6 dados – supor algumas turmas)
– Independência 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 Funções Básicas de um SGBD


• Métodos de acesso • Integridade semântica
– DDL (Data Definition Language) – garantia de dados sempre corretos com
• especificação do esquema do BD (dados e seus relação ao domínio de aplicação
tipos de dados, índices, ...)
– exemplos
– DML (Data Manipulation Language) • estados válidos para os dados (I sexo; A salário)
• manipulação de dados (I, A, E, C) • relacionamentos válidos entre os dados
– processamento eficaz de consultas (turma N:1 disciplina; apenas professores doutores
lecionam disciplinas de pós-graduação)
• considera relacionamentos, predicados de
seleção, volume de dados, índices, ... – especificação de RIs
– exemplo: buscar professores que lecionam em turmas
• testes, ações
lotadas em salas do quarto andar • parte integrante da DDL

1 2

Funções Básicas de um SGBD Funções Básicas de um SGBD


• Concorrência
• Segurança – evitar conflitos de acesso simultâneo a dados por
– evitar violação de consistência dos dados transações (scheduler)
– segurança de acesso (usuários e aplicações) – principais técnicas
• bloqueio (lock) e timestamp
• matrizes de autorização
• visões • Independência
– segurança contra falhas (recovery) – transparência da organização dos dados
• monitoração de transações
– Transação – níveis de independência
» conjunto de operações a serem realizadas no BD • Independência física
» princípio do “tudo ou nada” – transparência de organização (esquema) física dos dados
• categorias de falhas – exemplos: organização dos arquivos, indexação,
– transação, sistema e meio de armazenamento distribuição, agrupamento
• manutenção de histórico de atualizações (logs) e • Independência lógica
backups do BD – transparência do esquema lógico do BD
– exemplo: visões (vários esquemas externos)

Exemplos de Registros Históricos Funções Básicas de um SGBD


Transação (transferência bancária)
begin transaction
• Níveis de independência (níveis de abstração)
– definem uma arquitetura de três esquemas
update Contas
set saldo = saldo – 50.00
where número = 100 Usuários finais
...
update Contas
<begin transaction T256>
... Esquema Externo 1 ... Esquema Externo n
set saldo = saldo + 50.00
<T256,update,Contas,100,
where número = 200
500.00,450,00> Mapeamento externo-lógico
...
commit transaction
<T256,update,Contas,200,
350.00,400,00> Esquema Lógico
...
<end transaction T256> Mapeamento lógico-físico
...

Arquivo de Log BD
Esquema Físico

3 4
SGBD em Detalhe Meios de Armazenamento
Usuário Usuário
DBA Aplicação ad hoc Programador DBA Aplicação ad hoc Programador
Externa Externa

Interface
SGBD Interface
SGBD
Ambiente de Ambiente de Ambiente de Ambiente de
DML ad hoc Desenvolvimento DML ad hoc Desenvolvimento
Administração Administração

Código da Código da
Otimizador Tradutor Aplicação Otimizador Tradutor Aplicação
de Acesso DML de Consultas
Repositório de: DML
Tradutor Tradutor
DDL Tradutor DDL Tradutor • arquivos de dados operacionais
Gerenciador Gerenciador
Comandos Processador de Comandos • arquivos de índices
Processador de
Privilegiados run-time Transações Privilegiados run-time Transações

DD BD Log DD BD Log
Backup Backup

Meios de Armazenamento Meios de Armazenamento


Usuário Usuário
DBA Aplicação ad hoc Programador DBA Aplicação ad hoc Programador
Externa Externa

Interface
SGBD Interface
SGBD
Ambiente de Ambiente de Ambiente de Ambiente de
DML ad hoc Desenvolvimento DML ad hoc Desenvolvimento
Administração Administração

Código da Catálogo do SGBD (metadados): Código da


Otimizador Tradutor Aplicação • especificação
Otimizador do esquemaTradutor Aplicação
de Acesso DML • restrições de integridade
de Consultas ProcessadorDML
Tradutor Tradutor run-time
• autorizações de acesso
DDL Tradutor Gerenciador DDL Tradutor• visões Gerenciador
Comandos Processador de Comandos • localização de arquivos do BD
Processador de
Privilegiados run-time Transações Privilegiados run-time Transações
• configurações e estimativas

DD BD Log DD BD Log
Backup Backup

5 6

Meios de Armazenamento Meios de Armazenamento


Usuário Usuário
DBA Aplicação ad hoc Programador DBA Aplicação ad hoc Programador
Externa Externa

Interface
SGBD Interface
SGBD
Ambiente de Ambiente de Ambiente de Ambiente de
DML ad hoc Desenvolvimento DML ad hoc Desenvolvimento
Administração Administração
Exemplos de configurações:
-dispositivos para dados, backup e log Código da Código da
- Otimizador
tamanho logs Tradutor Aplicação
- nro. máximo de usuários Otimizador Tradutor Aplicação

Tradutor
-denro. máximo de locks DML
Consultas - tamanho de buffer Tradutor
de Acesso DML

DDL Tradutor -tempo timeout - intervalo backup automático DDL Tradutor


Gerenciador Repositório de: Gerenciador
Comandos - ... Processador de Comandos Processador de
Privilegiados Privilegiados
• cópias do BD
Transações
run-time histórico de transações Transações
• run-time

DD BD Log DD BD Log
Backup Backup

Meios de Armazenamento Usuários do SGBD


Usuário Usuário
DBA Aplicação ad hoc Programador DBA Aplicação ad hoc Programador
Externa Externa

Interface
SGBD Interface
SGBD
Ambiente de Ambiente de Ambiente de Ambiente de
Exemplos de estimativas:
DML ad hoc DML ad hoc
Administração Desenvolvimento Administração Desenvolvimento
- espaço ocupado do log, BD e backup
- estimativas sobre cada arquivo de dado:
* número de registros Código da Código da
Otimizador Tradutor Aplicação Otimizador Tradutor Aplicação
* número de valores distintos para cada campo
de Consultas DML de Acesso DML
Tradutor * índices utilizados para acesso Tradutor
DDL Tradutor * tempo médio de processamento de transaçõesGerenciador DDL Tradutor Gerenciador
Comandos* . . . Processador de Comandos Processador de
Privilegiados run-time Transações Privilegiados run-time Transações

DD BD Log DD BD Log
Backup Backup

7 8
DBA DBA
Usuário Usuário
DBA Aplicação ad hoc Programador DBA Aplicação ad hoc Programador
Externa
Tarefas: monitorar o desempenho do BD;
definir ou alterar configurações
SuperUsuário doInterface
SGBD: SGBD Interface
SGBD
Ambiente de Ambiente de Ambiente de Ambiente de
• projeto de BDsDML(DA)
ad hoc DML ad hoc
Administração Desenvolvimento Administração Desenvolvimento
• definição do esquema dos dados
• definição de índices instruções de
• definição de restrições de integridade, visões Código da Código da
configuração/consulta
Otimizador de acesso Tradutor Aplicação Otimizador Tradutor Aplicação
e autorizações
de Consultas DML de Acesso DML
Tradutor • recuperação manual de falhas (undo transações, Tradutor transação(ões)
DDL Tradutorbackup do BD, ...) Gerenciador DDL Tradutor instruções internas Gerenciador
Comandos • monitoramento da performance
Processadorde acesso ao BD e de Comandos Processador de
Privilegiadosmodificação de configurações do SGBD
run-time Transações Privilegiados run-time Transações
(aumento tamanho buffer, criação índices)
• ... gravação
gravação ou
consulta
DD BD Log DD BD Log
Backup Backup

DBA DBA
Usuário Usuário
DBA Aplicação Programador
ad hoc central do SGBD: DBA Aplicação ad hoc Programador
Módulo
Tarefa: definir BD, RIs, • controle de acesso físico Tarefa: recuperação manual do BD
visões ou autorizações • principais responsabilidades:
• gerência de
Interface arquivos
SGBD Interface
SGBD
Ambiente de Ambiente de Ambiente de Ambiente de
DML ad •hoc
gerênciaDesenvolvimento
de buffers DML ad hoc Desenvolvimento
Administração Administração
• notificação de falhas ao
instruções DDL Gerenciador de Transações Código da instruções de recuperação do BD
Código da
Otimizador Tradutor Aplicação Otimizador Tradutor Aplicação
de Acesso DML de Acesso DML
Tradutor transação(ões) Tradutor
DDL Tradutor instruções internas Gerenciador DDL Tradutor dados para backup Gerenciador
Comandos Processador de Comandos Processador de
Privilegiados run-time Transações Privilegiados run-time Transações
undo e/ou
criação ou redo de
modificação gravação dados transações gravação
localização de
gravação de arquivos histórico e/ou
dados
do esquema do BD
DD do BD BD Log DD BD
dados backup
Log
Backup Backup

9 10

Aplicação (Desenvolvida no SGBD) Usuário ad hoc


Usuário Usuário
DBA Aplicação ad hoc Programador DBA Aplicação ad hoc Programador

Interface
SGBD Interface • acesso direto ao SGBD SGBD
Ambiente de • acesso ao BD através de comandosAmbiente
DML de Ambiente de Ambiente de
DML ad hoc DML ad hoc •Desenvolvimento
executa operações DML sem
Administração pré-compilados e embutidos no seuDesenvolvimento
código Administração
estar vinculado a uma aplicação
• SGBDs suportam bindings com várias LPs (LHs) que acessa o BD
• exemplo: SQL Server (SQL embutido em C Código da Código da
(ferramenta ESQL/C)):
Otimizador Tradutor Aplicação Otimizador Tradutor Aplicação
... de Consultas DML de Acesso DML
Tradutor EXEC SQL BEGIN DECLARE SECTION; Tradutor
DDL Tradutorinteger mat; Gerenciador DDL Tradutor Gerenciador
Comandos char nomeProf[30]; Processador de Comandos Processador de
Privilegiados run-time
EXEC SQL END DECLARE SECTION; Transações Privilegiados run-time Transações
...
printf(“Informe matrícula: ");
scanf("%i", &mat);
EXEC SQL SELECT nome INTO :nomeProf
DD BD
FROM Professores Log DD BD Log
WHERE matrícula = :mat;
Backup Backup

Aplicação Usuário ad hoc


Usuário Usuário
DBA Aplicação ad hoc Programador DBA Aplicação ad hoc Programador
definição de operações

instrução(ões) Interface
SGBD Interface
SGBD
Ambiente de DML traduzida(s) Ambiente de Ambiente de Ambiente de
DML ad hoc Desenvolvimento DML ad hoc Desenvolvimento
Administração Administração
Instrução(ões) DML
Código da consulta Código da
Otimizador Tradutor Aplicação Otimizador Tradutor Aplicação
instrução(ões) DML
de Acesso DML de Acesso DML traduzido
Tradutor Tradutor
transação(ões) estimativas
DDL Tradutor Gerenciador DDL Tradutorplano de acesso Gerenciador
Comandos Processador de Comandosexecutável Processador de
Privilegiados run-time Transações Privilegiados run-time Transações
estimativas sobre
os dados transação(ões)
dados gravação dados gravação

verificação de Ris, verificação de RIs,


DD autorizações de acesso BD Log DD autorizações de acesso BD Log
e localização de dados Backup e localização de dados Backup

11 12
Programador
Usuário
DBA Aplicação ad hoc Programador

Interface
SGBD
Ambiente de Ambiente de
DML ad hoc Desenvolvimento
Administração
• desenvolve aplicações no próprio SGBD
• utiliza um ambiente de desenvolvimento:
Código da
- ferramentas LP + DML embutida
Otimizador Tradutor Aplicação
- ferramentas 4GL (linguagem integrada)DML
de Consultas
Tradutor exemplo: PL/SQL (Oracle)
DDL - geradoresTradutorde relatórios Gerenciador
- geradores
Comandos de formulários Processador de
- . .Privilegiados
. run-time Transações

DD BD Log
Backup

Programador
Usuário
DBA Aplicação ad hoc Programador
Tarefa: desenvolvimento de aplicações

Interface
SGBD
Ambiente de Ambiente de
DML ad hoc Desenvolvimento
Administração geração
Instrução(ões) DML
instrução(ões) Código da
DML Aplicação
Otimizador consulta Tradutor
traduzida(s)
de Acesso DML
Tradutor plano de
DDL Tradutor acesso Gerenciador
Comandos estimativas Processador de
Privilegiados run-time Transações

estimativas sobre
os dados

DD BD Log
Backup

13

Вам также может понравиться