25
1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

Embed Size (px)

Citation preview

Page 1: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

1

Iniciando Banco de Dados

Conceitos gerais

Márcia Jacyntha N. Rodrigues

DIMAp/UFRN

Page 2: 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

Page 3: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 4: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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)

Page 5: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 6: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 7: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 8: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 9: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 10: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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)

Page 11: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 12: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 13: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 14: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 15: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 16: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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.

Page 17: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 18: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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.

Page 19: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 20: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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.

Page 21: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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

Page 22: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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.

Page 23: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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.

Page 24: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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.

Page 25: 1 Iniciando Banco de Dados Conceitos gerais Márcia Jacyntha N. Rodrigues DIMAp/UFRN

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?