Você está na página 1de 37

Banco de Dados

Prof.: Clayton Maciel Costa


clayton.maciel@ifrn.edu.br 1
Modelos de Dados, Esquemas e
Instâncias

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

• Esquema: Descrição (textual ou gráfica) da estrutura de um BD


de acordo com um determinado modelo de dados;

• Instância: Conjunto de dados armazenados no BD em um


determinado instante de tempo.

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;

• Independente de aspectos de implementação;

• Conceitos: entidades, atributos, relacionamentos;

• 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;

• Mais dependente das estruturas físicas de


armazenamento de dados;

• 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;

• Conceitos: formatos dos registros, ordenamento dos


registros, caminhos de acesso (eficiência);

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.

• Arquitetura de três níveis:


• Mantém independência de dados e programas;
• Suporta múltiplas visões.
13
Arquitetura de um Sistema de BD
• Esquema Interno:
• Descreve como os dados estão fisicamente armazenados;
• Exemplo:
• Organização de arquivo:
• seqüencial-indexado, hashing, seqüencial, heap.
• Alocação em disco:
• Contígua, lista encadeada, lista encadeada utilizando índice.
• Tipo de registro:
• Fixo, variável.
• Esquema Conceitual:
• Descreve quais dados estão armazenados no banco de dados;
• Descreve os relacionamentos entre os dados armazenados.
• Esquema Externo:
• Descreve parte do banco de dados;
• Simplificar a visão do usuário;
• “Ver” só o que interessa; 14
• Segurança.
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 (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.

Esquema externo (Visão):


• Info_Curso(cid:string, horário:string).
16
Arquitetura de um Sistema de BD –
Exemplo 2

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

Para usuários leigos: Aplicações desenvolvidas por


analistas e programadores 26
Interfaces do SGBD

Para o DBA: Ambiente onde o


DBA pode colocar em prática
todos os detalhes técnicos
definidos nos modelos, usando
comandos ou opções do
software
27
Módulos 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 representação
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 catálogo:
• Tabelas e descrição do banco de dados  Esquema
Mecanismo de Consultas
• Responsável pela otimização e geração de planos de execução de
28
consultas.
Módulos Componentes do SGBD
SGBD
Sistema de Armazenamento
Gerenciador de Transações
• Controle de concorrência;
• Recuperação do banco de dados após falhas.
Gerenciador de Buffer
• Responsável para recuperar objetos em disco e carregá-los na
memória principal em forma de páginas;
• SGBD possui uma área de buffer em memória principal.
Gerenciador de Arquivo (File System)
Responsável pelo armazenamento físico em disco;
Gerencia a alocação de espaço em disco.

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

Programa Aplicativo Consulta Esquema

Pre-compilador Compilador Interpretador


DML DML DDL
Processador
de Consultas
Mecanismo
de Consultas

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