Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
1 Banco de Dados Conceitos Prof Msc. Allan Costa 2 Banco de Dados Banco de Dados Aplicações de banco de dados Tradicionais (textual e numérica); Novas aplicações de banco de dados permitem armazenar imagens, clipes de aúdio e stream de vídeos, ditos banco de dados multimídia Sistemas de informações geográficas (GIS – Geographic Information Systems) 3 4 Definições de Banco de Dados Definições bastante genéricas; Propriedades implícitas: Representa alguns aspecto do mundo real, às vezes chamado de minimundo ou de universo de discurso (UoD – Universe of Discourse). Mudanças no minimundo São refletidas no banco de dados; Coleção logicamente coerente de dados com algum significado inerente; Definições de Banco de Dados Um banco de dados é projetado, construído e populado com dados para uma finalidade específica. 5 Sistema de Gerência de Banco de Dados Coleção de programas que permite aos usuários criar e manter um banco de dados (NAVATHE, 2011); Outros conceitos: Software que trata de todo o acesso ao banco de dados.(DATE, 2000); Software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados. (HEUSER, 1999). 6 7 Sistema de Gerência de Banco de Dados Em outras palavras: SGBD é um sistema de software de uso geral; Facilita o processo de definição, construção, manipulação, proteção e compartilhamento; É necessário utilizar SGBD de uso geral para implementar um banco de dados? Exemplos : Postgresql, Oracle, Interbase, etc.. Sistema de Banco de dados = BD + SGBD Principais componentes : dados,hardware,software e usuários. 8 Abordagem SGBD x Processamento de Arquivos Tradicional Suportado por sistema operacional convencional Registros permanentes são guardados em diversos arquivos; São desenvolvidos programas aplicativos para manipular os registros 9 Processamento de Arquivos Tradicional: desvantagens Redundância e inconsistência de dados Dificuldade no acesso aos dados Dificuldades no isolamento de dados: quando a estrutura do BD é modificada, o programa que o acessa também deve ser mudado; Problemas de segurança Problemas de integridade 10 Característica fundamental de SGBDs SGBDs contém o BD mais uma definição completa do BD armazenada no CATÁLOGO Catálogo ou dicionário de dados contém META DADOS: informação sobre a estrutura de cada arquivo formato de armazenamento tipo de cada item de dados restrições sobre os dados No proc. De arquivos tradicional, a definição dos dados faz parte do programa de aplicação. Exemplo 11 RELACOES Nome_Relacao Numero_de_colunas Aluno 4 Disciplina 4 Turma 5 Historico_escolar 3 Pre_requisito 2 COLUNAS Nome_coluna Tipo_de_Dados Pertence_a_relacao Nome Caractere (30) Aluno Numero_aluno Caractere (4) Aluno Tipo_aluno Inteiro (1) Aluno Curso Tipo_curso Disciplina Nome_disciplina Caractere (10) Disciplina … … … … … … … … … Numero_pre_requisito XXXXXNNNNN Pre_requisito Característica fundamental de SGBDs Suporte para múltiplas visões dos dados; Compartilhamento de dados e processamento de transação multiusuário. 12 Vantagens de usar a abordagem SGBD Controlando a redundância; Restringindo acesso não autorizado; Oferecendo armazenamento persistente para objetos do programa “Problema de divergência de impedância” Estruturas de armazenamento e técnicas de pesquisa para o processamento efieciente de consulta; 13 Vantagens de usar a abordagem SGBD Backup e Recuperação; Múltiplas interfaces do usuário; Representando relacionamentos complexos entre dados; Impondo restrições de integridade; Permitindo dedução e ações usando regras (no modelo relacional -> triggers ou stored procedures) Sistemas de banco de dados dedutivos 14 Vantagens de usar a abordagem SGBD Implicações adicionais do uso da abordagem de banco de dados: Potencial para garantir padrões; Tempo reduzido para desenvolvimento de aplicações; Flexibilidade; Disponibilidade de informações atualizadas; Economia de escalas. 15 Quando não usar um SGBD Custos adicionais do uso de um SGBD: Alto investimento inicial em hardware, software e treinamento; A generalidade que um SGBD oferece para a definição e o processamento de dados; Esforço adicional para oferecer funções de segurança, controle de concorrência, recuperação e integridade. 16 Quando não usar um SGBD Utilização de arquivos: Aplicações de banco de dados simples e bem definidas para as quais não se espera muitas mudanças; Requisitos rigorosos, de tempo real, para alguns programas de aplicações; Sistemas embarcados com capacidade limitada; Nenhum acesso de múltiplos usuários aos dados. 17 18 Tipos de modelo de SGBDs 1ª Geração Pré Relacional Modelo Hierárquico Modelo de Redes 2ª Geração Relacional Modelo Relacional 3ª Geração Pós - Relacional Novos modelos 19 Modelo Hierárquico Dados organizados em hierarquias de arvores. Grande desempenho no acesso seqüencial Limitações no acesso aleatório Manipulação do tipo record – oriented , isto é , qualquer acesso a base de dados envolve apenas um registro de cada vez. 20 Classificação dos SGBDs Hierárquico: representa o BD como um conjunto de árvores Maria A POA João B POA 647 500,00 900 55,00 556 10000,00 647 500,00 raiz 21 Modelo em Redes Extensão do modelo hierárquico Elimina o conceito de hierarquia, permitindo que um mesmo registro possua varias associações. Dados armazenado em grafos (representa as inter- relações entre os componentes de um sistema). 22 Classificação dos SGBDs Redes: Forma ampliada da estrutura hierárquica. representa o BD como um grafo Um registro pode ter qualquer número de pais raiz Maria A POA João B POA 900 55,00 556 10000,00 647 500,00 23 Modelo Relacional Surgiu em 1970, por E.F. Codd ,tendo por base a teoria dos conjuntos. Contribuiu decisivamente para a massificação da utilização da tecnologia de bases de dados. 24 Classificação dos SGBDs Relacional: representa o BD como uma coleção de tabelas Não usa ponteiros e elos - usa relações nome rua cidade Conta_no. Maria A POA 900 João B POA 556 João B POA 647 Maria A POA 647 número saldo 900 55 556 10000 647 500 25 Usuários de um sistema de BD Administrador do BD (DBA) Responsável por autorizar o acesso ao BD, coordenar e monitorar seu uso Projetista do BD Responsável por identificar os dados a serem armazenados no BD e escolher as estruturas apropriadas para representar e armazenar esses dados Programador de aplicações Usuário final Usa as aplicações feitas pelo programador de aplicações mais uma linguagem de consulta do BD (ex. SQL) 26 Estrutura de um sistema de BD SGBD Programa de Aplicação/ Consultas Meta Dados Software para proc. de consultas Banco de Dados Software para acessar dados armazenados Sistema de BD Usuários 27 Modelos de Dados Conjunto de conceitos que podem ser usados para descrever o BD. Provêem conceitos próximos aos percebidos por muitos usuários, tais como entidades, atributos e relacionamentos Não informa quais os dados especificamente estão armazenados 28 Modelo de dados Níveis de Abstração Modelo Conceitual Modelo Lógico Modelo Físico 29 Modelo Conceitual Independente de SGBD Registra Estrutura dos dados que podem aparecer no banco de dados Não registra Como estes dados estão armazenados a nível de SGBD 30 Modelo Conceitual – Diagrama Entidade Relacionamento Técnica mais difundida de modelagem conceitual Exemplo DER Produto Código nome preço Cliente Código nome endereço fones saláriocargo 31 Modelo Lógico Têm conceitos que podem ser entendidos pelos usuários e não estão distantes da organização física dos dados. Usados em SGBDs comerciais. Usam estruturas de registros Dependente do tipo particular de SGBD Exemplos: modelo relacional, modelo hierárquico, modelo rede 32 Modelo Lógico SGBD relacional 33 Modelo Físico Descrevem como os dados são armazenados representando informação como formato de registros, ordenação de registros, métodos de acesso, etc. Detalhes que Não tem influencia sobre a programação de aplicações no SGBD Influenciam a performance da aplicação 34 Esquemas e Instâncias Esquema: Definição do BD que é especificada durante projeto e em geral não muda freqüentemente fica armazenado no catálogo Funcionário (nome, cidade, salário) Instância: Dados armazenados no BD em um momento particular instâncias ficam armazenadas no BD Funcionário(José, Belém, 500,00) 35 Arquitetura de SBD: 3 níveis (ANSI/SPARC) Nível Interno: Mais próximo do armazenamento físico. Emprega-se o modelo de dados físico para descrever detalhes de armazenamento; Nível Conceitual: Descreve a estrutura completa do BD para a comunidade de usuários. É uma descrição global do BD que esconde detalhes da estrutura física de armazenamento (modelo de dados de alto nível ou de implementação) Nível Externo Mais próximo dos usuários. Formado por um conjunto de visões de usuários ou esquemas externos. Cada visão descreve a parte do BD que um grupo de usuários está interessado (modelo de alto nível ou de implementação) 36 Independência de Dados Uma aplicação depende dos dados quando é impossível modificar a estrutura de armazenamento ou a estratégia de acesso sem afetar a aplicação. Isto é indesejável pois: aplicações diferentes necessitam de visões diferentes dos mesmos dados O DBA deve ter autonomia para modificar a estrutura de armazenamento ou a estratégia de acesso sem mudar as aplicações existentes Definição de independência de dados: Imunidade das aplicações à estrutura de armazenamento e à estratégia de acesso do BD 37 Independência de Dados Independência Física Modificação no esquema físico sem reescrever os programas aplicativos ou o esquema conceitual (desempenho) Independência Lógica Modificação do esquema conceitual sem reescrever os programas aplicativos Independência de dados: Mudando o esquema em algum nível, pode-se deixar o esquema do nível superior inalterado e alterar apenas o mapeamento entre os dois níveis Arquitetura de 3 níveis mais fácil obter independência de dados aumenta o overhead 38 Classificação dos SGBDs Quanto ao número de usuários mono-usuário multi-usuário Quanto a distribuição dos dados e software centralizado distribuído: homogêneo heterogêneo (federados) obs: um BD centralizado pode suportar múltiplos usuários dispersos 39 BD distribuído e multiusuário Transparência em Sistemas distribuídos Cada usuário percebe o BD como se ele fosse monousuário e centralizado 40 Exercícios Diferencie processamento de arquivos tradicionais de um SGBD ? O que é instância ? O que é esquema ? 41 Bibliografia SILBERSCHATZ,A. Sistema de Banco de Dados. 1999 (Capitulo I) DATE,C.J. Introdução a Sistema de Banco de Dados. 2000 (Capitulo I)