1 iniciando banco de dados conceitos gerais márcia jacyntha n. rodrigues dimap/ufrn
TRANSCRIPT
1
Iniciando Banco de Dados
Conceitos gerais
Márcia Jacyntha N. Rodrigues
DIMAp/UFRN
2
Parte 1 - Contextualização
Introdução Evolução de Sistemas BD Sistemas de Banco de Dados Relacionais Pequenos e Grandes Sistemas Arquitetura Cliente-Servidor X Multi-camadas Dados Multimídia
3
Introdução
Os Banco de Dados: São utilizados em muitos ramos de negócio Registrar fatos que serão posteriormente a
consumidores de informação na Web Parte central de investigações científicas (genoma,
bioquímica, astronomia) Uso de Banco de Dados surgiu do
aperfeiçoamento de um software especializado o SGBD ou Sistema de Banco de Dados
4
Introdução
SGBD – ferramenta para criar e gerenciar uma grande quantidade de dados de forma eficiente e tornando-os persistente e segura. Armazenamento persistente – fornece estruturas de dados
para viabilizar um acesso eficiente Interface de Programação – permite um usuário ou
aplicação modificar dados através de um linguagem de consulta
Gerenciamento de transação – acesso concorrente ao dados (diferentes processos ou transações sendo executados simultaneamente e a durabilidade dos dados)
5
Exemplos
Sistema Bancário Dados = informações de contas, clientes, balanços,
taxas, históricos de transaçãoMuitos gigabytes, persistência de dados, multi-usuário
(controle de transação)
Indústria (Vendas, Produção, Compras) Problemas de redundância de dados, inconsistência,
entrada repetida de informações
6
Evolução de Sistemas Banco de Dados
BD – é uma coleção de dados que persistem em um longo período de tempo gerenciado por um SGBD. Tarefas do SGBD são:
1. criar novos bancos de dados e definir seus esquemas (estrutura lógica dos dados) usando uma linguagem de definição
2. Consultar e modificar dados usando uma linguagem de consulta
3. Armazenar dados de forma segura (contra acidentes ou uso indevido) e permitir acesso eficiente
4. Acesso controlado aos dados concorrente
7
Evolução de Sistemas Banco de Dados
Início dos SGBDs 1960 – melhoramento dos sistemas de arquivo; Os dados eram visualizados como eram armazenados Usavam modelos de dados para descrever a estrutura de
informação no banco de dados Modelo Hierárquico baseado em árvore Modelo Rede baseado em grafo Estes modelos não dão suporte a linguagem de consulta de
alto nível
8
Evolução de Sistemas Banco de Dados
Sistemas de Banco de dados relacional 1970 - Ted Cood – mudança significante nos
Sistemas de BD Usuário tem uma visão de dados organizados como
tabelas ou relações (por trás um estrutura de dados complexa que permita consultas eficientes)
Enfoque quais dados acessados e não como acessar os dados. Linguagem de acesso livre de detalhes de implementação
9
Evolução de Sistemas Banco de Dados
Exemplo de modelo Relacional – tabela contas
Poupança
Contacorrente
.....
NumConta Saldo tipo
1000.00
3443.99
.....
123342
908333
.....
Select saldoFROM contasWHERE numconta=123342
10
Pequenos e Grandes Sistemas
No início os SGBDs eram grandes, caros e rodavam em grandes sistemas
Hoje muitos gigabytes cabem em um simples disco e os SGBDs rodam em um PC
No entanto um gigabyte não é mais considerado muita coisa. BD coorporativos ocupam centenas de gigabytes.
Sistemas comerciais de varejo podem necessitar de Terabytes (1000 gigabytes – 1012 bytes) Armazenamento de videos, audio, imagens satélites – petabytes
(1000 terabytes ou 1015 bytes) Crescente tecnologia de dispositivos de armazenamentos (discos
rígidos)
11
Arquiteturas Cliente Servidor e Multi-camada
Processo (o cliente) enviar dados a outro processo (o servidor)
Arquitetura multi-camada – divisão do processamentos –gerenciamento de conexão, gerenciamento de dados, entrada de dados
12
Dados Multimídia
Formas comum de multimídia incluem video, audio, sinais de radar, imagens satélite e documentos e figuras em vários formatos.
Incorporar novas capacidades para manipular dados não convencionais – SGBD OO ou Objeto-relacional
13
Computação Paralela
Aumentar a rapidez do acesso a grande quantidade de dados
Leitura paralela de discos Quebrar as consultas usando computação
paralela ou computação distribuída tornando eficiente o uso de recursos
14
Data Warehouse
DW: informações provenientes de BDs herdados (legacies) que é copiada para um BD central
Para que serve: serviço de catálogo on-line através da Web Analistas querem rodar consultas procurando
tendências de mercado – Data Mining
15
Parte 2 - SGBD
Visão geral Sistema Gerenciador de Banco de Dados Processamento de Consulta Gerenciamento de Buffer e Armazenamento Processamento de transação Processador de Consultas
16
Visão geral de um SGBD
Existem 2 fontes de comando para o SGBD: Usuários/aplicações procuram/modificam dados DBA: responsável pela estrutura do BD ( esquema /
meta-dados)Linguagem de Definição de Dados (DDL) usada para
alterar e criar o meta-dados do sistemaDecisões como: quais tabelas e colunas para identificar
uma informação, restrições das informações utilizadas.
17
Processamento de Consulta 1/2
Afeta o conteúdo (modificação ou extração de dados)
Linguagem de Manipulação de Dados (DML) Comandos DML são usados por 2 componentes:
Compilador de Consulta – parser e otimização -> tendo como resultado um plano de consulta
Máquina de execução distribui uma seqüência de requisições de pedaços de dados(registros de relações) para o gerenciador de Recursos
18
Processamento de Consulta 2/2
O gerenciador de recursos sabe onde encontrar os arquivos de dados(onde estão as relações), arquivos de índice e as requisições recebidas são traduzidas em páginas e são passadas para o gerenciador de buffer.
O gerenciador de buffer comunica com o gerenciador de armazenamento para trazer os dados do disco.
19
Gerenciamento de Buffer e Armazenamento 1/3
Seu papel é trazer uma apropriada porção de dados a partir do disco para a memória principal (buffer).
Bloco de disco é a unidade de transferência entre o buffer e o disco
Gerenciador de Armazenamento (GA): controlar o local do dado no disco e sua transferência entre memória principal e disco
20
Gerenciamento de Buffer e Armazenamento 2/3
SGBD controla diretamente o armazenamento no disco. O GA possui a localização de arquivos no disco e obtém os blocos através do gerenciador de buffer (GB).
Bloco de disco – 212 / 214 bytes GB – responsável por particionar a memória
disponível em buffers que são regiões de tamanho de página para o qual os blocos de disco são transferidos.
21
Gerenciamento de Buffer e Armazenamento 3/3
Os tipos de informação que os componentes do SGBD podem necessitar são: Dados: conteúdos do BD Metadados: esquema e restrições Estatísticas: armazenam informações relativas aos
dados contidos no BD Índices: estruturas de dados para otimizar o acesso
aos dados
22
Processamento de Transação
Transação: conjunto de operações que forma uma unidade para processamento – deve ser executada atomicamente e isolada.
SGBD deve garantir a durabilidade da transação Logging: toda mudança no BD é armazenada em log
para posterior uso caso ocorra falha Controle de Concorrência: execucao isolada das
transações. Uso de locks. Resolução de conflitos – cancelar uma ou mais transações.
23
Processador de Consultas 1/2
Composto por 2 componentes:1. Compilador de consultas: que traduz a consulta em
plano de consulta – sequencia de operações a serem executadas nos dados. Uso de op. álgebra relacional.
Parser – constrói uma estrutura em árvore; Preprocessador: que executa checagem semântica Otimizador de consulta – transforma o plano de
consulta inicial em uma melhor sequencia.
24
Processador de Consultas 2/2
2. Máquina de execução(ME): executa cada um dos passos escolhidos no plano de consulta. A ME interage com vários componentes do SGBD.
25
Parte 3 – Estudos de Banco de Dados
Projeto de Banco de Dados Como desenvolver um útil? Que tipo de informação precisa?
Como a informação é estruturada ? Como os dados são conectados ? Quais são os tipos e valores ?
Programação de Banco de Dados Como expressar consultas e outras operações ? Como usar
outras capacidades de SGBD como transações ou restrições? Implementação de Sistema de Banco de Dados
Como construir um SGBD?