' $ Bancos de Dados - Conceitos Básicos & 0 % ' Conceitos Básicos $ ⇒ Banco de Dados • É uma coleção de dados logicamente coerente que possui um significado implı́cito cuja interpretação é dada por uma determinada aplicação; • Representa abstratamente uma parte do mundo real, conhecida como Mini-Mundo ou Universo de Discurso (UD), que é de interesse de uma certa aplicação; • Mantido em dispositivos de armazenamento secundário de um sistema de computação; & 1 % ' Conceitos Básicos $ ⇒ Sistema Gerenciador de Bancos de Dados (SGBD): Software construı́do para facilitar as atividades de definição, construção e manipulação de bancos de dados; ⇒ Sistema de Bancos de Dados: Banco de Dados + Software que o manipula; & 2 % ' & Sistemas de Bancos de Dados 3 $ % ' Abordagem de BD × Arquivos $ 1. Bancos de dados são autocontidos (catálogos); 2. Isolamento entre programas e dados; 3. Abstrações de Dados (modelos de dados) 4. Suporte a múltiplas visões & 4 % ' Abordagem de BD × Arquivos ??? Programa de Aplicação Programa de Aplicação Programa de Aplicação Programa de Aplicação A B C $ SGBD A C B Meta Dados & 5 % ' Caracterı́sticas Desejáveis $ 1. Controle de Redundância; 2. Compartilhamento de Dados; 3. Controle de Acesso aos Dados; 4. Múltiplas Interfaces; 5. Representação de associações complexas; 6. Garantia de restrições de Integridade; 7. Recuperação de falhas & 6 % ' Modelos de Dados $ ⇒ Modelo de Dados : Conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dado, tipos de dados, relacionamentos e restrições. Pode também incluir operações que especificam consultas e atualizações no banco de dados; & 7 % ' Modelos de Dados $ ⇒ Categorias: • Modelos de alto nı́vel ou conceituais; – modelo ER; – modelos OO; – funcional; • Modelos de implementação; – Relacional; – Redes; – Hierárquico; • Modelos Fı́sicos; & 8 % ' Esquemas e Instâncias $ ⇒ Esquema: Descrição da estrutura do banco de dados; Especificado no momento do projeto do BD; Não muda com freqüência; ⇒ Diagrama: Representação gráfica de um esquema; ⇒ Instância ou Estado: Conjunto dos dados existente em um BD num certo instante; Muda frequentemente; cada mudança constitui um novo estado; & 9 % ' SGBD $ Sistema Gerenciador de Bancos de Dados Conjunto de programas que tratam da manipulação dos dados armazenados em um BD Exemplos: Oracle, DB2, SQL-Server, Informix. & 10 % ' Funções dos SGBD $ • Armazenamento dos dados e meta-dados • Recuperação de dados armazenados de forma eficiente • Tratamento correto e eficiente de acessos simultâneos aos dados armazenados • A garantia de satisfação das restrições impostas sobre os dados • Processamento e execução de comandos da LDD e da LMD do modelo de dados correspondente • Garantia da recuperação contra falhas • Suporte a gerência de backups. & 11 % ' Arquitetura Tı́pica $ • Gerente de Dados Armazenados • Catálogo • Compilador de LDD • Processador de Execução • Processador de Consultas • Pré-compilador • Compilador de LMD & 12 % ' $ Arquitetura Tı́pica Programas de Aplicação Comandos LDD Comandos de Manutenção Consulta de Alto Nível Pré-Compilador Compilador da Linguagem Hospedeira E Compilador de LDD A Catálogo Processador de Consultas Comandos LMD B Compilador de LMD C Consultas Compiladas Processador de Execução Gerente de Dados Armazenados & D Banco de Dados 13 Subsistema de Controle de Concorrência/Segurança/Backup % ' ? ????? ??? ? $ SGBDs Cliente-Servidor Serviço de Comunicação Interface de Consulta Rede & Serviço de Comunicação Serviço de Comunicação Processador de Execuçao Programa de Aplicação SGDB Serviço de Comunicação BD Outras Interfaces 14 %