Definição Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco dados. Funções básicas Métodos acesso Integrida Semântica Segurança Concorrência Inpendência
Funções Básicas um Métodos acesso (Data Definition Language) especificação do esquema do (dados e seus tipos dados, índices,...) (Data Manipulation Language) manipulação dados (I, A, E, C) processamento eficaz consultas consira relacionamentos, predicados seleção, volume dados, índices,... exemplo: buscar professores que lecionam em turmas lotadas em salas do quarto andar
Alternativas Processamento Professores Turmas Salas (10 dados) 1 N (20 dados) N 1 (10 dados) andar (= 4 5 dados) Alternativa 1: (partindo 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 4 o andar = 20 acessos TOTAL: 200 + 200 + 20 = 420 acessos Alternativa 2: (partindo Salas) 1. Salas: filtrar as salas do 4 o andar = 10 acessos (resultado: 5 dados) 2. Salas Turmas: 5x20 acessos (pior caso!) para associar as salas com as suas turmas = 100 acessos (resultado: 20 dados todas no 4o andar) 3. Salas com Turmas Profs: 20x10 acessos (pior caso!) para associar as turmas aos seus profs = 200 acessos TOTAL: 10 + 100 + 200 = 310 acessos
Funções Básicas um Integrida semântica garantia dados sempre corretos com relação ao domínio 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 pós-graduação) especificação Regras Integrida (RIs) testes e/ou ações parte integrante da
Funções Básicas um Segurança evitar violação consistência dos dados segurança acesso (usuários e aplicações) matrizes autorização visões segurança contra falhas (recovery) monitoração transações Transação» conjunto operações a serem realizadas no» princípio do tudo ou nada categorias falhas transação, sistema e meio armazenamento manutenção histórico atualizações (logs) e backups do
Exemplos 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... <begin transaction T256>... <T256,update,Contas,100, 500.00,450,00>... <T256,update,Contas,200, 350.00,400,00>... <end transaction T256>... Arquivo
Funções Básicas um Concorrência evitar conflitos acesso simultâneo a dados por transações (scheduler) principais técnicas bloqueio (lock) e timestamp Inpendência transparência da organização dos dados níveis inpendência Inpendência física transparência organização (esquema) física dos dados exemplos: organização dos arquivos, inxação, distribuição, ornação Inpendência lógica transparência do esquema lógico do exemplo: visões (vários esquemas externos)
Funções Básicas um Níveis inpendência (níveis abstração) finem uma arquitetura três esquemas s finais Esquema Externo 1... Esquema Externo n Mapeamento externo-lógico Esquema Lógico Mapeamento lógico-físico Esquema Físico
em Detalhe Externa Acesso
Meios Armazenamento Externa Acesso
Meios Armazenamento Externa Consultas Repositório : arquivos dados operacionais arquivos índices
Meios Armazenamento Externa Catálogo do (metadados): especificação do esquema restrições Consultas integrida autorizações acesso visões localização arquivos configurações e estimativas
Meios Armazenamento Externa Consultas Exemplos configurações: - dispositivos para dados, backup e log - tamanho logs - nro. máximo usuários - tamanho buffer - tempo timeout - intervalo backup automático -...
Meios Armazenamento Externa Consultas Exemplos estimativas: - espaço ocupado do log, e backup - estimativas sobre cada arquivo dado: * número registros * valores distintos em cada campo * índices utilizados para acesso * tempo médio processamento transações *...
Meios Armazenamento Externa Acesso Repositório : cópias do histórico transações
s do Externa Acesso
Externa Consultas Super do : projeto s (DA) finição do esquema dos dados finição índices finição restrições integrida, visões e autorizações acesso recuperação manual falhas (undo transações, backup do,...) monitoramento da performance acesso ao e modificação configurações do (aumento tamanho buffer, criação índices)...
Acesso instruções internas Tarefa: finir, RIs, visões ou autorizações instruções gravação do esquema transação(ões) Módulo central do : controle acesso físico principais responsabilidas: - gerência Ambiente arquivos - gerência buffers - notificação falhas ao criação ou modificação arquivos do gravação do
Tarefas: monitorar o sempenho do ; finir ou alterar configurações instruções configuração/consulta Acesso instruções internas transação(ões) gravação gravação ou consulta
Tarefa: recuperação manual do Acesso localização dados instruções recuperação do dados para backup dados undo e/ou redo transações histórico e/ou dados backup gravação
(Desenvolvida no ) acesso ao através comandos Ambiente pré-compilados e embutidos no seu código s suportam bindings com várias LPs (LHs) exemplo: SQL Server (SQL embutido em C (ferramenta ESQL/C)):... Consultas 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;
instrução(ões) traduzida(s) Acesso transação(ões) dados gravação verificação Ris, autorizações acesso e localização dados
Acesso acesso direto ao executa operações sem estar vinculado a uma aplicação que acessa o
Acesso plano acesso executável estimativas sobre os dados finição operações consulta estimativas Instrução(ões) instrução(ões) traduzido dados transação(ões) gravação verificação RIs, autorizações acesso e localização dados
Consultas senvolve aplicações no próprio utiliza um ambiente senvolvimento: - ferramentas LP + embutida - ferramentas 4GL (linguagem integrada) exemplo: PL/SQL (Oracle) - geradores relatórios - geradores formulários -...
Tarefa: senvolvimento aplicações Acesso estimativas Instrução(ões) consulta plano acesso instrução(ões) traduzida(s) geração estimativas sobre os dados