Académique Documents
Professionnel Documents
Culture Documents
2
Modelos de Dados, Esquemas e
Instâncias
• Modelo de dados: Conjunto de conceitos descrevem a estrutura
de um BD:
• Abstração de dados;
• Estrutura = tipos de dados + relacionamentos + restrições
(+operações => recuperação e atualização).
3
Modelos de Dados, Esquemas e
Instâncias
• Por exemplo: Modelo 2
Modelo 1
≠
Detalhes que não interessam
a estes usuários não aparecem
4
Modelos de Dados, Esquemas e
Instâncias
• Estrutura de um banco de dados:
B
A
N
C
O
D
E
D
A
D
O
S
5
Modelos de Dados, Esquemas e
Instâncias
6
Modelos de Dados, Esquemas e
Instâncias
7
Modelos de Dados, Esquemas e
Instâncias
• Esquema do BD:
• Armazenado no catálogo;
• Mudanças 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
Instâncias
Instâncias :
Alterações :
Nos dados Estado:
A todo momento
Vazio Populado / Carregado
Diagrama
101001001001010
de Esquema 101010010010010
100111101010101
Novas Versões 001001010101010 9
Categorias de Modelo de Dados
MODELOS CONCEITUAIS (Alto Nível)
• Descrevem a estrutura de um BD de uma forma mais
próxima da percepção dos usuários;
• Exemplos:
• Modelo entidade-relacionamento (ER);
• Modelo orientado a objetos (OO).
10
Categorias de Modelo de Dados
MODELOS REPRESENTACIONAIS (Nível Intermediário)
• Descrevem a estrutura de um BD da forma como será
manipulado através de SGBD;
• Exemplos:
• Modelo relacional;
• Modelo de rede (CODASYL);
• Modelo hierárquico.
11
Categorias de Modelo de Dados
MODELOS FÍSICOS (Baixo Nível)
• Descrevem como os dados são fisicamente
armazenados;
12
Arquitetura de um Sistema de BD
• Características do enfoque de BD:
• Isolamento de programas e dados;
• Suporte de visões múltiplas de usuários;
• Catálogo para armazenar a descrição (esquema) do
BD.
Esquema Conceitual
Esquema
Conceitual
Esquema
Esquema Interno
Interno (Físico) (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 Físico:
• Relações guardadas como arquivos desordenados;
• Índices na primeira colunas de estudantes.
17
Independência de Dados
• Capacidade de se alterar o esquema em um
determinado nível sem alterar o esquema (ou
esquemas) do nível imediatamente mais alto.
• VANTAGEM:
• Imunidade dos programas em relação a mudanças na
estrutura do banco de dados;
• Um dos maiores benefícios de usar SGBD.
18
Independência de Dados
Habilidade de modificar
Habilidade de modificar
o esquema lógico sem
o esquema físico sem
causar redefinição dos
causar redefinição dos
programas de aplicação
programas de aplicação
Modificações são
Modificações são
necessárias quando a
necessárias para
estrutura lógica da
melhorar desempenho
base é alterada
19
Independência de Dados
20
Linguagens de Banco de Dados
• Finalidade:
• garantir a especificação do esquema de um banco de dados;
• permitir consultas e atualizações sobre o banco de dados.
• Componentes:
• DDL - Data Definition Language:
• Utilizada para especificar o esquema de um BD;
• Expressões da DDL:
• Interpretadas (compilados) gerando a especificação de um conjunto de tabelas;
• A especificação das tabelas é armazenada no catálogo 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 especificação de quais dados
devem ser acessados e como devem ser
select nome acessados
from Empregado Não procedural
- requer somente a especificação de quais
where salario > 7000 dados devem ser acessados
• Inserções em uma tabela
• Exemplo (SQL)
insert into Empregado values(123, “Bárbara”, 5000.00)
• Remoções em uma tabela
• Exemplo (SQL)
delete from Empregado
where matr=14
• Atualizar valores de atributos de uma tabela
• Exemplo (SQL)
update Empregado set salário=salário*1.15 22
where salário<1500.00
Linguagens de Banco de Dados
• Componentes (cont.)
• VDL – View Definition Language:
• Utilizada para criar visões de usuários
• 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 através da formulação
de uma solicitação.
Baseadas em formulários: Os
usuários podem preencher as
entradas do formulário.
24
Interfaces do SGBD
Interfaces gráficas: Exibe um
esquema para o usuário na
forma de diagramas. A consulta
é construída manipulando o
diagrama.
25
Interfaces do SGBD
29
Módulos Componentes do SGBD
BD
Arquivos de dados + Índices + Catálogo
Arquivos de dados
• Armazena os dados.
Índices
• Estruturas de índices para os arquivos de dados.
Catálogo
• Armazena esquema do banco de dados (meta-dados):
• Nomes das tabelas;
• Atributos de cada tabela;
• Definição de índice para uma tabela, etc…
• Armazena informações estatísticas:
• Exemplo:
• Cardinalidade de uma tabela.
• Utilizadas na otimização de consultas. 30
Módulos Componentes do SGBD
Programadores Usuário experiente DBA/Projetista
Gerenciador Gerenciador
de Buffer de Transações
Sistema de
Armazenamento
Gerenciador
de Arquivo
SGBD
Código Objeto
índices Arquivos
Catálogo
BD
aplicativos de dados
SBD31
Utilitários do Sistema de Banco de
Dados
• Carga (loading)
• Arquivos dados Banco de Dados.
• Cópia de segurança (backup)
• Para restaurar em caso de falhas.
• (Re-)Organização de arquivos
• Melhorar o desempenho.
• Monitoramento do desempenho
• Fornece estatísticas para o DBA: informações sobre
desempenho reorganização
32
Ferramentas, Ambientes de Aplicações e
Facilidades de Comunicações
Ferramentas: SQL Power Architect, DbDesigner , PowerDesigner, etc...
Ambientes de desenvolvimento: NetBeans, Delphi, etc...
Software de comunicação: Utiliza os recursos disponíveis na rede.
33
Classificação dos SGBDs
• Quanto ao modelo de dados adotado:
• De rede;
• Hierárquicos;
• Relacionais;
• Orientados a objetos;
• Objeto-relacionais.
• Quanto ao número de usuários suportados:
• Monousuários;
• Multiusuários.
• Quanto à localização dos dados:
• Centralizados;
• Distribuídos.
34
Classificação dos SGBDs
Monousuário x Multiusuário
35
Exemplo de um BD relacional
36
FIM
37