Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados Introdução Prof. Luís Alexandre Introdução a Banco de Dados 2 Conteúdo • Abrangência e uso • Evolução dos sistemas de informação • Novos modelos e sistemas de banco de dados • Tecnologias associadas a banco de dados • Modelagem e projeto de bancos de dados • Novas aplicações e tecnologias de banco de dados Introdução a Banco de Dados 3 Abrangência e uso • Nas atividades diárias necessitamos de aplicações que envolvem bancos de dados: – Bancos; – Reservas em hotéis; – Companhias aéreas; – Catálogo informatizado em bibliotecas; – Assinaturas de revistas; – Compras em supermercados; – Etc. Introdução a Banco de Dados 4 Sistemas de Informação • São recursos vitais nas organizações; • Atendem a alguma necessidade funcional do negócio da organização; • Componentes dos sistemas de informação: – Organização – Pessoas – Tecnologia (hardware, software e telecomunicações) Introdução a Banco de Dados 5 Roda Viva Tecnológica Hardware e telecomunicações cada vez mais poderosos Softwares cada vez mais amigáveis Cada vez mais usuários, cada vez mais exigentes Introdução a Banco de Dados 6 Programa com dados armazenados Programa com gerência de arquivos Sistema de Gerência de BD Programa com gerência de arquivosPrograma com gerência de arquivos Programa de aplicação de BDPrograma deaplicação de BD arquivos de dados banco de dados Programa com dados armazenadosPrograma com dados armazenados Evolução dos Sistemas de Informação Introdução a Banco de Dados 7 Sistema de Informação Programa de aplicação de BDSGBD Programa de aplicação de BDAplicação Dados +Regras ?! Desenvolver um projeto de sistema de informação consiste em traduzir um “problema” do mundo real em uma “solução” que envolve a organização, pessoas e tecnologia (hardware e software). SISTEMA DE INFORMAÇÃO Mundo Real Usuário Usuário Introdução a Banco de Dados 8 Banco de dados • Coleção de dados relacionados, logicamente coerentes e que permitam a geração de informações de interesse para uma organização. • Projetado, construído e preenchido com dados para um propósito específico. • Destinado à utilização por grupo de usuários, diretamente ou por meio de aplicações pré- concebidas. Introdução a Banco de Dados 9 Uma arquitetura simplificada de sistema de banco de dados Definição do BD (Metadados) BD armazenado Consultas / Programas de Aplicação Software para processar consultas / programas Software para acessar dados armazenados Usuários Sistema de BD SGBD Introdução a Banco de Dados 10 Vantagens do controle centralizado de dados • controle / redução de redundâncias; • padronização de dados; • integridade mantida: assegurando que os dados estão corretos; • independência de dados e dispositivos; • restrições de segurança; • diminuição de inconsistências; • compartilhamento de dados; • referência cruzada. Introdução a Banco de Dados 11 Independência de dados Capacidade de mudar o esquema num nível de um sistema de banco de dados sem ter que mudar o esquema no nível seguinte mais alto. Independência lógica de dados: - Capacidade de mudar o esquema conceitual sem ter que mudar esquemas externos ou programas de aplicação. Independência física de dados: - Capacidade de mudar o esquema interno sem ter que mudar o esquema conceitual. Introdução a Banco de Dados 12 Características típicas de SGBD • Persistência dos objetos do BD; • Definição e manipulação dos dados (DDL, DML e DCL); • Carga e descarga (leitura e armazenamento rápidos); • Cópia e recuperação (backup); • Segurança de acesso e dos dados (níveis de segurança); • Integridade dos dados; • Controle de concorrência das transações; • Eficiente acesso aos dados; • Independência de dados; • Facilidade de administração; • Redução do tempo de desenvolvimento do projeto. Introdução a Banco de Dados 13 BDs não são sempre a solução • Sobrecustos – Alto investimento inicial e possível necessidade de hardware adicional. – Custo da generalidade do SGBD para definição e processamento dos dados. – “Overhead” para garantir segurança, controle de concorrência, recuperação e integridade. Introdução a Banco de Dados 14 BDs não são sempre a solução � Quando NÃO usar BDs – O volume de dados é pequeno e as aplicações são simples, bem definidas. – Mudanças não são esperadas. – Existem requisitos estritos de tempo real que não podem ser satisfeitos por causa do “overhead” do SGBD. – Acessos múltiplos e concorrentes não são necessários. Introdução a Banco de Dados 15 Classes de usuários de BD • Administradores – Administrador de dados – Administrador do banco de dados (DBA) – Pessoal de suporte e operação – Analista de Dados • Desenvolvedores – Analistas de sistemas – Projetistas de bancos de dados – Programadores de aplicações • Usuários finais – Usuários ocasionais e sofisticados – Operadores de aplicações Introdução a Banco de Dados 16 DBA É a pessoa encarregada de instalar, configurar e gerenciar um SGBD. São suas funções: • Decidir sobre o conteúdo de informações; • decidir como os dados serão representados no BD (projeto físico e lógico); • definir os controles de segurança e integridade; • definir estratégias de reserva e recuperação; • monitorar o desempenho das aplicações. Analista de Dados • Profissional da área de banco de dados responsável pela extração de conhecimento (padrões) de bases de dados por meio da aplicação de algoritmos. Introdução a Banco de Dados 17 Introdução a Banco de Dados 18 Evolução dos Bancos de Dados (Khoshafian 1995) Sistemas de arquivos BD modelo em rede BD hierárquico BD relacional Linguagens OO Modelos semânticos Objetos complexos BD OO Information retrieval Inteligência artificialHipermídia BD “inteligente” Introdução a Banco de Dados 19 Bancos de Dados Relacionais • Características marcantes – simplicidade e uniformidade do modelo (tabelas com células atômicas) – formalismo matemático (Álgebra, Cálculo Relacional e a Teoria dos Conjuntos) – linguagem padronizada (SQL - Structured Query Language) • Desvantagens gradativamente superadas em mais de 40 anos de pesquisa e desenvolvimento: – desempenho – falta de expressão semântica Introdução a Banco de Dados 20 Mercado de SGBDs RO • Domínio total dos SGBDs relacional-objeto (RO); • Principais fornecedores e produtos: – Oracle; – Microsoft (SQL Server e Access); – MySQL; – PostgreSQL; – IBM (DB2, Informix) – relacional e NO-SQL; – Ingres; – Progress; – Symantec (Sybase); – Interbase (Embarcadero); – Caché Introdução a Banco de Dados 21 Contribuição da Orientação a Objetos 2 abordagens : SGBD OO “puro”: extensão de linguagem de programação OO (ex: C++ e Smalltalk) com persistência de objetos, característica de SGBD. • SGBD relacional-objeto (ou “universal”): Extensão de SGBD relacional com características OO (classes, herança e objetos complexos). Introdução a Banco de Dados 22 Exemplos de SGBDs OO • Exemplos de SGBDs OO: – O2, ObjectStore, Gemstone, Poet, Versant e Objectivity. Introdução a Banco de Dados 23 Características dos SGBDs Relacionais-Objeto • Tipos de dados extensíveis no contexto da SQL; • Suporte a objetos complexos: – tipos estruturados de objetos; – conjuntos de objetos; – referências (ponteiros) a outros objetos; • Suporte ao princípio da herança, no contexto da SQL; • Subsistema de regras de produção (ou do negócio); Introdução a Banco de Dados 24 Sistemas de Gerência de Banco de Dados Programa de aplicação de BDSGBD Programa deaplicação de BDProgramadeaplicação de BD dados independência de dados SGBD ativo ou dedutivo dados e regras Programa de aplicação de BD independência de conhecimento Tradicionais “Inteligentes” Introdução a Banco de Dados 25 Banco de Dados Dedutivo • Regras de dedução Se <premissa> Então <conclusão> • Exemplo: regra: Se Humano(X) EntãoMortal(X) dado (fato armazenado): Humano(Sócrates) fato deduzido: Mortal(Sócrates) Introdução a Banco de Dados 26 Banco de Dados Ativo • Regras de ação: Quando <evento> Se <condição> Então <ação> • Exemplo: Quando: Sempre que a quantidade em estoque do item X for modificada Se: Quantidade em estoque < N (mínima) Então: Emitir pedido de compra de N itens X Introdução a Banco de Dados 27 Implementação de regras ativas “Triggers” (gatilhos) e procedimentos armazenados CREATE TRIGGER controle_estoque_X AFTER UPDATE OF quantidade_em_estoque ON ITEM IF ITEM.nome = “X” AND :new.quantidade < N THEN emitir_pedido_compra (“X”, N) Introdução a Banco de Dados 28 Evolução das tecnologias associadas a bancos de dados • Bancos de dados centralizados; • Arquitetura cliente-servidor com servidor de arquivos; • Arquiteturas cliente-servidor com servidor de banco de dados: – servidor de dados; – servidores de dados e regras. Introdução a Banco de Dados 29 Bancos de Dados Centralizados hardware + sistema operacional Programa de aplicação de BDSGBD Programa de aplicação de BD Programa de aplicação de BD dados (Década de 70) terminais locais modem terminais remotos Introdução a Banco de Dados 30 Redes de Microcomputadores microcomputadores (estações de trabalho) cada vez mais poderosos (Década de 80) cabo da rede Introdução a Banco de Dados 31 Arquitetura Cliente/Servidor com Servidor de Arquivos Servidor de Arquivos Servidor de ImpressãoPrograma + SGBD Programa + SGBD cabo da rede Introdução a Banco de Dados 32 Arquitetura Cliente/Servidor com Servidor de Bancos de Dados Servidor de Arquivos Servidor de ImpressãoPrograma Servidor de Banco de Dados SGBD Programa cabo da rede Introdução a Banco de Dados 33 Programa de aplicação de BDSGBD Programa deaplicação de BDAplicaçõesdados servidor clientes Arquitetura cliente-servidor com servidor de dados Interface do usuário + lógica do negócioBanco de dados Introdução a Banco de Dados 34 Programa de aplicação de BD SGBD ativo Programa de aplicação de BDAplicações Dados + regras servidor clientes Arquitetura cliente-servidor com servidor de dados e funções Duas camadas (“two-tiers”) Interface do usuário + parte da lógica do negócioBanco de dados + parte da lógica do negócio Introdução a Banco de Dados 35 Programa de aplicação de BD SGBD ativo Programa de aplicação de BDAplicações regras Servidor de regras clientes Arquitetura cliente-servidor com servidor de dados e funções Três camadas (“three-tiers”) SGBDdados Servidor de dados Interface do usuário + parte da lógica do negócio Banco de dados Banco de regras Introdução a Banco de Dados 36 Processo de Desenvolvimento de Sistemas de Informação Ciclo de vida de sistemas • Definição; • Projeto; • Implementação; • Testes; • Carga /conversão de dados/programas; • Implantação (incluindo treinamento); • Produção (incluindo manutenção e monitoramento). Introdução a Banco de Dados 37 Mundo real Programa de aplicação de BDSGBD Programa de aplicação de BD Programa de aplicação de BD dados e regras ?! Introdução a Banco de Dados 38 Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Coleta/Especificação de Requisitos Mundo real Programa de aplicação de BDSGBD Programa de aplicação de BD Programa de aplicação de BD dados e regras Requisitos Funcionais Análise Funcional Projeto Funcional Programação Prototipação Introdução a Banco de Dados 39 Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Coleta/Especificação de Requisitos Mundo real Programa de aplicação de BDSGBD Programa de aplicação de BD Programa de aplicação de BD dados e regras Requisitos Funcionais Análise Funcional Projeto Funcional Programação Ferramenta (CASE) Introdução a Banco de Dados 40 Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Coleta/Especificação de Requisitos Mundo real Programa de aplicação de BDSGBD Programa de aplicação de BD Programa de aplicação de BD dados e regras Requisitos Funcionais Análise Funcional Projeto Funcional ProgramaçãoLinguagens visuais Introdução a Banco de Dados 41 Ferramentas de Projeto (CASE) • Modelagem: –Modelo Entidade-Relacionamento; –Modelos de processos; –Modelos orientados a objeto; • Geradores de código; • Dicionário de dados; • Engenharia reversa e avante. Introdução a Banco de Dados 42 Exemplos de Ferramentas CASE • ERwin • Oracle Designer • DBDesigner4 • PgModeler • DBSchema • Toad Data Modeler • Workbench • DeZign • ER/Studio • PowerDesigner Introdução a Banco de Dados 43 Ferramentas de programação • Linguagens Gráficas e Visuais; • Construtores de formulários e relatórios; • Programação baseada em eventos; • Cada vez mais orientadas a objeto; • Cada vez mais cliente /servidor; • Suporte a várias plataformas; Introdução a Banco de Dados 44 Novas aplicações de banco de dados SGBD com dados e funções espaciais Dados + regras Sistemas de Informações Geográficas (SIG) Introdução a Banco de Dados 45 DATA WAREHOUSE BD 1 BD 2 BD 3 aplicação aplicação aplicação Sistema de informações executivas Sistema de suporte à decisão Introdução a Banco de Dados 46 Novas aplicações de banco de dados • Projetos do tipo Genoma; • Bibliotecas digitais; • Monitoramento de imagens de satélites; • Redes sociais 47 Tópicos na área (SBBD) Adaptação de Tecnologias de Banco de Dados na Indústria Aplicações Industriais Avançadas de Banco de Dados Aplicações Financeiras, Governamentais e em Áreas Sociais Diversas Aplicações Médicas Aplicações envolvendo Bases de Conhecimento Aplicações de Mineração de Dados e Descoberta de Conhecimento Armazém de Dados (Data Warehousing) Autorização, Privacidade e Segurança de Dados Bancos de Dados Ativos Banco de Dados Auto-Gerenciados e Autônomos Bancos de Dados Científicos e Estatísticos Bancos de Dados Distribuídos, Paralelos e Peer-to-Peer Bancos de Dados Espaciais Bancos de Dados Multi-dimensionais e Temporais Bancos de Dados Móveis Bancos de Dados Multimídia Bancos de Dados Semi-estruturados e XML Bancos de Dados de Sensores e Processamento de Streams Bancos de Dados Textuais Bancos de Dados na Web Banco de Dados para Bio-Informática Banco de Dados Embutidos e para Computação Pessoal Bibliotecas Digitais e Gerenciamento de Documentos • - Bibliotecas Digitais - Controle de Concorrência e Recuperação - Comércio Eletrônico e Banco de Dados - Computação Móvel - Descoberta de Conhecimento e Mineração de Dados - Desempenho e Benchmark - Experiências de uso de Tecnologias de Banco de Dados - Gerenciamento Ambiental - Gerenciamento de Dados em Empresas - Gerência de Meta-dados - Integração de Informações e Interoperabilidade - Linguagens de Consulta e Interfaces com Usuário - Mediadores e Plataformas para Gerenciamento de Dados - Métodos de Acesso e Indexação - Orientação a Objetos e Bancos de Dados - Processamento de Consultas e Otimização - Processos de Negócios - Projeto de Banco de Dados - Recuperação de Informação - Qualidade,Proveniência (Provenance) e Semântica de dados - Semântica de Dados - Serviços de Banco de Dados na Web - Sistemas de Informação Geográfica - Técnicas de Modelagem de Banco de Dados - Visualização de Dados - Workflow e Banco de Dados - Bases de Conhecimento - NO-SQL Introdução a Banco de Dados 48 Conclusão Na Informática, TUDO ACABA EM BANCO DE DADOS!
Compartilhar