Вы находитесь на странице: 1из 47

Banco de Dados I

Bacharelado em Cincia da Computao


Prof. Esp. Wariston Pereira

Por que estudar BD?

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

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

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 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)

Banco de Dados I
Prof. Wariston Fernando
Pereira

exemplos: endereo, data

Banco de Dados I
Prof. Wariston Fernando
Pereira

Por que usar BD?

Banco de Dados I
Prof. Wariston Fernando
Pereira

Exemplo de um BD

Banco de dados

Instncia de dado
Dado propriamente

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Banco de dados = instncia de dado +


meta-dados

Nem sempre foi


assim...
Sistemas de Arquivos

(armazenados em pastas, no disco):

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Funcionalidades oferecidas

Sistemas de arquivos
Em uma fbrica com os dados em sistemas de
arquivos:

Arquivos
Arquivos
de
de vendas
vendas

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

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

Sistema
Sistema para
para
Setor
Setor de
de Produo
Produo

Arquivos
Arquivos
de
de produo
produo

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

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

Sistema
Sistema para
para
Setor
Setor de
de Engenharia
Engenharia

Arquivos
Arquivos
de
de engenharia
engenharia

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Sistema
Sistema para
para
Setor
Setor de
de Vendas
Vendas

teclado.gif
teclado.gif
monitor.gif
monitor.gif
mouse.gif
mouse.gif

Mesmos dados aparecem em todos os arquivos da fbrica

[baseado em Heuser]

Sistemas de arquivos
dados no integrados

Mesmo objeto da realidade representado vrias


vezes na base de dados

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Exemplo - teclado, monitor e mouse

Sistemas de arquivos
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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Concorrncia

Sistemas de arquivos
gerenciamento dos arquivos

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?, .)

Banco de Dados I
Prof. Wariston Fernando
Pereira

Outros problemas:

Banco de dados
Em uma fbrica com os dados em bancos de
dados:

Banco de
dados

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

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

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Sistema
Sistema
Sistema
Sistema para
para
Sistema para
para
Sistema para
para
Setor
Setor de
de Vendas
Vendas Setor
Setor de
de Produo
Produo Setor
Setor de
de Engenharia
Engenharia

Dados aparecem
uma nica vez
no banco

[baseado em Heuser]

Gerenciamento do banco de dados


BD de uma fbrica:
Sistema
Sistema
Sistema
Sistema para
para
Sistema para
para
Sistema para
para
Setor
Setor de
de Vendas
Vendas Setor
Setor de
de Produo
Produo Setor
Setor de
de Engenharia
Engenharia
Banco de Dados I
Prof. Wariston Fernando
Pereira

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
15
Monitor 15 M60
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

Sistema Gerenciador de Bancos de


Dados (SGBD)

SGBDs so projetados para gerenciar grandes


grupos de informaes

Banco de Dados I
Prof. Wariston Fernando
Pereira

Um SGBD (Sistema Gerenciador de Banco de


Dados) consiste em uma coleo de dados interrelacionados e em um conjunto de programas
para acess-los

SGBD
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

Banco de Dados I
Prof. Wariston Fernando
Pereira

O gerenciamento envolve

Objetivos de um SGBD

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.

Banco de Dados I
Prof. Wariston Fernando
Pereira

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).

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

O grande objetivo de um SGBD prover aos


usurios uma viso ABSTRATA dos dados

Interface
Processamento
de Consultas
Processamento
de Transaes
Acesso a
Arquivos

Base de Dados
SGBD

Modelagem de
Dados
(projeto
estrutural)

Banco de Dados I
Prof. Wariston Fernando
Pereira

Arquitetura Geral de um SGBD

Abstrao de Dados
Mundo Real
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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Sistema Mdico

Organisao fsica dos dados


Estruturas de armazenamento de dados
ndices de acesso

Modelos de
Dados

Modelos de Dados

Banco de Dados I
Prof. Wariston Fernando
Pereira

Um modelo de dados uma coleo de


ferramentas conceituais para a descrio de
dados, relacionamentos, semntica de dados e
restries de consistncia

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Modelos de Dados (lgicos)

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Exemplo das Informaes em um


Banco de Dados

O Modelo de Redes

Jos

Joo

Antnio

Figueiras

Laranjeiras

Ip

Clientes

Campinas

Campinas

900

55

556

1.000

647

5.366

801

10.533

So Paulo

Contas

Banco de Dados I
Prof. Wariston Fernando
Pereira

Os dados so representados por colees de


registros e os relacionamentos por elos

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

O Modelo Relacional
Tabela Cliente (dados)

nome

rua

cidade

015

Jos

Figueiras

Campinas

021

Joo

Laranjeiras

Campinas

037

Antnio

Ip

So Paulo

Tabela Conta (dados)

nro-conta

saldo

900
55
556 1.000
647 5.366
801

10.533

cd-cliente

Tabela Cliente-Conta
(relacionamento)

015
021
021
037
037

900
556
647
647
801

nro-conta

Banco de Dados I
Prof. Wariston Fernando
Pereira

cd-cliente

Diferena entre os
Modelos
O modelo relacional relaciona registros a partir de
valores do registro

Banco de Dados I
Prof. Wariston Fernando
Pereira

O modelo relacional no usa ponteiros ou ligaes

Funes de um
SGBD

Instncias e Esquemas
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)

Banco de Dados I
Prof. Wariston Fernando
Pereira

Os bancos de dados mudam a medida que


informaes so inseridas ou apagadas

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
independncia
dos dados
Minimundo

Projeto Conceitual
Nveis
De
Abstrao

Banco de Dados I
Prof. Wariston Fernando
Pereira

Independncia dos Dados

Projeto Lgico

esquema

Projeto Fsico

instncias

Independncia dos Dados


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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Existem 2 tipos de Independncia

Independncia dos Dados

Banco de Dados I
Prof. Wariston Fernando
Pereira

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

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Linguagem de Definio de Dados


(DDL)

Linguagem de Definio de Dados


(DDL)

Este dicionrio (diretrio) consultado antes que


os dados sejam lidos ou modificados no sistema
de banco de dados

Banco de Dados I
Prof. Wariston Fernando
Pereira

Um dicionrio de dados contm metadados, i.e.,


dados sobre os dados

Linguagem de Manipulao de Dados


(DML)

A
A
A
A

busca da informao armazenada no BD


insero de novas informaes no BD
eliminao de informaes do BD
modificao dos dados armazenados no BD

No nvel fsico precisamos definir algoritmos que


permitam acesso eficiente aos dados

Banco de Dados I
Prof. Wariston Fernando
Pereira

Manipulao de dados significa:

Linguagem de Manipulao de Dados


(DML)

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

A linguagem de manipulao dos dados permite


ao usurio manipular os dados da seguinte forma:

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 no-procedurais podero
gerar um cdigo no to eficiente.

Banco de Dados I
Prof. Wariston Fernando
Pereira

Linguagem de Manipulao de Dados


(DML)

Linguagem de Manipulao de Dados


(DML)

Banco de Dados I
Prof. Wariston Fernando
Pereira

Uma consulta (QUERY) um comando de busca


de uma informao no BD
A parte da DML que busca informaes
chamada LINGUAGEM DE CONSULTA

Usurios do Banco de
Dados
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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Programadores de Aplicativos:

Usurios do Banco de
Dados
Usurios especializados (especialistas)
Escrevem aplicativos especializados como sistemas
especialistas
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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Usurios ingnuos

Usurios do Banco de
Dados

Banco de Dados I
Prof. Wariston Fernando
Pereira

Administrador do banco de dados: tem o


controle central dos dados e dos programas de
acesso aos dados

Usurios 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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Funes do Administrador do banco de


dados:

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

Banco de Dados I
Prof. Wariston Fernando
Pereira

Estrutura Geral do
sistema

Transaes
Utilizadas para controlar a integridade dos dados
no Banco de dados

Banco de Dados I
Prof. Wariston Fernando
Pereira

Acessos simultneos vrios usurios


Falhas no sistema

Otimizador de Consultas

Banco de Dados I
Prof. Wariston Fernando
Pereira

Escolhe a forma mais eficiente para execuo de


uma consulta

Banco de Dados I
Prof. Wariston Fernando
Pereira

Arquitetura Geral de um
SGBD

Elmasri & Navathe Fundamentos de Bancos de


Dados
Carlos Alberto Heuser Projeto de Banco de
Dados
Korth e Silberchatz Sistema de Bancos de Dados

Banco de Dados I
Prof. Wariston Fernando
Pereira

Bibliografia

Вам также может понравиться