Você está na página 1de 47

Banco de Dados I

Vania Bogorny

Por que estudar BD?

Os Bancos de Dados fazem parte do nosso dia-a-dia:


operao bancria reserva de hotel matrcula em uma disciplina da universidade cadastro na vdeo locadora

Conceitos bsicos

Dado: fato do mundo real que est registrado

exemplos: endereo, data

Informao: fato til que pode ser extrado direta ou indiretamente a partir dos dados

exemplos: endereo de entrega, idade

Banco de Dados (BD): coleo de dados interrelacionados e persistentes que representa um subconjunto dos fatos presentes em um domnio de aplicao(universo de discurso)

Por que usar BD?

Exemplo de um BD

Banco de dados
Banco de dados = instncia de dado + meta-dados
Instncia de dado
Dado propriamente

Meta-dados
Dicionrio de dados
Esquema da base de dados Acessado atravs de linguagens de definio de dados

Nem sempre foi assim...


Sistemas de Arquivos
(armazenados em pastas, no disco):

Funcionalidades oferecidas
Registros de tamanho fixo com campos de tipos diferentes Possibilidade de memria virtual e persistncia ndices: hash, rvore-B Bloqueio de arquivo e registro para concorrncia

Dados de diferentes aplicaes no esto integrados Dados so projetados para atender uma aplicao especfica

Sistemas de arquivos
Em uma fbrica com os dados em sistemas de arquivos:
Sistema para Setor de Vendas Sistema para Setor de Produo Sistema para Setor de Engenharia

Arquivos de vendas

Arquivos de produo

Arquivos de engenharia

Teclado TC60 R$ 20,00 Monitor 15 M60 R$ 150,00 Mouse MS09 R$ 10,00

Teclado TC60 10/11/2000 Monitor 15 M60 20/11/2000 Mouse MS09 09/11/2000

Teclado TC60 teclado.gif Monitor 15 M60 monitor.gif Mouse MS09 mouse.gif

Mesmos dados aparecem em todos os arquivos da fbrica 8

[baseado em Heuser]

Sistemas de arquivos
dados no integrados

Mesmo objeto da realidade representado vrias vezes na base de dados


Exemplo - teclado, monitor e mouse

Redundncia no controlada de dados


No h gerncia automtica da redundncia Redundncia leva a
inconsistncia dos dados re-digitao de informaes dificuldade de extrao de informaes

Dados pouco confiveis e de baixa disponibilidade


9

Sistemas de arquivos
Concorrncia
Difcil implementao Polticas de acesso concorrente consistente so independentes de domnio

Tolerncia a falhas
Falta de luz, erro de disco, interrupo de funcionamento, etc Cpias? restaurao do estado anterior? Consistncia da base?

Segurana
Acesso diferenciado por tipo de usurio
10

Sistemas de arquivos
gerenciamento dos arquivos

Outros problemas:
Nmero mximo de arquivos Tamanho de memria Limitaes do tipo de arquivo, tipo de acesso Preocupaes tcnicas junto com problemas do domnio

Exemplo: efetuar aluguel de um DVD


Sem reservas? sem multas? Como registrar um emprstimo?
abrir arquivos (fechando outros ) carregar registros na memria (abre ndice, usa ponteiro,

estourou memria?, .)

11

Banco de dados
Em uma fbrica com os dados em bancos de dados:
Sistema para Setor de Vendas Sistema para Setor de Produo Sistema para Setor de Engenharia

Banco de dados

R$ 20,00 R$ 150,00 R$ 10,00

Teclado TC60 Monitor 15 M60 Mouse MS09

teclado.gif monitor.gif mouse.gif


10/11/2000 20/11/2000 09/11/2000

Dados aparecem uma nica vez no banco


[baseado em Heuser]
12

Gerenciamento do banco de dados


BD de uma fbrica:
Sistema para Setor de Vendas Sistema para Setor de Produo Sistema para Setor de Engenharia

Software que permite

SGBD
Banco de dados
teclado.gif monitor.gif mouse.gif 10/11/2000 20/11/2000 09/11/2000

a criao e gerncia da base de dados

R$ 20,00 R$ 150,00 R$ 10,00

Teclado TC60 Monitor 15 M60 Mouse MS09

Exemplos destes Softwares: Livres: FireBird, PostgreSQL e MySQL Comerciais (pagos) Oracle, DB2 e SQLServer
13

Sistema Gerenciador de Bancos de Dados (SGBD)

Um SGBD (Sistema Gerenciador de Banco de Dados) consiste em uma coleo de dados inter-relacionados e em um conjunto de programas para acess-los
SGBDs so projetados para gerenciar grandes grupos de informaes
14

SGBD

O gerenciamento envolve

A definio de estruturas para o armazenamento da informao O fornecimento de mecanismos para manipular as informaes

Quando vrios usurios acessam os dados o SGBD precisa garantir a INTEGRIDADE dos dados, evitando resultados anmalos
15

Objetivos de um SGBD

Isolar os usurios dos detalhes mais internos do banco de dados (abstrao de dados). Prover independncia de dados s aplicaes (estrutura fsica de armazenamento e estratgia de acesso).

Vantagens:
rapidez na manipulao e no acesso informao, reduo do esforo humano (desenvolvimento e utilizao), reduo da redundncia e da inconsistncia de informaes, reduo de problemas de integridade, compartilhamento de dados, aplicao automtica de restries de segurana, controle integrado de informaes distribudas fisicamente.

16

Objetivos de um SGBD

O grande objetivo de um SGBD prover aos usurios uma viso ABSTRATA dos dados

O sistema omite certos detalhes de como os dados so armazenados e mantidos Mas oferece mecanismos eficientes para BUSCA e ARMAZENAMENTO

17

Arquitetura Geral de um SGBD


Interface
Processamento de Consultas Processamento de Transaes Acesso a Arquivos Modelagem de Dados (projeto estrutural)

Base de Dados SGBD


18

Abstrao de Dados
Mundo Real
Sistema Mdico

Modelo Conceitual
(modelo abstrato dos dados)

Independente

do modelo de dados Independente do SGBD

Mdico
CRM nome

Consulta

Paciente

Dependente

Modelo Lgico
(estrutura dos dados)

do modelo de dados Independente do SGBD


Mdico (CRM, Nome)

Relacional

Orientado a Objetos

Objetorelacional

Dependente

Modelo Fsico

do modelo de dados Dependente do SGBD

Organisao fsica dos dados Estruturas de armazenamento de dados ndices de acesso


19

Modelos de Dados

20

Modelos de Dados

Um modelo de dados uma coleo de ferramentas conceituais para a descrio de dados, relacionamentos, semntica de dados e restries de consistncia

21

Modelos de Dados

Modelos de Dados (conceitual)


Entidade-Relacionamento (ER) Orientado a Objetos (OO) Redes Hierrquico Relacional Objeto-relacional Orientado a Objetos
Modelos mais antigos

Modelos de Dados (lgicos)


22

Exemplo das Informaes em um Banco de Dados

nome Jos Joo Joo Antnio Antnio

rua Figueiras Laranjeiras Laranjeiras Ip Ip

cidade Campinas Campinas Campinas So Paulo So Paulo

conta 900 556 647 647 801

saldo 55 1.000 5.366 5.366 10.533

23

O Modelo de Redes
Os dados so representados por colees de registros e os relacionamentos por elos
Jos Figueiras
Campinas

900

55

556
Joo Laranjeiras Campinas 647 Antnio Ip So Paulo

1.000

5.366

801

10.533
24

Clientes

Contas

O Modelo Hierrquico

Os dados e relacionamentos so representados por registros e ligaes, respectivamente. Os registros so organizados como colees arbitrrias de rvores.

Jos

Figueiras

Campinas

Antnio

Ip

So Paulo

Joo Laranjeiras

Campinas

556

1.000

647

5.366

900

55

647

5.366

801

10.533

25

O Modelo Relacional
Tabela Cliente (dados)

cd-cliente
015 021 037 Jos Joo Antnio

nome
Figueiras Laranjeiras Ip

rua
Campinas Campinas

cidade

So Paulo

Tabela Conta (dados)

nro-conta
900 556 647 801

saldo
55 1.000 5.366 10.533

cd-cliente
015 021 021 037 037

nro-conta
900 556 647 647 801

Tabela Cliente-Conta (relacionamento)

26

Diferena entre os Modelos

O modelo relacional no usa ponteiros ou ligaes


O modelo relacional relaciona registros a partir de valores do registro

27

Funes de um SGBD

28

Instncias e Esquemas

Os bancos de dados mudam a medida que informaes so inseridas ou apagadas

A coleo de informaes armazenadas chamada de INSTNCIA do banco de dados (mudam com frequncia) O projeto geral do banco de dados chamado ESQUEMA do banco de dados (no mudam com frequncia)

29

Independncia dos Dados

O uso de bancos de dados permite modificar o ESQUEMA dos dados em um nvel sem afetar a definio do esquema em um nvel mais alto. Isto chamado de Minimundo independncia dos dados Projeto Conceitual
Nveis De Abstrao

Projeto Lgico Projeto Fsico

esquema instncias
30

Independncia dos Dados

Existem 2 tipos de Independncia

Independncia fsica de dados: habilidade de modificar o esquema fsico sem a necessidade de reescrever os programa aplicativos Estas modificaes so necessrias para melhorar o desempenho Independncia lgica de dados: habilidade de modificar o esquema conceitual sem a necessidade de reescrever os programas aplicativos Estas modificaes so necessrias quando a estrutura lgica alterada.

Exemplo: adio de um novo atributo

31

Independncia dos Dados

A independncia lgica dos dados mais difcil de ser alcanada do que a independncia fsica, pois os programas so bastante dependentes da estrutura lgica dos dados que eles acessam

32

Linguagem de Definio de Dados (DDL)

Um esquema de banco de dados especificado por um conjunto de definies expressas por uma linguagem especial chamada linguagem de definio de dados (Data Definition Language) O resultado da compilao de comandos de uma DDL o conjunto de tabelas que sero armazenadas no dicionrio (ou diretrio) de dados

33

Linguagem de Definio de Dados (DDL)

Um dicionrio de dados contm metadados, i.e., dados sobre os dados Este dicionrio (diretrio) consultado antes que os dados sejam lidos ou modificados no sistema de banco de dados

34

Linguagem de Manipulao de Dados (DML)

Manipulao de dados significa:


A busca da informao armazenada no BD A insero de novas informaes no BD A eliminao de informaes do BD A modificao dos dados armazenados no BD

No nvel fsico precisamos definir algoritmos que permitam acesso eficiente aos dados
35

Linguagem de Manipulao de Dados (DML)

A linguagem de manipulao dos dados permite ao usurio manipular os dados da seguinte forma:

Procedural: o usurio informa qual dado deseja acessar e como obt-lo No-procedural: o usurio informa qual dado deseja acessar SEM especificar como obt-lo

36

Linguagem de Manipulao de Dados (DML)

Linguagens no-procedurais so usualmente mais fceis de aprender e usar do que DMLs procedurais Se o usurio NO especificar COMO obter os dados, as linguagens noprocedurais podero gerar um cdigo no to eficiente.

37

Linguagem de Manipulao de Dados (DML)

Uma consulta (QUERY) um comando de busca de uma informao no BD A parte da DML que busca informaes chamada LINGUAGEM DE CONSULTA

38

Usurios do Banco de Dados

Programadores de Aplicativos:

So os usurios que escrevem os programas de aplicao atravs da DML Exemplos de um sistema bancrio so programas que geram cheques, fazem dbitos e crditos em contas, transferem fundos entre contas Interagem com o sistema sem escrever programas Formulam consultas em uma linguagem de consulta, e cada consulta submetida a um processador de consulta, cuja funo gerar um comando da DML

Usurios de alto nvel


39

Usurios do Banco de Dados

Usurios especializados (especialistas)

Escrevem aplicativos especializados como sistemas especialistas Interagem com o sistema invocando os programas aplicativos

Usurios ingnuos

Exemplo: um cliente do banco invocaria um programa para efetuar a transferncia de 50 reais da conta A para a conta B

40

Usurios do Banco de Dados

Administrador do banco de dados: tem o controle central dos dados e dos programas de acesso aos dados

41

Usurios do Banco de Dados

Funes do Administrador do banco de dados:


Definio do esquema Definio de estruturas de armazenamento e mtodos de acesso Modificao de esquema e de organizao fsica Concesso de autorizao para acesso aos dados Especificao de restries de integridade
42

Estrutura Geral do sistema


Gerenciador de arquivos Gerenciador do banco de dados Processador de consultas Pr-compilador da DML Compilador da DDL

Arquivos de dados Dicionrio de dados ndices


43

Transaes

Utilizadas para controlar a integridade dos dados no Banco de dados


Acessos simultneos vrios usurios Falhas no sistema

44

Otimizador de Consultas

Escolhe a forma mais eficiente para execuo de uma consulta

45

Arquitetura Geral de um SGBD

46

Bibliografia

Elmasri & Navathe Fundamentos de Bancos de Dados Carlos Alberto Heuser Projeto de Banco de Dados Korth e Silberchatz Sistema de Bancos de Dados

47

Você também pode gostar