Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 04 – Modelo Relacional (cont.) 2016/01 DISCIPLINA: Banco de Dados 1 Prof. GIOVANI Volnei Meinerz 2/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Dicionário de Dados Redundância de Dados Índices Regras de Codd Objetivos da Aula 3/39 Banco de Dados 1 – 2016/01 – Prof. Giovani O que é? Um componente do SGBD que armazena metadados sobre a estrutura do banco de dados Dicionário de Dados Dados sobre dados 4/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Metadados comumente armazenados Dicionário de Dados (cont.) 5/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Dicionário de Dados (cont.) 6/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Finalidade Auxiliar o DBA na sua função de monitoramento Logo, é uma ferramenta de monitoramento para garantir adequada segurança, desempenho e, principalmente, confiabilidade do BD Garantir que todos os membros das equipes de projeto e de implementação utilizem os mesmos nomes e características de tabelas e atributos Dicionário de Dados (cont.) 7/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Características gerais Ao se criar um BD, o SGBD produz automaticamente uma estrutura para abrigar um dicionário de dados As vezes descrito como “o banco de dados do projetista de banco de dados” SGBD relacional executa grande parte do trabalho “nos bastidores” A cada nova ação, o SGBD atualiza o dicionário de dados Dicionário de Dados (cont.) 8/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Nome do BD Quantidade de tabelas Espaço de disco ocupado Dicionário de Dados (cont.) 9/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Tabelas Número de tuplas e colunas Data de criação Espaço de disco ocupado Dicionário de Dados (cont.) 10/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Relacionamentos Chaves estrangeiras Dicionário de Dados (cont.) 11/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Informações sobre índices Tabela indexada Atributo definido como índice Dicionário de Dados (cont.) 12/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Usuários autorizados e privilégios de acesso Dicionário de Dados (cont.) 13/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Ocorre quando os mesmos dados são armazenados de forma desnecessária em locais diferentes É improvável que os dados armazenados em locais diferentes sejam sempre atualizados de modo consistente Redundância de Dados 14/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Inconsistência de dados – quando versões diferentes e conflitantes dos mesmos dados aparecem em locais diferentes Redundância de Dados (cont.) Ex.: Coordenação de recursos humanos SISTEMAS ISOLADOS Ex.: Diretoria de registros acadêmicos 15/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Anomalias de dados – quando nem todas as alterações/atualizações necessárias nos dados redundantes são realizadas com sucesso Anomalias de atualização Anomalias de inserção Anomalias de exclusão BD relacional permite controle das redundâncias Utilizando atributos comuns compartilhados por tabelas, chamados chaves estrangeiras Redundância de Dados (cont.) 16/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Projetistas de BD devem conciliar 3 exigências geralmente contraditórias Elegância de projeto (bem projetado) Velocidade de processamento (melhor desempenho) Exigências de informações (melhor disponibilidade) Redundância de Dados (cont.) 17/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Tipos de redundâncias de dados Redundâncias controladas Redundâncias não-controladas Redundância de Dados (cont.) 18/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Redundâncias controladas Costumam ser projetadas como parte do sistema para garantir Velocidade de processamento (melhor desempenho) Exigências de informações (melhor disponibilidade) O software (SGBD) tem conhecimento da múltipla representação e garante a atualização dos dados duplicados automaticamente quando necessário Redundância de Dados (cont.) 19/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Redundâncias controladas (cont.) Redundância de Dados (cont.) Exemplo: Replicação em Sistemas Distribuídos – um mesmo dado armazenado em vários computadores, permitindo acesso rápido a partir de qualquer um deles Quando determinado fragmento é atualizado, todos os demais fragmentos precisam ser atualizados O SGBD garante a atualização automática dos demais fragmentos 20/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Redundâncias não controladas Podem ter sido projetadas como parte do sistema para garantir melhor desempenho e disponibilidade; ou como consequência de etapas de modelagem de BD mal sucedidas É o usuário (caso a múltipla representação seja de seu conhecimento) que garante a atualização dos dados duplicados quando necessário Triggers Stored procedures Procedimentos em linguagem de programação Redundância de Dados (cont.) 21/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Redundâncias não controladas (cont.) Redundância de Dados (cont.) 22/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Redundâncias não controladas (cont.) Redundância de Dados (cont.) Solução Isolada Solução Integrada/Compartilhada 23/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Redundâncias não controladas (cont.) Redundância de Dados (cont.) 24/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Suponha que se queira localizar um livro específico em uma biblioteca. Faria sentido olhar todos os livros até encontrar o desejado? Além disso, nesse livro, suponhamos que se queira encontrar o tópico “Modelo ER”. Faria sentido ler todas as páginas até encontrar o tópico acidentalmente? Índices 25/39 Banco de Dados 1 – 2016/01 – Prof. Giovani O que são? São estruturas de acesso adicionais auxiliares usadas para aumentar a velocidade de recuperação de registros na resposta a certas condições de busca Ex.: catálogo de autores de uma biblioteca Índices (cont.) 26/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Tipos básicos de índices Índices ordenados Índices de hash Índices (cont.) 27/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Conceitos básicos Chave de busca Atributo utilizado para pesquisar registro(s) em uma tabela Registro de índice Consiste de um valor de chave de busca e ponteiros para um ou mais registros Ponteiro Identificador de um bloco de disco, para identificar o registro dentro do bloco Índices (cont.) chave de busca ponteiro Chave de Busca Ponteiro 28/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Índices ordenados Chaves de busca armazenadas em uma ordem classificada de valores Principais tipos Índice Denso Índice Esparso Índices (cont.) 29/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Índice Denso Um registro de índice aparece para cada valor de chave de busca O registro de índice contém o valor da chave de busca e um ponteiro para o primeiro registro com o valor da chave de busca Índices (cont.) 30/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Índice Denso (cont.) Ex.: suponha estarmos procurando o registro do instrutor com ID “22222”. Usando ÍNDICE DENSO, acompanhamos o ponteiro diretamente para o registro desejado Índices (cont.) 31/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Índice Esparso Um registro de índice aparece apenas para um conjunto de valores chaves de busca Índices (cont.)32/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Índice Esparso (cont.) Ex.: suponha estarmos procurando o registro do instrutor com ID “22222”. Como a primeira entrada do conjunto de valores do qual “22222” faz parte, inicia-se na chave de busca “10101”, acompanhamos o seu ponteiro em ordem sequencial até encontrar o registro desejado Índices (cont.) 33/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Índice denso, com chave de busca diferente da chave primária Ex.: arquivo INSTRUTOR, chave de busca igual a nome_dept Nesse caso, arquivo classificado pela chave de busca Índices (cont.) 34/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Índices de hash Chaves de busca distribuídas, uniformemente, por unidades de armazenamento (buckets/baldes) Um bucket normalmente é um bloco de disco Índices (cont.) 35/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Organização de hash do arquivo INSTRUTOR, com nome_dept como chave de busca Índices (cont.) 36/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Em <ANO>, <ALGUÉM> publicou uma lista de 12 regras que definem um SGBDR Motivo: evitar que muitos fornecedores comercializassem seus produtos como relacionais, embora não atendessem aos padrões mínimos Obs.: Mesmo os fornecedores dominantes de SGBDR não dão suporte completo a todas as 12 regras Regras de Codd 37/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Regras de Codd (cont.) REGRA NOME DESCRIÇÃO 1 Representação da Informação Todas as informações de um banco de dados relacional devem ser representadas logicamente como valores de coluna em linhas dentro das tabelas 2 3 4 5 6 7 8 9 10 11 12 Regra zero 38/39 Banco de Dados 1 – 2016/01 – Prof. Giovani Resumo da Aula Aula 04 – Modelo Relacional (cont.) 2016/01 DISCIPLINA: Banco de Dados 1 Prof. GIOVANI Volnei Meinerz
Compartilhar