Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 1 Bibliografia • [1] ELMASRI, R., NAVATHE, S. B. - Fundamentals of Database Systems, Redwood City: Benjamin/Cummings Publishing Company, Inc., 1994. • [2] KORTH, H., SILBERSCHATZ, A. - Sistema de Bancos de Dados, São Paulo: Makron Books, 1998. • [3] COUGO, PAULO - Modelagem Conceitual e Projeto de Bancos de Dados, Rio de Janeiro: Editora Campus, 1997. • Manuais de SGBDs (DBMSs) específicos. UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 2 Conceitos fundamentais... • Banco de Dados • Dados • SGBD (DBMS) UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 3 Conceitos fundamentais... • Bancos de Dados (BD) - Coleção de dados relacionados • Dados - fatos conhecidos que podem ser registrados e que possuem um significado implícito UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 4 Propriedades implícitas de um Banco de Dados... i) Um BD representa algum aspecto do mundo real (miniworld ou Universo do Discurso). Mudanças no miniworld são refletidas no BD. ii) Um BD é uma coleção logicamente coerente de dados com algum significado inerente. iii) Um BD é projetado, construído e alimentado com dados para um propósito específico. Possui um grupo intencionado de usuários e algumas aplicações préconcebidas, de interesse destes usuários. UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 5 Propriedades implícitas de um Banco de Dados... iv) Um Banco de Dados tem alguma fonte, de onde seus dados são derivados, algum grau de interação com eventos do mundo real e alguma audiência que está ativamente interessada no conteúdo dos seus dados. UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 6 Bancos de Dados - Aplicações • Caderninho (agenda) de telefones • InfoLand - Comércio de Computadores • Empresa DI que constrói e comercializa imóveis • DETRAN • Sistema SABRE • Projetos SIVAM e ZEE-RJ UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 7 Agenda de telefones • Controle manual • normalmente os dados são de interesse de um único usuário • consultas por índices • número limitado de entradas e de ítens por entrada • operações de inclusão, exclusão e alteração fáceis de realizar • a perda dos dados pode trazer sérios transtornos (falta de backup) UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 8 InfoLand - Comércio de Computadores • Universitário que monta micros e os revende • único usuário do sistema • clientes sofisticados, req uerendo configurações sob-medida • monta 8 micros/mês • dificuldade em lembrar-se das configurações • pretende expandir os negócios UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 9 InfoLand - Requisitos do Sistema... • Mala direta para os clientes com ofertas • Controle das configurações instaladas • Ofertas sob medida para cada cliente, tendo em vista a sua configuração • abatimentos e/ou brindes em função do número de clientes recomendados • financiamento das vendas (em dólar) UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 10 Empresa DI - Imóveis... • Possui 2000 imóveis para comercializar • patrimônio imobiliário (terrenos, aps, salas...) no valor de US$ 8 bi • desenvolve espaços urbanos • Atividades principais: – comercialização de imóveis – administração imobiliária UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 11 DI Imóveis - Requisitos do Sistema • • • • • • Sistema Integrado de Informações ambiente de rede (Intranet/Internet) Posição instantânea da situação do imóvel Posição financeira de cada cliente Relatórios gerenciais diversos Usuários não especializados – uso intensivo de formulários e relatórios préfabricados UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 12 Empresa DI - Imóveis... Servidor de BD Stand de Vendas UERJ - Agosto 2000 Gerências © Oscar Luiz Monteiro de Farias Público 13 DETRAN • Emite carteiras de motoristas, certificados de registro e licenciamento de veículos • Controle de cobrança das multas • Controle de cobrança de impostos • Milhares de usuários • Permite consultas via rede bancária e Internet • consultas por RENAVAM, motorista UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 14 SABRE (www.sabre.com) • Sistema de Reservas (viagens aéreas, etc.) • mais de 140.000 consultas diárias • mais de 40% das reservas efetuadas de viagens efetuadas no mundo • oferece serviços para mais de 440 Cias aéreas e 47.000 hotéis • tempo de resposta médio <= 3 seg • 210.000 terminais interconectados • Tulsa Data Center => 30 mainframes capacidade de 14,337 MIPS e 60 terabytes de armazenamento (equivalente a 15 bilhões de páginas de informação) UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 15 Projetos: i) SIVAM; ii) ZEE-RJ • Vários atores envolvidos • Multi-disciplinaridade • Ambiente distribuído • BDs e SIGs UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 16 Comparação Microcomputadores Redes de Computadores Mainframes Integração Ampla UERJ - Agosto 2000 Aplicações Pessoais/PME Aplicações Cliente-Servidor OLTP Bancos de Dados Distribuídos © Oscar Luiz Monteiro de Farias Infoland DI Imóveis Detran / SABRE Projeto SIVAM / ZEE 17 Sistema Gerenciador de Banco de Dados (SGBD)... Um SGBD - DBMS (Data Base Magement System) é uma coleção de programas que capacita os usuários a definir, criar, manipular e manter Bancos de Dados. UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 18 Sistema Gerenciador de Banco de Dados (SGBD)... • Definir um banco de dados envolve especificar as estruturas (tabelas), tipos de dados e restrições relativas aos dados armazenados no banco de dados. • Construir um banco de dados é o processo de armazenar os dados em algum meio de armazenamento que seja controlado pelo SGBD. UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 19 Sistema Gerenciador de Banco de Dados (SGBD)... • Manipular um banco de dados compreende funções como consultá-lo (query) para recuperar (recovery) determinados dados, atualizá-lo para refletir as mudanças no minimundo e gerar relatórios. • Database System = software + database UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 20 Exemplo: Banco de Dados Acadêmico • Definição: – especificar a estrutura dos registros de cada arquivo e os diferentes tipos de elementos de dados a serem armazenados em cada registro. – especificar um tipo de dados para cada elemento de dado a ser armazenado no registro. • Construção: – armazenar os dados que representam cada estudante, curso, seção, grau, e pré-requisito nos arquivos (tabelas) correspondentes • Manipulação: envolve consultas e atualizações UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 21 UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 22 Sistema Tradicional de Arquivos Emissão Histórico Escolar Matrícula Student Course Students Section Course Grade Reports Prerequisite Section UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 23 Limitações do Sistema Tradicional ... • Cada usuário define e implementa os arquivos necessários para a sua aplicação específica – Dados isolados e em diferentes arquivos – Registros incompatíveis – Duplicação de dados (redundância) • Programas dependentes dos dados UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 24 A Abordagem de Banco de Dados... • Um único repositório de dados é definido uma única vez, posteriormente é atualizado e consultado por vários usuários. • O Sistema de Banco de Dados contém a base de dados e a descrição da base de dados (catálogo ). • Meta-dados: informação armazenada no catálogo. UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 25 Arquivo do Usuário UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 26 Meta-Dados UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 27 Metadados SysTables Table Name SysColumns Number of Columns Primary Key Column Name Table Name Data Type Length Employee 10 Ssn Fname Employee Text 15 Department 4 Dnumber Minit Employee Text 1 Project 3 Pnumber Lname Employee Text 15 ... ... ... ... ... ... UERJ - Agosto 2000 ... © Oscar Luiz Monteiro de Farias 28 A Abordagem de Banco de Dados... • Independência programas-dados • Independência programa-operação operação = funtion member = método [assinatura (interface) + implementação] • abstração de dados = independência programas-dados + programa-operação • representação conceitual • modelo de dados UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 29 Múltiplas visões dos dados BD UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 30 Exemplos de visões TRANSCRIPT StudentName Smith Brown PREREQUISITES UERJ - Agosto 2000 CourseNumber COSC1310 MATH2410 MATH2410 COSC1310 COSC3320 COSC3380 StudentTranscript Grade Semester C Fall B Fall A Fall A Fall B Spring A Fall CourseName Database CourseNumber 3380 Data Structures 3320 © Oscar Luiz Monteiro de Farias Year 92 92 91 91 92 92 Sectionld 119 112 85 92 102 135 Prerequisites COSC3320 MATH2410 COSC1310 31 A Abordagem de Banco de Dados... • Suporte a múltiplas visões dos dados Uma visão pode ser um subconjunto do banco de dados ou ela pode conter dados virtuais que são derivados de arquivos do bd, mas não explicitamente armazenados. UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 32 A Abordagem de Banco de Dados... • Compartilhamento da Base de Dados – Controle de concorrência ex.: reserva de passagens aéreas – OLTP - On Line Transaction Processing UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 33 Um ambiente simplificado de Sistema de Banco de Dados Usuários/programadores Queries/programas de aplicação Sistema de Banco de Dados Software para processar queries/programas Software SGBD Software para acesso aos dados Meta-dados UERJ - Agosto 2000 Banco de Dados © Oscar Luiz Monteiro de Farias 34 Atores em Cena • Administradores de Bancos de Dados • Projetistas de Bancos de Dados • Usuários Finais • Analistas de Sistemas e Programadores UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 35 Tipos de Usuários Finais • Casuais • Naive ou paramétricos • Sofisticados • Stand-alone UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 36 Uso Intencional de um SGBD... • Controle de Redundância – multiplicação de esforços na entrada de dados – economia de espaço – consistência dos dados • Restrições a acessos não autorizados (subsistema de autorização e segurança) – controles similares se aplicam ao software de SGBD (ex.: criação de novas contas) UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 37 Uso Intencional de um SGBD... • Armazenamento persistente para estruturas de dados e objetos (bancos de dados orientados a objetos - oodb) • Uso de regras de dedução para inferir novas informações (sistemas de bancos de dados dedutivos) • Múltiplas interfaces para os usuários – linguagens de consulta (query languages), linguagens de programação, formulários, menus, linguagens naturais UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 38 Uso Intencional de um SGBD... • Representação de complexas relações entre os dados • Imposição de Restrições de Integridade – especificação de um tipo de dados para cada ítem de dados – relacionar um registro em um arquivo com registros em outros arquivos – unicidade de valores para ítens de dados (chaves) • Backup and Recovery UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 39 Implicações da abordagem de Banco de Dados • Potencial para disseminar padrões • Redução do tempo de desenvolvimento de aplicações • Flexibilidade • Informação sempre atualizada (up-to-date) • Economias de escala UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 40