Você está na página 1de 13

SGBD

Definio
Sistema cujo objetivo principal gerenciar o acesso e a correta manuteno dos dados armazenados em um banco de dados.

Funes bsicas
Mtodos de acesso Integridade Semntica Segurana Concorrncia Independncia

Funes Bsicas de um SGBD


Mtodos de acesso
DDL (Data Definition Language)
especificao do esquema do BD (dados e seus
tipos de dados, ndices, ...)

DML (Data Manipulation Language)


manipulao de dados (I, A, E, C) considera relacionamentos, predicados de seleo, volume de dados, ndices, ...
exemplo: buscar professores que lecionam em turmas lotadas em salas do quarto andar

processamento eficaz de consultas

Alternativas de Processamento
Professores
(10 dados) 1 N

Turmas
(20 dados)

Salas (10 dados)


andar (=4 -> 5 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

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

Funes Bsicas de um SGBD


Integridade semntica
garantia de dados sempre corretos com relao ao domnio de aplicao exemplos
estados vlidos para os dados (I sexo; A salrio) relacionamentos vlidos entre os dados (turma N:1 disciplina; apenas professores doutores lecionam disciplinas de ps-graduao)

especificao de RIs
testes, aes parte integrante da DDL

Funes Bsicas de um SGBD


Segurana
evitar violao de consistncia dos dados segurana de acesso (usurios e aplicaes)
matrizes de autorizao vises

segurana contra falhas (recovery)


monitorao de transaes
Transao conjunto de operaes a serem realizadas no BD princpio do tudo ou nada

categorias de falhas
transao, sistema e meio de armazenamento

manuteno de histrico de atualizaes (logs) e backups do BD

Exemplos de Registros Histricos


Transao (transferncia bancria)
begin transaction update Contas set saldo = saldo 50.00 where nmero = 100 update Contas set saldo = saldo + 50.00 where nmero = 200 commit transaction

... <begin transaction T256> ... <T256,update,Contas,100, 500.00,450,00> ... <T256,update,Contas,200, 350.00,400,00> ... <end transaction T256> ...

Arquivo de Log

Funes Bsicas de um SGBD


Concorrncia
evitar conflitos de acesso simultneo a dados por transaes (scheduler) principais tcnicas
bloqueio (lock) e timestamp

Independncia
transparncia da organizao dos dados nveis de independncia
Independncia fsica
transparncia de organizao (esquema) fsica dos dados exemplos: organizao dos arquivos, indexao, distribuio, agrupamento

Independncia lgica
transparncia do esquema lgico do BD exemplo: vises (vrios esquemas externos)

Funes Bsicas de um SGBD


Nveis de independncia (nveis de abstrao)
definem uma arquitetura de trs esquemas
Usurios finais

Esquema Externo 1
Mapeamento externo-lgico

...

Esquema Externo n

Esquema Lgico
Mapeamento lgico-fsico

Esquema Fsico

BD

SGBD em Detalhe
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados

Tradutor DML

Processador run-time

Gerenciador de Transaes

DD

BD

Log Backup

Meios de Armazenamento
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados

Tradutor DML

Processador run-time

Gerenciador de Transaes

DD

BD

Log Backup

Meios de Armazenamento
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

Tradutor DDL

Otimizador de Consultas Repositrio de: Tradutor Comandos Privilegiados

Tradutor DML

arquivos de dados operacionais arquivos de ndices Processador


run-time

Gerenciador de Transaes

DD

BD

Log Backup

Meios de Armazenamento
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

Tradutor DDL

Catlogo do SGBD (metadados): especificao Tradutor Otimizador do esquema Processador restries de integridade de Consultas DML run-time autorizaes de acesso Tradutor vises Comandos Processador localizao de arquivos do BD Privilegiados run-time configuraes e estimativas

Gerenciador de Transaes

DD

BD

Log Backup

Meios de Armazenamento
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da

Exemplos de configuraes: -dispositivos para dados, backup e log


Tradutor DDL

Privilegiados

Aplicao Tradutor - Otimizador tamanho logs - nro. mximo de usurios de Consultas DML - nro. mximo de locks - tamanho de buffer - intervalo backup automtico Tradutor -tempo timeout Gerenciador ... Comandos de Processador run-time Transaes

DD

BD

Log Backup

Meios de Armazenamento
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Tradutor DDL

Privilegiados

Exemplos de estimativas: DML ad hoc Desenvolvimento - espao ocupado do log, BD e backup - estimativas sobre cada arquivo de dado: Cdigo da * nmero de registros Aplicao Tradutor Otimizador * nmero de valores distintos para cada campo de Consultas DML * ndices utilizados para acesso Tradutor * tempo mdio de processamento de transaesGerenciador *... Comandos de Processador
run-time Transaes

Interface

SGBD
Ambiente de

DD

BD

Log Backup

Meios de Armazenamento
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados

Tradutor DML

Gerenciador Repositrio de: de Processador cpias do BD Transaes run-time histrico de transaes

DD

BD

Log Backup

Usurios do SGBD
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados

Tradutor DML

Processador run-time

Gerenciador de Transaes

DD

BD

Log Backup

DBA
DBA Aplicao Externa Usurio ad hoc Programador

Ambiente de Administrao

Tradutor DDL

SGBD SuperUsurio do SGBD: Interface Ambiente de projeto de BDs (DA) DML ad hoc Desenvolvimento definio do esquema dos dados definio de ndices Cdigo da definio de restries de integridade, vises Aplicao Otimizador de acesso Tradutor e autorizaes de Consultas DML recuperao manual de falhas (undo transaes, Tradutorbackup do BD, ...) Gerenciador monitoramento da performance de acesso ao BD e de Comandos Processador Privilegiados modificao de configuraes do SGBD Transaes run-time (aumento tamanho buffer, criao ndices) ... DD BD Log Backup

DBA
DBA Aplicao Tarefa: definir BD, RIs, vises ou autorizaes Ambiente de Administrao instrues DDL Otimizador de Acesso Tradutor DDL Tradutor instrues internas Comandos Privilegiados Programador ad hoc central Mdulo do SGBD: controle de acesso fsico principais responsabilidades: SGBD Interface gerncia de arquivos Ambiente de DML ad hoc gernciaDesenvolvimento de buffers notificao de falhas ao Gerenciador de Transaes Cdigo da Tradutor DML transao(es) Processador run-time criao ou modificao de arquivos do BD Aplicao Usurio

Gerenciador de Transaes gravao

DD

gravao do esquema do BD

BD

Log Backup

DBA
DBA Aplicao Usurio ad hoc Programador Tarefas: monitorar o desempenho do BD; definir ou alterar configuraes Ambiente de Administrao instrues de configurao/consulta Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados instrues internas Processador run-time Interface DML ad hoc Ambiente de Desenvolvimento Cdigo da Aplicao

SGBD

Tradutor DML transao(es)

Gerenciador de Transaes gravao

gravao ou consulta

DD

BD

Log Backup

DBA
DBA Aplicao Usurio ad hoc Programador Tarefa: recuperao manual do BD Ambiente de Administrao Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

instrues de recuperao do BD Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados Tradutor DML dados para backup Processador run-time localizao de dados dados undo e/ou redo de transaes

Gerenciador de Transaes gravao

DD

BD

histrico e/ou dados backup

Log Backup

10

Aplicao (Desenvolvida no SGBD)


DBA Aplicao Usurio ad hoc Programador

Ambiente de Administrao

Interface Ambiente acesso ao BD atravs de comandos DML de DML ad hoc Desenvolvimento pr-compilados e embutidos no seu cdigo SGBDs suportam bindings com vrias LPs (LHs) exemplo: SQL Server (SQL embutido em C Tradutor Otimizador (ferramenta ESQL/C)):

SGBD

Cdigo da Aplicao

Tradutor DDL

de Consultas DML ... EXEC SQL BEGIN DECLARE SECTION; Tradutor integer mat; Comandos char nomeProf[30]; Processador Privilegiados EXEC SQL END DECLARE SECTION; run-time ... printf(Informe matrcula: "); scanf("%i", &mat); EXEC SQL SELECT nome INTO :nomeProf FROM Professores BD DD WHERE matrcula = :mat;

Gerenciador de Transaes

Log Backup

Aplicao
DBA Aplicao Usurio ad hoc Programador

instruo(es) Ambiente de DML traduzida(s) Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados

Tradutor DML transao(es) Processador run-time dados

Gerenciador de Transaes

gravao

DD

verificao de Ris, autorizaes de acesso e localizao de dados

BD

Log Backup

11

Usurio ad hoc
DBA Aplicao Usurio ad hoc Programador

Ambiente de Administrao

Interface DML ad hoc

acesso direto ao SGBD SGBD Ambiente de Desenvolvimento executa operaes DML sem estar vinculado a uma aplicao que acessa o BD
Tradutor DML Cdigo da Aplicao

Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados

Processador run-time

Gerenciador de Transaes

DD

BD

Log Backup

Usurio ad hoc
DBA Aplicao Usurio ad hoc Programador definio de operaes Ambiente de Administrao Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Instruo(es) DML Cdigo da Aplicao instruo(es) DML traduzido Gerenciador de Transaes transao(es) dados gravao

consulta Otimizador de Acesso Tradutor DDL plano de acesso Tradutor Comandosexecutvel Privilegiados estimativas sobre os dados Tradutor DML estimativas Processador run-time

DD

verificao de RIs, autorizaes de acesso e localizao de dados

BD

Log Backup

12

Programador
DBA Aplicao Usurio ad hoc Programador

desenvolve aplicaes no prprio SGBD utiliza um ambiente de desenvolvimento: - ferramentas LP + DML embutida Tradutor Otimizador - ferramentas 4GL (linguagem integrada)DML de Consultas exemplo: PL/SQL (Oracle) Tradutor DDL - geradores Tradutorde relatrios Comandos - geradores de formulrios Processador - . .Privilegiados . run-time

Ambiente de Administrao

Interface DML ad hoc

SGBD
Ambiente de Desenvolvimento Cdigo da Aplicao

Gerenciador de Transaes

DD

BD

Log Backup

Programador
DBA Aplicao Usurio Programador ad hoc Tarefa: desenvolvimento de aplicaes Interface DML ad hoc Instruo(es) DML Otimizador de Acesso Tradutor DDL Tradutor Comandos Privilegiados consulta plano de acesso estimativas Processador run-time instruo(es) DML Tradutor traduzida(s) DML Cdigo da Aplicao

SGBD
Ambiente de Desenvolvimento gerao

Ambiente de Administrao

Gerenciador de Transaes

estimativas sobre os dados

DD

BD

Log Backup

13

Você também pode gostar