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

Programao com acesso a BD

Prof.: Clayton Maciel Costa


clayton.maciel@ifrn.edu.br 1
Modelos de Dados, Esquemas e
Instncias

2
Modelos de Dados, Esquemas e
Instncias
Modelo de dados: Conjunto de conceitos descrevem a estrutura
de um BD:
Abstrao de dados;
Estrutura = tipos de dados + relacionamentos + restries
(+operaes => recuperao e atualizao).

Esquema: Descrio (textual ou grfica) da estrutura de um BD


de acordo com um determinado modelo de dados;

Instncia: Conjunto de dados armazenados no BD em um


determinado instante de tempo.

3
Modelos de Dados, Esquemas e
Instncias
Por exemplo: Modelo 2

Modelo 1


Detalhes que no interessam
a estes usurios no aparecem

4
Modelos de Dados, Esquemas e
Instncias
Estrutura de um banco de dados:

B
A
N
C
O

D
E

D
A
D
O
S

5
Modelos de Dados, Esquemas e
Instncias

6
Modelos de Dados, Esquemas e
Instncias

7
Modelos de Dados, Esquemas e
Instncias
Esquema do BD:
Armazenado no catlogo;
Mudanas muito menos frequentes.

Estado do BD:
Dados do banco em qualquer ponto do tempo;
Inicialmente vazio;
Muda frequentemente;
Validade parcialmente garantida pelo SGBD.
8
Modelos de Dados, Esquemas e
Instncias
Instncias :

Alteraes :
Nos dados Estado:
A todo momento
Vazio Populado / Carregado

Diagrama
101001001001010
de Esquema 101010010010010
100111101010101
Novas Verses 001001010101010 9
Categorias de Modelo de Dados
MODELOS CONCEITUAIS (Alto Nvel)
Descrevem a estrutura de um BD de uma forma mais
prxima da percepo dos usurios;

Independente de aspectos de implementao;

Conceitos: entidades, atributos, relacionamentos;

Exemplos:
Modelo entidade-relacionamento (ER);
Modelo orientado a objetos (OO).
10
Categorias de Modelo de Dados
MODELOS REPRESENTACIONAIS (Nvel Intermedirio)
Descrevem a estrutura de um BD da forma como ser
manipulado atravs de SGBD;

Mais dependente das estruturas fsicas de


armazenamento de dados;

Exemplos:
Modelo relacional;
Modelo de rede (CODASYL);
Modelo hierrquico.
11
Categorias de Modelo de Dados
MODELOS FSICOS (Baixo Nvel)
Descrevem como os dados so fisicamente
armazenados;

Conceitos: formatos dos registros, ordenamento dos


registros, caminhos de acesso (eficincia);

12
Arquitetura de um Sistema de BD
Caractersticas do enfoque de BD:
Isolamento de programas e dados;
Suporte de vises mltiplas de usurios;
Catlogo para armazenar a descrio (esquema) do
BD.

Arquitetura de trs nveis:


Mantm independncia de dados e programas;
Suporta mltiplas vises.
13
Arquitetura de um Sistema de BD
Esquema Interno:
Descreve como os dados esto fisicamente armazenados;
Exemplo:
Organizao de arquivo:
seqencial-indexado, hashing, seqencial, heap.
Alocao em disco:
Contgua, lista encadeada, lista encadeada utilizando ndice.
Tipo de registro:
Fixo, varivel.
Esquema Conceitual:
Descreve quais dados esto armazenados no banco de dados;
Descreve os relacionamentos entre os dados armazenados.
Esquema Externo:
Descreve parte do banco de dados;
Simplificar a viso do usurio;
Ver s o que interessa; 14
Segurana.
Arquitetura de um Sistema de BD

Esquema Esquema Esquema


Externo 1 Externo 2 Externo n
Esquema
Externo

Esquema Conceitual

Esquema
Conceitual

Esquema
Esquema Interno
Interno (Fsico) (Banco de Dados armazenado) 15
Arquitetura de um Sistema de BD
Exemplo 1
Esquema conceitual:
Estudantes (eid: string, nome: string, login: string, idade: integer,
gpa:real);
Cursos (cid: string, cnome:string, creditos:integer);
Matricula (eid:string, cid:string, nota:string).

Esquema Fsico:
Relaes guardadas como arquivos desordenados;
ndices na primeira colunas de estudantes.

Esquema externo (Viso):


Info_Curso(cid:string, horrio:string).
16
Arquitetura de um Sistema de BD
Exemplo 2

17
Independncia de Dados
Capacidade de se alterar o esquema em um
determinado nvel sem alterar o esquema (ou
esquemas) do nvel imediatamente mais alto.

VANTAGEM:
Imunidade dos programas em relao a mudanas na
estrutura do banco de dados;
Um dos maiores benefcios de usar SGBD.

18
Independncia de Dados

Habilidade de modificar
Habilidade de modificar
o esquema lgico sem
o esquema fsico sem
causar redefinio dos
causar redefinio dos
programas de aplicao
programas de aplicao
Modificaes so
Modificaes so
necessrias quando a
necessrias para
estrutura lgica da
melhorar desempenho
base alterada

19
Independncia de Dados

20
Linguagens de Banco de Dados
Finalidade:
garantir a especificao do esquema de um banco de dados;
permitir consultas e atualizaes sobre o banco de dados.
Componentes:
DDL - Data Definition Language:
Utilizada para especificar o esquema de um BD;
Expresses da DDL:
Interpretadas (compilados) gerando a especificao de um conjunto de tabelas;
A especificao das tabelas armazenada no catlogo do banco de dados.
Exemplo (SQL):
create table Empregado
(matr integer not null,
nome varchar(35),
salario real,
21
primary key(matr));
Linguagens de Banco de Dados
Componentes (cont.)
DML - Data Manipulation Language:
Utilizada para permitir: DML
Consultas sobre um BD Procedural
Exemplo (SQL) - requer a especificao de quais dados
devem ser acessados e como devem ser
select nome acessados
from Empregado No procedural
- requer somente a especificao de quais
where salario > 7000 dados devem ser acessados
Inseres em uma tabela
Exemplo (SQL)
insert into Empregado values(123, Brbara, 5000.00)
Remoes em uma tabela
Exemplo (SQL)
delete from Empregado
where matr=14
Atualizar valores de atributos de uma tabela
Exemplo (SQL)
update Empregado set salrio=salrio*1.15 22
where salrio<1500.00
Linguagens de Banco de Dados
Componentes (cont.)
VDL View Definition Language:
Utilizada para criar vises de usurios
Exemplo (SQL):
Create View Info_Renda_Emp as
Select nome, salario From Empregado;

23
Interfaces do SGBD
Baseadas em menus: Apresenta
uma lista de menus que
conduzem atravs da formulao
de uma solicitao.

Baseadas em formulrios: Os
usurios podem preencher as
entradas do formulrio.

24
Interfaces do SGBD
Interfaces grficas: Exibe um
esquema para o usurio na
forma de diagramas. A consulta
construda manipulando o
diagrama.

25
Interfaces do SGBD

Para usurios leigos: Aplicaes desenvolvidas por


analistas e programadores 26
Interfaces do SGBD

Para o DBA: Ambiente onde o


DBA pode colocar em prtica
todos os detalhes tcnicos
definidos nos modelos, usando
comandos ou opes do
software
27
Mdulos Componentes do SGBD
SGBD
Processador de Consultas + Sistema de Armazenamento
Processador de Consultas
Compilador DML
Analisa sintaticamente e semanticamente comandos DML
expressos em uma linguagem de consulta (ex. SQL);
Traduz estes comandos para uma das formas de representao
interna de consultas (ex. lgebra relacional).
Pr-Compilador DML
Traduz comandos DML em chamadas a procedimentos (rotinas) na
linguagem hospedeira.
Interpretador DDL
Interpreta comandos DDL e os armazena no catlogo:
Tabelas e descrio do banco de dados Esquema
Mecanismo de Consultas
Responsvel pela otimizao e gerao de planos de execuo de
28
consultas.
Mdulos Componentes do SGBD
SGBD
Sistema de Armazenamento
Gerenciador de Transaes
Controle de concorrncia;
Recuperao do banco de dados aps falhas.
Gerenciador de Buffer
Responsvel para recuperar objetos em disco e carreg-los na
memria principal em forma de pginas;
SGBD possui uma rea de buffer em memria principal.
Gerenciador de Arquivo (File System)
Responsvel pelo armazenamento fsico em disco;
Gerencia a alocao de espao em disco.

29
Mdulos Componentes do SGBD
BD
Arquivos de dados + ndices + Catlogo
Arquivos de dados
Armazena os dados.
ndices
Estruturas de ndices para os arquivos de dados.
Catlogo
Armazena esquema do banco de dados (meta-dados):
Nomes das tabelas;
Atributos de cada tabela;
Definio de ndice para uma tabela, etc
Armazena informaes estatsticas:
Exemplo:
Cardinalidade de uma tabela.
Utilizadas na otimizao de consultas. 30
Mdulos Componentes do SGBD
Programadores Usurio experiente DBA/Projetista

Programa Aplicativo Consulta Esquema

Pre-compilador Compilador Interpretador


DML DML DDL
Processador
de Consultas
Mecanismo
de Consultas

Gerenciador Gerenciador
de Buffer de Transaes
Sistema de
Armazenamento
Gerenciador
de Arquivo
SGBD

Cdigo Objeto Arquivos BD


ndices Catlogo
aplicativos de dados
SBD31
Utilitrios do Sistema de Banco de
Dados
Carga (loading)
Arquivos dados Banco de Dados.
Cpia de segurana (backup)
Para restaurar em caso de falhas.
(Re-)Organizao de arquivos
Melhorar o desempenho.
Monitoramento do desempenho
Fornece estatsticas para o DBA: informaes sobre
desempenho reorganizao
32
Ferramentas, Ambientes de Aplicaes e
Facilidades de Comunicaes
Ferramentas: SQL Power Architect, DbDesigner , PowerDesigner, etc...
Ambientes de desenvolvimento: NetBeans, Delphi, etc...
Software de comunicao: Utiliza os recursos disponveis na rede.

33
Classificao dos SGBDs
Quanto ao modelo de dados adotado:
De rede;
Hierrquicos;
Relacionais;
Orientados a objetos;
Objeto-relacionais.
Quanto ao nmero de usurios suportados:
Monousurios;
Multiusurios.
Quanto localizao dos dados:
Centralizados;
Distribudos.
34
Classificao dos SGBDs
Monousurio x Multiusurio

35
Exemplo de um BD relacional

36
FIM

37

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