Você está na página 1de 33

Banco de Dados / 1

Bacharelado em
Sistemas de Informao

BANCOS DE DADOS
Aula 2

Introduo a Banco de Dados


SISTEMAS DE
INFORMAO

Banco de Dados / 2

Abstrao de Dados
O que abstrao?

SISTEMAS DE
INFORMAO

Banco de Dados / 3

Abstrao de Dados
O que abstrao?
Michaelis - Moderno Dicionrio da Lngua Portuguesa
abs.tra.o
sf (lat abstractione) 1 Ato ou efeito de abstrair ou abstrair-se.2 Considerao
das qualidades independentemente dos objetos a que pertencem. 3 Idia
metafsica, teoria demasiado vaga que no pode receber
aplicao. 4 Concentrao, meditao; alheamento do
esprito. 5 Psicol Processo pelo qual se isolam atributos de um objeto,
considerando os que certos grupos de objetos tenham em
comum. 6 Filos Operao pela qual o esprito considera separadamente
coisas inseparveis na natureza. 7 Qum Extrao ou separao por meio
de evaporao, de princpios que estavam unidos quimicamente a outra
substncia. sf pl Conjeturas sem fundamento real; devaneios, quimeras,
sonhos, utopias; descuidos, esquecimentos.

SISTEMAS DE
INFORMAO

Banco de Dados / 4

Abstrao de Dados
 SGBD: estruturas complexas para a representao
dos dados no banco de dados.
 Complexidade precisa ser escondida dos
usurios.
 Nveis de abstrao: grande vantagem dos SGBD
Nvel fsico: mais baixo descreve como os dados so
armazenados
Nvel conceitual ou lgico: quais dados so
armazenados e quais relacionamentos entre eles.
Nvel viso: expe apenas parte do banco de dados.

SISTEMAS DE
INFORMAO

Banco de Dados / 5

Abstrao de Dados

Viso 1

Nvel de Viso
Viso 2
...

Nvel Conceitual

Nvel Fsico

SISTEMAS DE
INFORMAO

Viso N

Banco de Dados / 6

Abstrao de Dados
 Analogia com o conceito de tipos de dados em
linguagens de programao (tipo de dados em
Pascal)

Type cliente = record


cliente-nome: string;
cliente-CPF: string;
Exemplo
cliente-endereco: string;
cliente-cidade: string
end;
 Este cdigo define um novo registro chamado
cliente com quatro campos.
 Cada campo tem um nome e um tipo a ele
associado.
SISTEMAS DE
INFORMAO

Banco de Dados / 7

Abstrao de Dados


Alm de cliente, BD pode ter diversos outros


tipos de registro, como:

Conta (numero-conta ,
saldo)
Empregado (numeroempregado, salrio)

Type cliente = record


cliente-nome: string;
cliente-CPF: string;
cliente-endereco:
string;
cliente-cidade: string
end;
Nvel de Viso
Viso 1

 Nvel fsico  registro cliente um bloco


consecutivo de memria. O compilador
esconde este nvel de detalhes dos
programadores  SGBD esconde detalhes
de armazenamento dos programadores;
DBAs podem ter mais acesso a esses
detalhes.
SISTEMAS DE
INFORMAO

Viso 2

Nvel
Conceitual

Nvel
Fsico

...

Viso N

Banco de Dados / 8

Abstrao de Dados
 Nvel conceitual ou lgico 
registro descrito por um tipo
definido. definida tambm interrelao entre estes tipos de
registros. Programadores
trabalham com este nvel de
abstrao; DBAs tambm podem
trabalhar neste nvel.
 Nvel de viso  usurios do
computador vem um conjunto de
programas de aplicao que
escondem os detalhes dos tipos
de dados. Vises tambm
fornecem mecanismos de
segurana.
SISTEMAS DE
INFORMAO

Type cliente = record


cliente-nome: string;
cliente-CPF: string;
cliente-endereco:
string;
cliente-cidade: string
end;
Nvel de Viso
Viso 1

Viso 2

Nvel
Conceitual

Nvel
Fsico

...

Viso N

Banco de Dados / 9

Instncias e Esquemas
 instncia  conjunto de informaes contidas em
determinado BD em um dado momento.
 esquema  projeto geral do BD  mudados com
pouca frequncia.
 Analogia com linguagem de programao:
var ClienteNovo: cliente
rea de memria que contm um registro do tipo cliente.
Valor de ClienteNovo em um dado momento anlogo
instncia.
Definio do tipo anlogo ao esquema.

SISTEMAS DE
INFORMAO

Type cliente = record


cliente-nome: string;
cliente-CPF: string;
cliente-endereco:
string;
cliente-cidade: string
end;

Banco de Dados / 10

Instncias e Esquemas
 Sistemas de BD possuem diversos esquemas, referentes aos
nveis de abstrao.
nvel mais baixo = esquema fsico
nvel intermedirio = esquema lgico
nvel mais alto = subesquemas.
Nvel de Viso

 Sistemas de BD do suporte a:

Viso 1

Viso 2

um esquema fsico
um esquema lgico

Nvel
Conceitual

vrios subesquemas.
Nvel
Fsico

SISTEMAS DE
INFORMAO

...

Viso N

Banco de Dados / 11

Independncia de Dados
 O que independncia?

SISTEMAS DE
INFORMAO

Banco de Dados / 12

Independncia de Dados
 Capacidade de modificar a definio dos
esquemas em determinado nvel, sem afetar o
esquema do nvel superior
 Independncia de dados fsica:
fsica: modifica o esquema
fsico sem que, com isso, qualquer programa aplicativo
precise ser reescrito (ocasionais para aumento de
desempenho).
 Independncia de dados lgica:
lgica: modifica o esquema
lgico sem que, com isso, qualquer programa aplicativo
precise ser reescrito (sempre que uma estrutura lgica
do BD alterada)  mais difcil de ser atingida.
SISTEMAS DE
INFORMAO

Banco de Dados / 13

Modelos de Dados
 O que um modelo?

SISTEMAS DE
INFORMAO

Banco de Dados / 14

Modelos de Dados
 Coleo de ferramentas conceituais para
descrio dos dados, relacionamentos entre os
dados, semntica e restries dos dados.
 Trs grupos:
 Modelos lgicos baseados em objetos
 Modelos lgicos baseados em registros
 Modelos de dados fsicos

SISTEMAS DE
INFORMAO

Banco de Dados / 15

Modelos Lgicos Baseados em Objetos


 Usados na descrio dos dados nos
nveis conceitual e viso.
 Caractersticas:

Viso
1

Viso
2

...

Nvel
Conceitual

recursos de estruturao flexveis


permitem especificao explcita das
restries de dados

 Exemplos:

Modelo Entidade-Relacionamento
Modelo Orientado a Objeto
Modelo Semntico de Dados
Modelo Funcional de Dados
SISTEMAS DE
INFORMAO

Nvel
Fsico

Viso
N

Banco de Dados / 16

Modelos Lgicos Baseados em Objetos


Exemplo: Modelo Entidade-Relacionamento
rua
nome

nmero

cidade

saldo
cliente

cliente
conta

SISTEMAS DE
INFORMAO

conta

Banco de Dados / 17

Modelos Lgicos Baseados em Objetos


Modelo Orientado a Objetos
 Objeto contm variveis instncias e mtodos
 Mtodos agrupados em classes.
 Classe pode ser vista como uma definio de tipo para
objetos.
 Objeto consegue acessar dados de outro objeto atravs
do mtodo desse outro objeto.

SISTEMAS DE
INFORMAO

Banco de Dados / 18

Modelos Lgicos Baseados em Registros


 Tambm usados na descrio dos dados
nos nveis lgico e de viso.
 Usados para especificar a estrutura lgica
do BD e tambm para especificar
descrio de alto nvel.
 BD estruturado atravs de registros de
formato fixo de todos os tipos
 Cada registro define nmero fixo de
campos (atributos), e cada campo possui
tamanho fixo (simplifica a implementao do BD
no nvel fsico)

modelo relacional
modelo de rede
modelo hierrquico
SISTEMAS DE
INFORMAO

Viso
1

Viso
2

...

Nvel
Conceitual

Nvel
Fsico

Viso
N

Banco de Dados / 19

Modelos Lgicos Baseados em Registros


Modelo Relacional
 Dados e relacionamentos representados por uma coleo de
tabelas.
 Tabelas com uma quantidade de colunas (atributos)e nomes
nicos.
Exemplo
Nome Endereo

Cidade

Lus

Marlia

Nmero
Conta
900

Heitor Av. Antonio, 865

Bauru

556

Heitor Av. Antonio, 865

Bauru

647

Joana Rua da Curva, 89

So Paulo

801

Joana Rua da Curva, 89

So Paulo

647

Rua X, 123

SISTEMAS DE
INFORMAO

Nmero
Conta
900

Saldo

556

458,98

647

561,89

801

654,12

678,00

Banco de Dados / 20

Modelos Lgicos Baseados em Registros


Modelo de Rede
 Dados representados por colees de registros.
 Relacionamentos representados por ligaes (ponteiros).
 Registros organizados como colees arbitrrias de grficos.
Exemplo
Lus

Rua X, 123

Marlia

Heitor

Av. Antonio, 865

Adamantina

Joana

Rua da Curva, 89

So Paulo
SISTEMAS DE
INFORMAO

900

6 7 8 ,0 0

556

4 5 8 ,9 8

647

5 6 1 ,8 9

801

6 5 4 ,1 2

Banco de Dados / 21

Modelos Lgicos Baseados em Registros


Modelo Hierrquico
 Dados representados por colees de registros.
 Relacionamentos representados por ligaes.
 Registros organizados em rvores em vez de grficos
arbitrrios.
Exemplo
Lus

Rua X, 123

Marlia
Heitor

900

Av. Antonio, 865

6 7 8 ,0 0

556

4 5 8 ,9 8

Joana

647

647

5 6 1 ,8 9

SISTEMAS DE
INFORMAO

Rua da Curva, 89

So Paulo

Adamantina
5 6 1 ,8 9

801

6 5 4 ,1 2

Banco de Dados / 22

Diferenas entre os modelos


 modelo relacional no usa ponteiros e links 
relaciona os registros por valores prprios a eles.

 consequncia  possibilidade do desenvolvimento de


fundamentos matemticos para sua definio e
manipulao.

SISTEMAS DE
INFORMAO

Banco de Dados / 23

Linguagens de Banco de Dados


 SGBDs:
Uma linguagem para os esquemas (DDL)
Uma linguagem para consultas e atualizaes (DML)

 Data Definition Languagem (DDL):


Especificao do esquema de dados
resultado da compilao de instrues DDL  conjunto de tabelas
que constituem o dicionrio de dados ou diretrio de dados
dicionrio de dados: arquivo de metadados (dados a respeito de
dados)  no SGBD o diretrio consultado antes que o dado real
seja modificado
Estrutura de memria e mtodo de acesso usados pelo BD: DDL
especial denominada (linguagem de definio e armazenamento de
dados data storage and definition language)
SISTEMAS DE
INFORMAO

Banco de Dados / 24

Linguagem de Manipulao de Dados (DML)


 Data Manipulation Language (DML)
manipulao de dados:
recuperao das informaes armazenadas no BD
insero de novas informaes no BD
remoo de informaes do BD
modificao das informaes do BD
Objetivo  proporcionar interao humana eficiente com o
sistema.
DML viabiliza o acesso (manipulao) dos dados
organizados por um modelo de dados apropriado.
Parte da DML responsvel pelas consultas:
Linguagens de consulta  SQL (Structured Query Language)
SISTEMAS DE
INFORMAO

Banco de Dados / 25

Gerenciamento de transaes
 Transao  coleo de operaes que desempenha uma unidade lgica
nica de trabalho dentro da aplicao do sistema de BD.
 Cada transao uma unidade de atomicidade e consistncia BD estava
consistente antes do incio da transao e deve permanecer consistente
aps a sua concluso.
 Responsabilidade do programador: definir as transaes de modo
apropriado
 Responsabilidade do SGBD:
Assegurar atomicidade
Assegurar durabilidade valores devem ser consistentes mesmo se houver
falhas no sistema
Detectar falhas e recuperar o BD ao estado antes da transao, se necessrio
Controlar interaes entre transaes concorrentes para garantir consistncia do
BD
SISTEMAS DE
INFORMAO

Banco de Dados / 26

Gerenciador de Memria
 Qual a funo da memria do computador?

SISTEMAS DE
INFORMAO

Banco de Dados / 27

Gerenciador de Memria
 BD  exigem grandes volume de memria (at
Terabytes)
 Dados transportados entre discos e memria
principal, conforme a necessidade  Sistema
de BD deve minimizar necessidade de
movimentao
 Performance (tempo de resposta)  depende
da eficincia das estruturas de dados usadas e
das operaes entre elas.
SISTEMAS DE
INFORMAO

Banco de Dados / 28

Gerenciador de Memria
 Gerenciador de memria:
mdulo de programas para interface entre o
armazenamento de dados em um nvel baixo e
consultas e programas de aplicao submetidos ao
sistema.
responsvel pela interao com gerenciamento de
arquivos do SO.
traduz comandos DML em comandos de baixo nvel.
responsvel pelo armazenamento, recuperao e
atualizao de dados nos BD.
SISTEMAS DE
INFORMAO

Banco de Dados / 29

Administrador do Banco de Dados (DBA)


controle centralizado dos dados e dos
programas que acessam os dados
Responsvel  administrador de dados
Funes:

Definio do esquema
Definio da estrutura de dados e mtodo de acesso
Modificaes da organizao fsica do esquema
Concesso de autorizao para acesso aos dados
Especificao de regras de integridade

SISTEMAS DE
INFORMAO

Banco de Dados / 30

Usurios do Banco de Dados


 Programadores de aplicaes  interagem com o sistema
atravs de chamadas DML, envolvidas por programas escritos
na linguagem hospedeira (por exemplo: Java, C, Pascal, C etc).
 Usurios sofisticados  interagem sem escrever programas.
Formulam suas solicitaes ao BD atravs de linguagens de
consultas.
 Usurios simples  interagem com o sistema atravs de
programas de aplicao.
 Usurios especializados  escrevem aplicaes
especializadas de BD que no podem ser classificadas como
aplicaes tradicionais em processamento de dados - esquemas
CAD, bases de conhecimento, sistemas especialistas, que
armazenam dados com tipos complexos (grficos e som, por
exemplo)
SISTEMAS DE
INFORMAO

Banco de Dados / 31

Estrutura Geral do Sistema


Usurios
simples

Programadores de
aplicao

Programas
de aplicao

Chamadas
de rotinas

USURIOS

Pr-compilador da
DML

Cdigo objeto dos


programas de
aplicao

Usurios
sofisticados

Administrador
do BD

Consultas

Esquema de
Banco de Dados

Processador
de consultas

Gerenciador do
Banco de Dados

Gerenciador
de arquivos

Arquivos
de dados Dicionrio
memria
de dados
de disco

SISTEMAS DE
INFORMAO

Compilador da
linguagem de DDL

Sistema gerenciador
do banco de dados

Banco de Dados / 32

Exerccios
1. Explique a diferena entre a independncia de
dados fsica e lgica.
2. Quais as principais funes de um DBA?
3. O que abstrao de dados?
4. Diferencie instncias e esquemas. D um exemplo.
5. Diferencie DDL e DML
6. O que uma transao? Qual a responsabilidade
do programador e do SGBD sobre as transaes?
SISTEMAS DE
INFORMAO

Banco de Dados / 33

Bacharelado em
Sistemas de Informao

BANCOS DE DADOS
Aula 2

Introduo a Banco de Dados


SISTEMAS DE
INFORMAO

Você também pode gostar