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

Informao: fato til que pode ser extrado direta ou


indiretamente a partir dos dados

exemplos: endereo, data

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
6

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
7

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

Arquivos
de vendas

Teclado
TC60
Monitor 15 M60
Mouse
MS09

Sistema para
Setor de Produo

Arquivos
de produo

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

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

Sistema para
Setor de Engenharia

Arquivos
de engenharia

Teclado
TC60
Monitor 15 M60
Mouse
MS09

teclado.gif
monitor.gif
mouse.gif

Mesmos dados aparecem em todos os arquivos da fbrica8

[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
Sistema para
Sistema para
Setor de Vendas Setor de Produo 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
12

[baseado em Heuser

Gerenciamento do banco de dados


BD de uma fbrica:
Sistema para
Sistema para
Sistema para
Setor de Vendas Setor de Produo Setor de Engenharia
Software que
permite a criao
e gerncia da
base de dados

SGBD
Banco de
dados

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

Teclado
TC60
Teclado
TC60
Monitor
Monitor 15 M60
Mouse
MS09
Mouse
MS09

teclado.gif
monitor.gif
mouse.gif
10/11/2000
20/11/2000
09/11/2000

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)

Modelo Lgico
(estrutura dos dados)

Independente

do
modelo de dados
Independente do
SGBD

do
modelo de dados
Independente do
SGBD

Consulta

Mdico

Paciente

CRM nome

Dependente

Relacional

Orientado a
Objetos

Objetorelacional

Mdico (CRM, Nome)

Modelo Fsico

Dependente

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
Orientado

(ER)

a Objetos (OO)

Modelos de Dados (lgicos)


Redes
Hierrquico

Modelos mais antigos

Relacional
Objeto-relacional
Orientado

a Objetos
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

Joo

Antnio

Figueiras

Laranjeiras

Ip

Clientes

Campinas

Campinas

900

55

556

1.000

647

5.366

801

10.533

So Paulo

Contas

24

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

556

900

55

Campinas

Antnio

Joo Laranjeiras

Campinas

1.000

647

Ip

So Paulo

5.366

647

5.366

801

10.533

25

O Modelo Relacional
Tabela Cliente (dados)

cd-cliente

nome

rua

cidade

015

Jos

Figueiras

Campinas

021

Joo

Laranjeiras

Campinas

037

Antnio

Ip

So Paulo

Tabela Conta (dados)

nro-conta
900
556
647
801

saldo
55
1.000
5.366
10.533

cd-cliente

Tabela Cliente-Conta
(relacionamento)

015
021
021
037
037

nro-conta
900
556
647
647
801

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

esquema

Projeto Fsico

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

Usurios de alto nvel

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
39

Usurios do Banco de Dados

Usurios especializados (especialistas)


Escrevem

aplicativos especializados como


sistemas especialistas

Usurios ingnuos
Interagem

com o sistema invocando os


programas aplicativos

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