Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática UERJ - © 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 - © Oscar Luiz Monteiro de Farias 2 Conceitos fundamentais... • Banco de Dados • Dados • SGBD (DBMS) UERJ - © 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 - © 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 - © 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 - © 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 - © 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 - © 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, requerendo configurações sob-medida • monta 8 micros/mês • dificuldade em lembrar-se das configurações • pretende expandir os negócios UERJ - © 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 - © 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 - © 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 - © Oscar Luiz Monteiro de Farias 12 Empresa DI - Imóveis... Servidor de BD Stand de Vendas UERJ - 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 - © 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 das 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 - © 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 - © Oscar Luiz Monteiro de Farias 16 Comparação Microcomputadores Redes de Computadores Mainframes Aplicações Aplicações Pessoais/PME Pessoais/PME Infoland Aplicações Aplicações Cliente-Servidor Cliente-Servidor DI Imóveis OLTP OLTP Detran / SABRE Bancos de de Dados Dados Distribuídos DistribuídosProjeto SIVAM / ZEE Integração Ampla Bancos UERJ - © Oscar Luiz Monteiro de Farias 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 - © 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 - © 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 mini-mundo e gerar relatórios. • Database System = software + database UERJ - © 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 - © Oscar Luiz Monteiro de Farias 21 UERJ - © 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 - © 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 - © 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 - © Oscar Luiz Monteiro de Farias 25 Arquivo do Usuário UERJ - © Oscar Luiz Monteiro de Farias 26 Meta-Dados UERJ - © Oscar Luiz Monteiro de Farias 27 Metadados SysTables Table Name Employee SysColumns Number of Columns 10 Primary Key Column Name Table Name Data Type Length Ssn Fname Employee Text 15 Department 4 Dnumber Minit Employee Text 1 Project 3 Pnumber Lname Employee Text 15 ... ... ... ... ... ... UERJ - ... © 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 - © Oscar Luiz Monteiro de Farias 29 Múltiplas visões dos dados BD UERJ - © Oscar Luiz Monteiro de Farias 30 Exemplos de visões TRANSCRIPT StudentName Smith Brown PREREQUISITES UERJ - 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 - © 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 - © 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 - 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 - © Oscar Luiz Monteiro de Farias 35 Tipos de Usuários Finais • Casuais • Naive ou paramétricos • Sofisticados • Stand-alone UERJ - © 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 - © 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 - © 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 - © 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 - © Oscar Luiz Monteiro de Farias 40