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

Preview:

Citation preview

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?

Recommended