Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados Haroldo Amaral (haroldo.amaral@gmail.com) Licenciatura em Computação – 5º Período 15/02/2011 Aula 02 – Introdução a Bancos de Dados (BD) Definição de um BD Sistemas de Gerenciamento de BD Sistemas de Banco de Dados Exemplo de BD Características da Abordagem de BD Funcionalidades, Vantagens e Uso de um SGBD Pessoas Envolvidas Evolução das Aplicações de BD 15/02/2011 Banco de Dados 2 Definição de um BD 15/02/2011 Banco de Dados 3 Antes de definirmos um BANCO DE DADOS, precisamos entender o significado da palavra DADOS Então, o que são DADOS? Fatos que podem ser gravados e que possuem um significado explícito Agora, podemos definir um BANCO DE DADOS Então, o que é um BANCO DE DADOS? GENERICAMENTE, um conjunto de dados relacionados Definição de um BD 15/02/2011 Banco de Dados 4 Então, será que os casos abaixo são exemplos de BD? Nomes, telefones e endereços de pessoas conhecidas escritos numa agenda telefônica ou gravados num computador, através do programa Excel O conjunto de palavras que formam o conteúdo de um livro De acordo com a definição GENÉRICA, todos os exemplos são casos de BD. Porém ... Definição de um BD 15/02/2011 Banco de Dados 5 Definição de um BD 15/02/2011 Banco de Dados 6 Então, CUIDADO! Não confunda ... Banco de Dados = Bando de Dados SGBD – Sistema de Gerenciamento de BD 15/02/2011 Banco de Dados 7 Um BD pode ser gerado e mantido manualmente Por exemplo, um catálogo de cartões bibliotecários Entretanto, estamos interessados em BDs automatizados Estamos interessados em BDs nos quais possamos executar processos para: Criação Acesso Manutenção SGBD – Sistema de Gerenciamento de BD 15/02/2011 Banco de Dados 8 E quem executa todos os PROCESSOS sobre um BD? Um Sistema Gerenciador de Banco de Dados SGBD SGBD – Sistema de Gerenciamento de BD 15/02/2011 Banco de Dados 9 SGBD – Sistema de Gerenciamento de BD 15/02/2011 Banco de Dados 10 SGBD – Sistema de Gerenciamento de BD 15/02/2011 Banco de Dados 11 Sistemas de Banco de Dados 15/02/2011 Banco de Dados 12 Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD que constitui os dados relacionados e referentes a professores, disciplinas e horários de uma universidade Vimos que um SGBD é definido por um conjunto de softwares, onde processos são executados sobre um BD Por exemplo, um SGBD que gerencia os dados do BD do exemplo anterior, podendo ser: Oracle, MySQL, SQL Server, Postgre SQL, etc. Sistemas de Banco de Dados 15/02/2011 Banco de Dados 13 Então, o que constitui a junção de um BD com o SGBD que o gerencia? BD SGBD Sistemas de Banco de Dados 15/02/2011 Banco de Dados 14 Sistema de Banco de Dados = Banco de Dados + SGBD Configuração de um Sistema de BD simplificado Um Exemplo de BD 15/02/2011 Banco de Dados 15 Um Banco de Dados que armazena informações acadêmicas de alunos, cursos e notas Um Exemplo de BD 15/02/2011 Banco de Dados 16 O BD é organizado em cinco arquivos, onde cada um armazena os registros de dados do mesmo tipo ALUNO mantém dados de cada estudante CURSO preserva os dados sobre cada curso DISCIPLINA guarda os dados de cada disciplina do curso HISTORICO_ESCOLAR mantém as notas recebidas por alunos nas diversas disciplinas cursadas PRE_REQUISITO armazena os pré-requisitos de cada curso Um Exemplo de BD 15/02/2011 Banco de Dados 17 Para DEFINIR o BD, devemos especificar a estrutura de cada registro, em cada arquivo, considerando-se os diferentes tipos de elementos dos dados a serem armazenados Por exemplo, cada registro ALUNO inclui os dados que representam o Nome do estudante, o seu Numero, a sua Turma (1 – calouro, 2 – veterano, ...) e habilitação do curso (Curso_Hab – mat, CC, ...) Um Exemplo de BD 15/02/2011 Banco de Dados 18 Precisamos ainda especificar os tipos de dados para cada elemento de dados em um registro Por exemplo, Nome em ALUNO pode ser uma string de caracteres Registros de diferentes arquivos podem estar relacionados Por exemplo, o registro para “Smith” em ALUNO está relacionado a dois registros em HISTORICO_ESCOLAR, que especifica as notas de “Smith” em duas disciplinas Um Exemplo de BD 15/02/2011 Banco de Dados 19 A manipulação do BD envolve consultas (query) e atualizações Consultas e atualizações são especificadas na linguagem de consulta do SGBD, antes de serem processadas Exemplo de consulta: Recuperação do histórico escolar de “Smith” Exemplo de atualização: Mudar a turma de “Smith” para veteranos Características da Abordagem de BD 15/02/2011 Banco de Dados 20 Inicialmente, nos sistemas tradicionais de arquivos, cada usuário define e implementa os arquivos necessários para uma aplicação específica, mantendo as suas informações em arquivos separados Na abordagem de BD, um único repositório de dados é definido uma única vez, mantido e então acessado por vários usuários Características da Abordagem de BD 15/02/2011 Banco de Dados 21 Características da Abordagem de BD 15/02/2011 Banco de Dados 22 Características da Abordagem de BD 15/02/2011 Banco de Dados 23 Características da Abordagem de BD 15/02/2011 Banco de Dados 24 Características da Abordagem de BD 15/02/2011 Banco de Dados 25 Características da Abordagem de BD 15/02/2011 Banco de Dados 26 Funcionalidades da Abordagem de SGBD 15/02/2011 Banco de Dados 27 Para garantirmos um bom gerenciamento de um BD, devemos usar um SGBD de qualidade, considerando as capacidades (funcionalidades) que ele possui Essas capacidades vão além das características discutidas na abordagem de BD O “Administrador do BD” deve saber fazer uso dessas funcionalidades para atingir objetivos relacionados ao projeto, à administração e ao uso de um grande BD multiusuário Funcionalidades da Abordagem de SGBD 15/02/2011 Banco de Dados 28 Controle de redundância Não permite que os mesmos dados sejam armazenados mais de uma vez no BD, evitando problemas, como: duplicação de esforços para atualização, espaço de armazenamento maior, inconsistência de dados Restrição a acessos não autorizados Restrição de acesso a partes do BD ou restrição de acesso ao BD em relação às operações (consultar/atualizar) Para tal, mecanismos de segurança são oferecidos Funcionalidades da Abordagem de SGBD 15/02/2011 Banco de Dados 29 Garantia de armazenamento persistente para objetos do programa As estruturas de dados manipuladas por linguagens são complexas A abordagem SGBD permite o armazenamento dessas estruturas Essencialmente útil para sistemas de BD e linguagens orientadas a objetos Funcionalidades da Abordagem de SGBD 15/02/2011 Banco de Dados 30 Garantia de armazenamento persistente para objetos do programa As estruturas de dados manipuladas por linguagens são complexas A abordagem SGBD permite o armazenamento dessas estruturas Essencialmente útil para sistemas de BD e linguagens orientadas a objetos Funcionalidades da Abordagem de SGBD 15/02/2011 Banco de Dados 31 Processamento eficiente de consultas, através do armazenamento de estruturas Os sistemas de BD devem oferecer funcionalidades para a execução de atualizações e consultas eficientemente Para tal, o SGBD possui estruturas de dados (arquivos) auxiliares, chamadas índices (indexes), usadas para aumentar a velocidade de pesquisa dos registros desejados do BD Backup e Restauração Um SGBD deve prover funcionalidades para restauração do BD em casos de falhas de hardware e software Funcionalidades da Abordagem de SGBD 15/02/2011 Banco de Dados 32 Múltiplas interfaces para os usuários Como diversos tipos de usuários utilizam o BD, o SGBD deve prover interfaces diferentes para cada um deles Essas interfaces podem incluir: Linguagens de consulta para usuários casuais, linguagens de programação para programadores de aplicação, formulários* e seqüências de comandos para usuários parametrizáveis, interfaces de menus*para usuários autônomos * Interfaces Gráficas para Usuários Funcionalidades da Abordagem de SGBD 15/02/2011 Banco de Dados 33 Representação de relacionamentos complexos entre os dados Como um BD pode incluir uma grande variedade de dados inter-relacionados, o SGBD deve ter a capacidade de representar esses relacionamentos, bem como recuperar e atualizar os dados de forma fácil e eficiente Funcionalidades da Abordagem de SGBD 15/02/2011 Banco de Dados 34 Restrições de integridade A maioria das aplicações de BD possuem restrições sobre seus dados O SGBD deve prover funcionalidades para a definição e garantia dessas restrições Por exemplo: De tipos de dados, de unicidade de valor, de dependência entre registros de arquivos diferentes Definição de regras Para geração de novas informações a partir da inferência de fatos armazenados no BD Para disparar ações quando eventos e condições ocorrem Vantagens da Abordagem de SGBD 15/02/2011 Banco de Dados 35 Potencial para garantia de padrões Definição de padrões de nomes e formato dos elementos de dados, formatos de exibição, estruturas de relatórios, terminologia entre os usuários do BD Redução no tempo de desenvolvimento de aplicações Flexibilidade para alterar a estrutura do BD quando os requisitos da aplicação mudam Disponibilidade para atualizar as informações entre seus diversos usuários Economias de escala, reduzindo o custo total da operação e gerenciamento do BD pela superposição entre as atividades de processamento de dados pessoais em diferentes departamentos ou projetos Indicações de Uso da Abordagem de SGBD 15/02/2011 Banco de Dados 36 Armazenar grandes volumes de informação Localizar rapidamente determinada informação Atualizar a informação de maneira ágil e consistente Organizar os dados em diferentes ordens (visões) Produzir listas ou relatórios através de consultas ao BD Gerar estatísticas ... Indicações de Não Uso da Abordagem de SGBD 15/02/2011 Banco de Dados 37 A abordagem de SGBD implica em custos adicionais, devido a alguns fatores: Alto investimento em HW, SW e treinamento Generalidade do SGBD para definição e processamento de dados Esforços adicionais para funções de segurança, controle de concorrência, recuperação e integridade Indicações de Não Uso da Abordagem de SGBD 15/02/2011 Banco de Dados 38 Assim, em algumas situações pode não ser indicado o uso de um SGBD, como: Aplicações de BD simples e bem definidas, onde não se espera muitas mudanças Requisitos rigorosos, de tempo real, para alguns programas de aplicação, onde não se pode esperar, devido às atividades extras do SGBD Sistemas embarcados com capacidade limitada de armazenamento O acesso de múltiplos usuários aos dados não é necessário Pessoas Envolvidas 15/02/2011 Banco de Dados 39 Pessoas Envolvidas 15/02/2011 Banco de Dados 40 História e Evolução das Aplicações de BD 15/02/2011 Banco de Dados 41 Sistemas Hierárquicos e de Rede Implementados em mainframes, entre meados de 1960 até os anos 70 e 80 Aplicações com grande número de registros de estruturas semelhantes e muitos tipos de registros e diversos inter-relacionamentos entre eles – redundância Mistura (confusão) entre os relacionamentos conceituais, armazenamento físico e localização de registros no disco Pouca flexibilidade ao acesso dos dados quando novas consultas e transações eram necessárias Dificuldade na evolução do BD Só forneciam interfaces para linguagens de programação Alto tempo na implementação de novas consultas e transações, pois novos programas tinham que ser escritos, testados e depurados História e Evolução das Aplicações de BD 15/02/2011 Banco de Dados 42 Sistemas de BD Relacionais Surgiram no início dos anos 80 e estão em uso até os dias atuais Separação entre o armazenamento físico dos dados e sua representação conceitual Forte fundamentação matemática Introdução de linguagens de consulta Flexibilidade para o desenvolvimento rápido de novas consultas e para reorganização do BD quando os requisitos eram alterados História e Evolução das Aplicações de BD 15/02/2011 Banco de Dados 43 Sistemas de BD Orientados a Objetos Surgiram no início dos anos 80 com o aparecimento das linguagens orientadas a objetos e a necessidade de armazenar e partilhar objetos complexos Modelo complexo e falta de padrão inicial contribuíram para seu uso limitado Atualmente, usados em aplicações especializadas, como projetos de engenharia, publicidade multimídia e sistemas para indústria História e Evolução das Aplicações de BD 15/02/2011 Banco de Dados 44 Sistemas de BD para Troca de Dados na Web Disponibilização de dados extraídos de SGBDs (servidores) em páginas Web Desenvolvimento de várias técnicas para permitir o intercâmbio entre os vários tipos de BD e as páginas Web, como a integração de dados Uso da XML (eXtended Markup Language) como padrão para troca de dados, entre os modelos empregados em documentos Web e os de BD História e Evolução das Aplicações de BD 15/02/2011 Banco de Dados 45 Extensão das capacidades de BD tradicionais para novas aplicações Aplicações científicas para armazenamento de grandes quantidades de dados resultantes de experimentos científicos – física avançada, mapeamento do genoma humano Aplicações para armazenamento e recuperação de imagens, como: notícias escaneadas ou fotografias, imagens de satélites, imagens de procedimentos médicos (raios X ou ressonância magnética) Aplicações para armazenamento e recuperação de vídeos História e Evolução das Aplicações de BD 15/02/2011 Banco de Dados 46 Extensão das capacidades de BD tradicionais para novas aplicações Aplicações de data mining, que analisam grandes quantidades de dados, pela pesquisa de ocorrências de padrões específicos ou relacionamentos Aplicações espaciais para armazenamento de localizações espaciais dos dados, como informações de tempo ou mapas Aplicações relativas a séries temporais, que guardam informações, como dados econômicos, em intervalos de tempo regulares, como: vendas diárias ou composição mensal do produto interno bruto Referências Usadas 15/02/2011 Banco de Dados 47
Compartilhar