Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados 1 • Aula 01 Claudio Lobo Banco de Dados 1 Slide 2 Objetivos • C01. Compreender os conceitos, de dados, estruturas de dados e bancos de dados. • C01H01. Reconhecer uma estrutura de dados e sua função em um sistema de informação; • C01H02. Entender o que é um banco de dados e como este se diferencia do uso tradicional de arquivos em sistemas de informação. Claudio Lobo Banco de Dados 1 Slide 3 Conceitos Básicos • Dados – São fatos conhecidos que podem ser registrados e que possuem significado implícito [ELMASRI/NAVATHE] • Ex: venda de gasolina gera alguns dados: data da compra, preço, quantidade, etc. • Dados Fatos sobre alguma coisa ou evento Informação Dados relacionados organizados e tratados de uma maneira para ser útil para tomar decisões especificas; Dados endossados por relevância e sentido (Peter Drucker) Conhecimento Informações relacionadas organizadas em uma maneira para produzir um contexto para tomar decisões especificas. Claudio Lobo Banco de Dados 1 Slide 4 Conceitos Básicos • Dados Claudio Lobo Banco de Dados 1 Slide 5 Conceitos Básicos • Minimundo ou universo de discurso (UoD) – Representa algum aspecto do mundo real. – Coleção logicamente coerente de dados com algum significado inerente. – Construído para uma finalidade específica. • Exemplo de um grande banco de dados comercial – Amazon.com Claudio Lobo Banco de Dados 1 Slide 6 Conceitos Básicos • Metadados – Metadados (DD ou Dicionário de dados), ou Metainformação, são dados sobre outros dados. • Um item de um metadado pode dizer do que se trata aquele dado, geralmente uma informação inteligível por um computador. • Os metadados facilitam o entendimento dos relacionamentos e a utilidade das informações dos dados. Claudio Lobo Banco de Dados 1 Slide 7 Conceitos Básicos • Arquivo – Na informática, um arquivo é um agrupamento de registros que: • Seguem uma regra estrutural. • Contém informações (dados) sobre uma área específica de conhecimento. – Estes arquivos podem conter informações de qualquer tipo de dados: • Ex.: textos, imagens, vídeos, programas, etc. Claudio Lobo Banco de Dados 1 Slide 8 Conceitos Básicos • Banco de Dados – Coleção de dados relacionados [ELMASRI/NAVATHE]. – Conjunto de dados integrados que têm por objetivo atender a uma comunidade especifica [HEUSER]. – Coleção de dados organizados, que constituem, de acordo com sua manipulação, informações úteis de uma determinada organização em particular. Claudio Lobo Banco de Dados 1 Slide 9 Conceitos Básicos • Sistema Gerenciador de Banco de Dados – SGBD – Conjuntos integrados de programas que permitem criar e manipular bases de dados • Os dados são estruturados com relativa independência das aplicações que os manipulam. – Permite alterar a estrutura dos dados de uma base de dados sem necessidade de reformular as respectivas aplicações que operam com os dados. Claudio Lobo Banco de Dados 1 Slide 10 Conceitos Básicos • Modelo de Dados – Especificação das estruturas de dados e regras de negócio necessárias para suportar uma área de negócios. • Representa um conjunto de requisitos de informações de negócio. • É parte importante do desenho de um sistema de informação. Claudio Lobo Banco de Dados 1 Slide 11 Conceitos Básicos • Modelo de Dados – É um modelo abstrato. • Descreve, de maneira conceitual, os dados a serem utilizados em um Sistema de Informações ou que pertencem a um domínio. – Normalmente, é representado de forma gráfica, para facilitar a visualização dos objetos (tabelas, índices e relacionamentos). – A principal ferramenta do modelo é sua representação gráfica, o Diagrama Entidade Relacionamento (DER). • Normalmente o modelo e o diagrama são conhecidos por suas siglas: MER e DER. Claudio Lobo Banco de Dados 1 Slide 12 Conceitos Básicos • Modelo de Dados – Atende a três perspectivas: • Modelagem Conceitual – Representação de alto nível. – Considera exclusivamente o ponto de vista do usuário criador do dado. • Modelagem Lógica – Agrega alguns detalhes de implementação. • Modelagem Física – Demonstra como os dados são fisicamente armazenados. Claudio Lobo Banco de Dados 1 Slide 13 Características do uso de SGBD • Processamento de arquivo tradicional – Cada usuário define e implementa os arquivos necessários para uma aplicação de software específica. – Ex.: • Secretaria controla notas dos alunos, de forma independente. • Contabilidade controla mensalidades dos alunos, de forma independente. – Isso gera redundância, desperdício, inconsistência. • Abordagem de banco de dados – Um único repositório mantém dados que são definidos uma vez e depois acessados por vários usuários. Claudio Lobo Banco de Dados 1 Slide 14 Características do uso de SGBD • Natureza de autodescrição de um sistema de banco de dados. – O SGBD contém definição completa de sua estrutura e restrições. – Está armazenada no Catálogo do SGBD. – As informações armazenadas no catálogo são chamadas de Metadados. • Descrevem a estrutura do BD primário. – O catálogo é usado pelo: • Software de SGBD. • Usuários do banco de dados que precisam de informações sobre a estrutura do banco de dados. Claudio Lobo Banco de Dados 1 Slide 15 Características do uso de SGBD • Catálogo de Dados Claudio Lobo Banco de Dados 1 Slide 16 Características do uso de SGBD • Natureza de autodescrição de um sistema de banco de dados. – No processamento tradicional de arquivos: • A definição dos dados faz parte da aplicação. • A aplicação fica “presa” a um banco específico. Claudio Lobo Banco de Dados 1 Slide 17 Características do uso de SGBD • Isolamento entre programas e dados, e abstração de dados. – Independência entre dados e programa (aplicação). • A estrutura dos arquivos de dados é armazenada no catálogo do SGBD separadamente dos programas de acesso. – Independência da operação do programa. • Programas acessam dados sem se preocupar em como as operações são feitas, internamente, pelo SGBD. – Essas duas características juntas formam a abstração de dados. • Permite a independência de dados do programa e a independência da operação do programa. Claudio Lobo Banco de Dados 1 Slide 18 Características do uso de SGBD • Suporte de múltiplas visões dos dados. – Visão • Subconjunto do banco de dados. • Contém dado virtual derivado dos arquivos do banco de dados, mas que não estão armazenados explicitamente. – SGBD multiusuário • Usuários têm uma série de aplicações distintas. • Precisa oferecer facilidades para definir múltiplas visões. Claudio Lobo Banco de Dados 1 Slide 19 Características do uso de SGBD • Compartilhamento de dados e processamento de transação multiusuário. – Permite que múltiplos usuários acessem o banco de dados ao mesmo tempo. – Deve possuir software de Controle de Concorrência. • Garante que vários usuários tentando atualizar o mesmo dado façam isso de uma maneira controlada. • Resultado dessas atualizações seja correto. • Exemplo: – Aplicações de processamento de transação on-line (OLPT). Claudio Lobo Banco de Dados 1 Slide 20 Características do uso de SGBD • Compartilhamento de dados e processamento de transação multiusuário. – Transação • Programa em execução ou processo que inclui um ou mais acessos ao banco de dados. – Fundamental para muitas aplicações de banco de dados. Claudio Lobo Banco de Dados 1 Slide 21 Características do uso de SGBD • Compartilhamento de dados e processamento de transação multiusuário. – Transação • O SGBD deve garantir as seguintes propriedades da transação: – Propriedade de isolamento» Cada transação parece executar isoladamente das outras transações. – Propriedade de atomicidade » Ou todas as operações em uma transação são executadas ou nenhuma é. Claudio Lobo Banco de Dados 1 Slide 22 Quem usa SGBD – Atores • Administrador de banco de dados (DBA) – Responsável por: • Autorizar o acesso ao banco de dados. • Coordenar e monitorar seu uso. • Adquirir recursos de software e hardware. • Projetistas de banco de dados – Responsáveis por: • Identificar os dados a serem armazenados. • Escolher estruturas apropriadas para representar e armazenar esses dados. Claudio Lobo Banco de Dados 1 Slide 23 Quem usa SGBD – Atores • Usuários finais – Pessoas cujas funções exigem acesso ao banco de dados. • Analistas de sistemas – Identificam as necessidades dos usuários finais. • Programadores de aplicações – Implementam as especificações identificadas pelos analistas, como programas. Claudio Lobo Banco de Dados 1 Slide 24 Quem não usa o SGBD – Bastidores • Projetistas e implementadores de sistema de SGBD – Projetam e implementam os módulos e as interfaces do SGBD como um pacote de software. • Desenvolvedores de ferramentas. – Projetam e implantam ferramentas para SGBD. • Operadores e pessoal de manutenção. – Responsáveis pela execução e manutenção do ambiente de hardware e software para o sistema de banco de dados. Claudio Lobo Banco de Dados 1 Slide 25 Vantagens de usar a abordagem de SGBD • Controle de redundância. – Impede: • Atualizações em múltiplas tabelas. – Duplicação de esforços. • Desperdício de espaço de armazenamento. – Sério para grandes bancos de dados. • Inconsistência. – Qual dado é o verdadeiro? – Às vezes é necessário usar a redundância controlada para melhorar o desempenho das consultas. • Agrupar dados para agilizar consultas. Claudio Lobo Banco de Dados 1 Slide 26 Vantagens de usar a abordagem de SGBD • Restringe o acesso não autorizado. – Subsistema de segurança e autorização. – Software privilegiado apenas para DBA. • Oferece armazenamento persistente para objetos do programa. – Objeto complexo em C++ pode ser armazenado de forma permanente em um SGBD orientado a objeto. – Problema de divergência de impedância. • SGBD tradicional possui estruturas de dados incompatíveis com a linguagem de programação. • Os SGBD orientados a objeto em geral oferecem compatibilidade da estrutura de dados. Claudio Lobo Banco de Dados 1 Slide 27 Vantagens de usar a abordagem de SGBD • Oferece estruturas de armazenamento e técnicas de pesquisa para o processamento eficiente de consulta – Índices. • Estruturas de dados especializadas para aumentar a velocidade de consultas. – Estruturas de dados em árvores. – Buffering ou caching • Armazena parte dos dados na memória RAM, para agilizar consultas. – Processamento e otimização de consulta. • Escolha eficiente do plano de execução da consulta. Claudio Lobo Banco de Dados 1 Slide 28 Vantagens de usar a abordagem de SGBD • Oferece backup e recuperação – Subsistema de backup e recuperação de SGBD é responsável pela recuperação de falhas. • Oferece múltiplas interfaces do usuário. – Interfaces adequadas em nível de conhecimento do usuário. • Ex.: Gráficas (usuário casual, com pouca experiência) • Representa relacionamentos complexos entre dados. – Pode incluir muitas variedades de dados que estão inter- relacionados de diversas maneiras Claudio Lobo Banco de Dados 1 Slide 29 Vantagens de usar a abordagem de SGBD • Impõe restrições de integridade – Restrição de integridade referencial. • Ex.: cada registro de turma deve estar relacionado a um registro de disciplina – Restrição de chave ou singularidade. • Ex.: Cada registro de disciplina deverá ter um valor exclusivo para Numero_disciplina. – Regras de negócio. – Regras inerentes do modelo de dados. Claudio Lobo Banco de Dados 1 Slide 30 Vantagens de usar a abordagem de SGBD • Permite dedução e ações usando regras – Sistemas de banco de dados dedutivos • Oferecem capacidades para definir regras de dedução • Deduzem novas informações com base nos fatos armazenados no banco de dados. – Ex.: Quando um aluno estará em recuperação. – Gatilhos • Regra ativada por ações na tabela. – Procedimentos armazenados • Procedimentos mais elaborados para impor regras. Claudio Lobo Banco de Dados 1 Slide 31 Vantagens de usar a abordagem de SGBD • Implicações adicionais do uso da abordagem de banco de dados: – Tempo reduzido para desenvolvimento de aplicação. – Flexibilidade. – Disponibilidade de informações atualizadas. – Economias de escala. Claudio Lobo Banco de Dados 1 Slide 32 Quando não usar a abordagem de SGBD • Mais desejável usar arquivos comuns sob as seguintes circunstâncias: – 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, que podem não ser atendidos devido as operações extras executadas pelo SGBD. – Sistemas embarcados com capacidade de armazenamento limitada. – Nenhum acesso de múltiplos usuários aos dados. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32
Compartilhar