Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Cliquez pour modifier le style du titre Banco de Dados Introdução e Conceitos Básicos (Parte II) Profa. Vaninha Vieira (vaninha@dcc.ufba.br) Salvador, Maio/2013 Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA60 – Banco de Dados Cliquez pour modifier le style du titre SGBDs : Arquitetura e Propriedades 3 Créditos: Parte dos slides utilizados nesta apresentação foram adaptados dos slides do Livro do Elmasri & Navathe, 2011 – 6a Edição. Foram utilizados slides do curso de Banco de Dados da Profa. Vania Bogorny. 4 Tópicos – Capítulo 2 do Livro § Modelos de dados, esquemas e instâncias § Arquitetura de três esquemas e independência de dados § Linguagens e interfaces do banco de dados § O ambiente do sistema de banco de dados § Arquiteturas centralizadas e cliente/servidor para SGBDs § Classificação dos sistemas gerenciadores de banco de dados 5 Outra fonte… 6 Gerenciamento do banco de dados § BD de uma fábrica: Sistema para Setor de Vendas Sistema para Setor de Produção Sistema para Setor de Engenharia Banco de dados Teclado TC60 Monitor 15´ M60 Mouse MS09 R$ 20,00 R$ 150,00 R$ 10,00 10/11/2000 20/11/2000 09/11/2000 teclado.gif monitor.gif mouse.gif SGBD Software que permite a criação e gerência da base de dados Exemplos destes Softwares: • Livres: • FireBird, PostgreSQL e MySQL • Comerciais (pagos) • Oracle, DB2 e SQLServer 2 7 SGBD x Sistema de Arquivos § Arquivos • Programas com acesso direto aos dados • Redundância e inconsistência dos dados e programas • Rigidez e dificuldade de acesso • Isolamento dos formatos dos dados • Problemas de segurança, integridade, e atomicidade • Anomalia acesso concorrente • Problemas de desempenho • Dificuldade de integração entre sistemas § SGBD • Centralização na gerência dos dados à Ênfase nos dados • Controle de redundância, consistência e integridade • Compartilhamento de dados com tratamento de concorrência • Reforço de padrões e Independência de dados • Aumento e controle na segurança • Controle transacional e Recursos de prioridade • Economia de escala • Suporte a múltiplas visões dos dados • Gerenciamento de backup e recovery • Maior produtividade no desenvolvimento • Maior investimento com hardware, software e pessoal especializado 8 8 Objetivos de um SGBD § Isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados). § Prover independência de dados às aplicações (estrutura física de armazenamento e estratégia de acesso). Vantagens: • rapidez na manipulação e no acesso à informação • redução do esforço humano (desenvolvimento e utilização) • redução da redundância e da inconsistência de informações • redução de problemas de integridade • compartilhamento de dados • aplicação automática de restrições de segurança • controle integrado de informações distribuídas fisicamente. 9 9 Em resumo, os objetivos de um SGBD são... § O grande objetivo de um SGBD é prover aos usuários uma visão ABSTRATA dos dados • O sistema omite certos detalhes de como os dados são armazenados e mantidos • Mas oferece mecanismos eficientes para BUSCA e ARMAZENAMENTO 10 Visão Geral - Sistema de Banco de Dados 11 Conceitos § Metadados § Definição ou informação descritiva do banco de dados § Armazenada pelo SGBD na forma de um catálogo ou dicionário § Banco de dados = instância de dado + metadados ü Instância de dado • Dado propriamente ü Meta-dados • Dicionário de dados – Esquema da base de dados – Acessado através de linguagens de definição de dados 12 Metadados 3 13 Esquemas, instâncias e estado do BD § Esquema do banco de dados § Descrição do banco de dados § Diagrama de esquema § Apresenta aspectos selecionados do esquema § Construtor do esquema § Cada objeto no esquema § Estado ou instante do banco de dados § Os dados no banco de dados em determinado momento no tempo 14 Modelos de dados, esquemas e instâncias § Abstração de dados § Suprmir detalhes da organização e armazenamento dos dados. § Destacar recursos essenciais para melhor conhecimento dos dados § Modelo de dados § Coleção de conceitos para descrever a estrutura de um BD § Oferece os meios necessários para alcançar a abstração de dados § Operações básicas: Especificar recuperações e atualizações no BD 15 Definições - Minimundo § 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 § Ex. § Universidade à Matrícula, Notas, Empréstimo Livros § Hospital à Prontuário, Estoque, Pagamento 16 Um exemplo § Banco de dados UNIVERSIDADE § Informações referentes a alunos, disciplinas e notas em um ambiente universitário § Registros de dados § ALUNO § DISCIPLINA § TURMA § HISTORICO_ESCOLAR § PRE_REQUISITO 17 18 Níveis de Abstração dos Dados – 3 camadas 18 Visão 1 Visão 2 Visão n ... Conceitual Físico Segments, Extents, Data Blocks e Bytes DER e dicionário de dados Views - visões dos dados 4 19 Arquitetura de três esquemas e independência de dados § Nível interno § Descreve a estrutura do armazenamento físico do banco de dados § Nível conceitual § Descreve a estrutura do banco de dados inteiro para uma comunidade de usuários § Nível externo ou de visão § Descreve a parte do banco de dados em que um grupo de usuários em particular está interessado 20 Categorias de modelos de dados § Modelos de dados de alto nível ou conceituais § Próximos ao modo como muitos usuários percebem os dados. § Modelos de dados de baixo nível ou físicos § Descrevem os detalhes de como os dados são armazenados no computador em discos magnéticos. § Modelos de dados representativos § Conceitos facilmente entendidos pelos usuários finais. § Similar ao modo que os dados são organizados e armazenados no computador 21 Categorias de modelos de dados (cont.) § Modelos de dados físicos § Descrevem o armazenamento dos dados como arquivos no computador. § Caminho de acesso • Estrutura que torna eficiente a busca por registros de um banco de dados em particular. § Índice • Exemplo de um caminho de acesso. • Permite o acesso direto aos dados usando um termo de índice ou uma palavra-chave. 22 Independência de dados § Capacidade de alterar o esquema em um nível do sistema de banco de dados § Sem ter de alterar o esquema no nível mais alto § Tipos: § Lógico § Físico 23 Arquitetura - Componentes gerais do SGBD § Gerenciador de dados armazenados § Compilador da DDL § Interface de consulta interativa • Compilador de consulta • Otimizador de consulta § Pré-compilador § Processador de banco de dados em tempo de execução § Catálogo do sistema § Sistema de controle de concorrência § Sistema de backup e recuperação § Gerenciamento de buffer 24 5 25 Classificação dos sistemas gerenciadores de banco de dados § Modelo de dados § Relacional § Objeto § Hierárquico e rede (legado) § SGBDs XML nativos § Número de usuários § Monousuário § Multiusuário § Número de locais § Centralizado § Distribuído • Homogêneos • Heterogêneos § Custo § Código aberto • Diferentes tipos de licença 26 Operações sobre bancos de dados § Definir um banco de dados § Especificar os tipos, estruturas e restrições dos dados a serem armazenados § Manipular um banco de dados § Consultar e atualizar o banco de dados do minimundo § Gerar relatórios § Manter o sistema de bancode dados § Permite que o sistema evolua à medida que os requisitos mudam com o tempo § Compartilhamento de um banco de dados § Permite que diversos usuários e programas acessem no simultaneamente 27 Outros conceitos § Consulta § Resulta na recuperação de alguns dados § Transação § Pode fazer com que alguns dados sejam lidos e outros gravados no banco de dados § Proteção inclui: § Proteção de sistema § Proteção de segurança Cliquez pour modifier le style du titre Propriedades dos SGBDs Créditos: Parte dos slides utilizados nesta apresentação foram adaptados dos slides do Livro do Elmasri & Navathe, 2011 – 6a Edição. 29 Propriedades dos SGBDs § Consistência de dados • SGBD avalia os dados recebidos através de regras de integridade, garantindo que sempre estejam corretos § Validade • Os dados são válidos quando pertencem ao domínio de valores possíveis naquele caso § Completude • Todos os dados que precisam ser conhecidos estão disponíveis. § Independência dos Dados • Sempre que a mesma informação é gravada, mesmo que em locais diferentes, ela tem o mesmo valor. 30 Propriedades dos SGBDs Controle de redundância, consistência e integridade Controle de concorrência Controle de acesso e segurança Transações Gerenciamento de backup e recuperação Centralização na gerência dos dados 6 31 Outras Funcionalidades do SGBD § Gerenciamento de Transações • Ou faz tudo ou não faz nada • Ex. Transferência bancária § Controle de Acesso • Garantir segurança no acesso aos dados • Ex. Eu só posso ver e manipular os dados da minha conta bancária § Controle de Concorrência • Várias aplicações acessando e atualizando as mesmas tabelas e registros § Garantir a integridade e consistência de dados § Ex. bloqueios 32 Outras Funcionalidades do SGBD § Backup e Recuperação • Garantir recuperação de estado anterior do banco em caso de falha • Permitir troca de dados entre diferentes SGBDs ou servidores § Otimização • Garantir desempenho mesmo em bases grandes • Criação de Índices § Paralelismo e Distribuição • Terabytes de dados 33 Evolução dos SGBDs 1. Hierárquico 2. Em Rede () 3. Relacional (1970) 4. Orientado a Objeto 1 2 3 4 Cliquez pour modifier le style du titre Modelos de Dados Créditos: Parte dos slides utilizados nesta apresentação foram adaptados dos slides do Livro do Elmasri & Navathe, 2011 – 6a Edição. 35 Níveis de Abstração dos Dados – 3 camadas 35 Visão 1 Visão 2 Visão n ... Conceitual Físico Segments, Extents, Data Blocks e Bytes DER e dicionário de dados Views - visões dos dados 36 Modelo de Dados 7 37 Minimundo § 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 § Ex. § Universidade à Matrícula, Notas, Empréstimo Livros § Hospital à Prontuário, Estoque, Pagamento 38 Etapas de uso de um banco de dados § Modelagem Conceitual (Planejamento) – genérica – independente de SGBD § Modelagem Física - implementação de um aplicativo usando uma ferramenta SGBD específica § Utilização - entrada de dados, consultas, emissão de relatórios, etc. 39 Modelagem Conceitual Professores Alunos Disciplinas Lecionam Cursam Modelo Entidade-Relacionamento (MER) Proposto em 1976, por Peter Chen 40 Um exemplo § Banco de dados UNIVERSIDADE § Informações referentes a alunos, disciplinas e notas em um ambiente universitário § Registros de dados § ALUNO § DISCIPLINA § TURMA § HISTORICO_ESCOLAR § PRE_REQUISITO 41 42 Modelo de Dados 8 43 Entidades e Relacionamentos Professores Alunos Disciplinas Lecionam Cursam Departamentos Funcionários Alocam Departamentos Funcionários Chefiam Pai Filho Dependente de 44 Entidades e Relações ALUNOS Alunos Disciplinas Matrícula Turma Dia-horário Código Nome Programa Carga horária DISCIPLINAS Objeto informacional Itens de informação Matrícula Nome Endereço Ano-ingresso/Sem Curso 45 SGBD Relacional à Formado, basicamente de uma ou mais Tabelas Tabela ALUNOS ALUNOS Objeto informacional Itens de informação - atributos Matrícula Nome Endereço Ano-ingresso/Sem Curso Campos Registros 46 TABELAS Tabela ALUNOS Campos Registros – As Tabelas são o principal elemento para guardar informações de um aplicativo de SGBD – Tabelas são formadas por linhas (Registros) e por colunas (Campos) – Registros representam Entidades e Relações do mundo real – Campos representam itens de informação de cada Entidade – Cada Registro numa tabela possui um campo especial - a Chave primária - escolhido para identificar unicamente aquele registro 47 ENTIDADES E RELACIONAMENTOS 48 § RELACIONAMENTOS são implementados num aplicativo de SGBD através da replicação da chave-primária de uma tabela como um campo adicional - chave estrangeira - da tabela relacionada § Os RELACIONAMENTOS são de três tipos ou Classes: • um para um (1:1) - Alunos Possuem Histórico-escolar • um para muitos (1:N) - Cursos São-compostos-de Alunos • muitos para muitos (N:M) - Disciplinas Tem-Matriculados Alunos CLASSES DE RELACIONAMENTOS 9 49 Modelagem Conceitual de um Banco de Dados SiglaDep Nome Depart.Gerente Matricula Nome SiglaDep Matricula NomeDep Idade Cod.Proj Nome Projeto Matrícula Cod.Proj Departamentos Funcionários Dependentes Projetos Vinculação F-P 1 1 1 N N N N 1 50 Linguagens de Consulta § SQL (Structured Query Language) • Uma linguagem de pesquisa para banco de dados relacionais • A maioria das características originais da SQL foram inspiradas na álgebra relacional
Compartilhar