Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados - PDF Download grátis
Download "Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados"
Yago Affonso Faro
1 Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados Conceitos Gerais # Dados brutos ou fatos não trabalhados. Nível 2 Informações # Obtidas através da organização e execução de operações lógicas sobre os dados, de modo que apresentem maior valor agregado que os fatos em si; 2
2 Conceitos Gerais Nível 3 Conhecimento # Corresponde à extração não trivial de informações existentes, implicitamente, no conjunto analisado e não evidenciadas a partir das análises iniciais (passagem do Nível 1 para o Nível 2). 3 Conceitos Gerais Conhecimento (Nível 3) Extração de informações implícitas Informação (Nível 2) Operações Lógicas e Organização Dados Brutos (Nível 1) 4
3 Conceitos Gerais Base de Dados (Banco de Dados) # Conjunto de dados inter-relacionados logicamente. Exemplos: # Dados: Nomes, Telefones, Endereços, etc. # Base de Dados: Catálogo Telefônico 5 Sistema Gerenciador de Bancos de Dados Acrônimos: # SGBD: Sistema Gerenciador de Banco de Dados; # DBMS: Database Management System; Conjunto de programas (aplicativos, serviços, etc.), que permitem o gerenciamento de bancos de dados; Nomenclatura alternativa: # Sistema de Banco de Dados; 6
4 SGBD - Definições Armazena Dados e Metadados; Metadados: # Dados que descrevem os dados armazenados; # Correspondem a uma sombra dos dados; # Exemplo: A Tabela Pessoa possui 3 colunas: Coluna 01: Nome, com 15 caracteres; Coluna 02: Endereço, com 50 caracteres; Coluna 03: Sexo, com 1 caracter. 7 SGBD - Motivação Evolução dos Sistemas de Informação: 1. Aplicativos e Dados armazenados em uma memória comum; 2. Aplicativos armazenando Dados em arquivos; 3. Aplicativos conectando-se a SGBDs para transferência de Dados (leitura e escrita). 8
5 Motivação: SGBD - Motivação # Armazenamento permanente (não volátil) - Persistência; # De forma geral, armazenamento em meios magnéticos (discos); # Aplicações acessavam diretamente o sistema de arquivos fornecidos pelo sistema operacional. 9 SGBD Arquitetura ANSI / SPARC ANSI - American National Standards Institute SPARC - Standards Planning and Requirements Committee Nível Externo (Visões) Esquema Externo 01 (Visão 01) Esquema Externo 02 (Visão 01)... Esquema Externo n (Visão 01) Nível Conceitual (Lógico) Esquema Conceitual Mapeamento Externo / Conceitual Nível Interno (Físico) Esquema Interno Mapeamento Conceitual / Interno Dados Metadados 10
6 SGBD Arquitetura Típica Arquitetura Típica (cliente servidor): Aplicativo ( front-end ) SGBD Processador de Consultas Gerenciador de Acesso aos Dados Dados Metadados 11 SGBD - Vantagens # Abstração de dados (Modelagem Lógica): Desconsideram-se detalhes de implementação durante a modelagem ; # Administração uniforme dos dados: Gerenciamento de Dados e Metadados; # Independência entre Dados e Aplicativos: Ganhos em Portabilidade e Velocidade no desenvolvimento de aplicativos. 12
7 SGBD - Vantagens # Acesso Estruturado: Registros identificados ; # Acesso Simultâneo: Vários arquivos indexados em uma única base de dados ; # Segurança: Restrições de acesso a usuários e/ou programas. 13 SGBD - Vantagens # Estabelecimento de Transações: Concorrência: Estabelecimento de Bloqueios (locks) para garantir integridade em acessos simultâneos:» Exemplo: Reserva de passagens aéreas; Granularidade do bloqueio físico:» Bloco (Cluster), Página (Page), Registro (Row) Problema: Bloqueio Eterno ( Deadlock ):» Dois processos estão aguardando a liberação de recursos bloqueados pelo processo concorrente. 14
8 SGBD Problema: Deadlock Processo P1 Recurso R1 Recurso R2 Execução Processo P2 Recurso R2 Recurso R1 P1 aguarda P2 Liberar R2 P2 aguarda P1 Liberar R1 Processos P1 e P2 com execução bloqueada 15 SGBD - Vantagens # Estabelecimento de Transações: Consistência: Possibilidade de validar uma transação somente se todas as operações forem concluídas com sucesso;» Begin Transaction» Rollback Transaction» Commit Transaction 16
9 SGBD - Vantagens # Estabelecimento de Transações: Reconstrução: Registro de Transações (Transaction Log); Mecanismos de Auto-recuperação; Cópias de Segurança (Backup); Política de Backup. 17 SGBD - Vantagens # Integridade: Manutenção da consistência da base de dados através da validação de restrições definidas sobre os dados; Controle de valores que um campo pode assumir: Exemplo: Temperatura entre 35 e 43 graus centígrados; Controle de relacionamento entre registros: Somente creditar compras a um fornecedor se este já tiver sido cadastrado; 18
10 SGBD - Vantagens # Escalabilidade: Capacidade de um sistema em aumentar seu desempenho sob carga, quando recursos são acrescentados a esse sistema; No caso de computadores, tipicamente, aumenta-se a escalabilidade adicionando-se hardware. 19 SGBD - Vantagens # Distribuição: Bancos de dados distribuídos; Fragmentação de dados entre duas ou mais bases de dados; Melhoria de desempenho; Acesso remoto transparente ; Redundância. 20
11 SGBD - Desvantagens Desvantagens dos SGBDs: # Investimento inicial alto: hardware e software; Licenças de Acesso; Custo crescente com o número de processadores; # Nem sempre todas as funcionalidades são necessárias. 21 SGBD - Evolução Sistema de Arquivos BD de Redes BD Hierárquico Paradigma da orientação a objetos: Herança; Dados mais complexos: documentos, imagens, voz, vídeo; Em estudos desde 1985; Comercialmente disponível desde 1990 Variação: BD Objeto Relacional BD Relacional BD Orientado a Objetos BD Inteligente Técnicas de Inteligência Artificial Datamining 22
12 SGBD Relacional (SGBDR): # RDBMS: Relational Database Management System; # Década de 80; SGBD - Evolução # Linguagem de Consulta com operações de manipulação de dados: SQL Structured Query Language; # Ferramentas para desenvolvimento de aplicações; # Ferramentas para administração dos bancos de dados. 23 SGBD Classes de Usuários Administradores # Administrador do Banco de Dados (DBA); # Administrador de Dados (DBO); Desenvolvedores # Projetistas do Banco de Dados; # Analistas de sistemas; # Programadores de aplicações; Usuários # Usuários finais; # Operadores de aplicações. 24