Você está na página 1de 32

Banco de Dados

Professor Jefferson Pereira da Silva


Instituto Federal de Brasília
http://www.ifb.edu.br/

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 1 / 32


Modelos

Modelo de dados

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 2 / 32


Modelo de Dados

• Uma coleção de conceitos que podem ser


usados para descrever a estrutura de um
banco de dados
• Uma coleção de ferramentas conceituais para
– Descrição de dados
– Relacionamentos entre eles
– A semântica dos dados
– Restrições de consistência

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 3 / 32


Categoria de modelos de dados
• Modelos de dados de alto nível ou conceituais
– Conceitos que são próximos ao modo como o usuário
ver os dados
• Modelo de dados representativos (ou de
implementação)
– Ocultam detalhes de armazenamento de dados em
disco, mas podem ser implementados diretamente em
um sistema de computador.
• Modelos de dados de baixo nível ou físicos
– Conceitos que descrevem os detalhes de como os
dados são armazenados no computador, geralmente,
voltado para especialistas.

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 4 / 32


Categoria de modelos de dados

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 5 / 32


Exemplos de modelos de dados

• Modelo conceitual (baseado em objetos)


– Modelo E-R – entidades, atributos e
relacionamentos
• Modelo representativo (baseados em registro)
– Modelo relacional
– Modelo de dados legados – rede e o hierárquico.
• Modelo físico
– Modelo unificador
– Modelo de memória em “frames”

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 6 / 32


Modelos Lógicos (Silberchatz)
• Baseado em Registros
– Hierárquico
– Rede
– Relacional
• Baseado em Objetos
– Entidade-relacionamento
– Binário
– Infológico
– Funcional
– Semântico
– Orientado a objetos

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 7 / 32


Estrutura de um Banco de Dados (BD)

• Instância ou ocorrências ou estado


– Coleção de dados armazenados no Banco de
Dados em um determinado instante
– Próprio banco de dados
– Extensão!!
• Esquema
– É o projeto geral do BD
– Descrição do banco
– Intenção, conotação!!

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 8 / 32


Modelo de Dados

• Modelo de Dados
– Coleção de conceitos que são usados para descrever a
estrutura de um banco de dados;
– Descrição formal da estrutura de um banco de dados.

• Esquema
– Descrição de um BD, segundo um modelo de dados.

• Instância
– É o conjunto de dados armazenados no BD em um
determinado instante

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 9 / 32


Classificação dos Modelos de Dados
• Modelo Conceitual ou Semântico (Alto Nível)
– Descrevem a realidade observada
– Preocupação com a semântica da aplicação
– Independente de SGBD e de modelo de dados
– exemplos:
• modelo entidade-relacionamento (MER)
• Diagrama de classes UML

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 10 / 32


Classificação dos Modelos de Dados
• Modelo Lógico ou de Implementação (Nível
Intermediário)
–Representam os dados em alguma estrutura (lógica)
de armazenamento de dados
–Dependente do tipo/modelo de dados particular
do SGBD que será usado
– Independente do SGBD
– Exemplos:
• modelo relacional (tabelas)
• modelos hierárquico e XML (árvore)
• modelo em redes (grafo)
• modelo orientado a objetos (classes – objetos complexos)

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 11 / 32


Modelo Hierárquico
• Todos os registros no modelo Hierárquico são
organizados na forma de uma árvore.

• Acesso a qualquer um dos registros deve ser feito a


partir da raiz e correndo para cada um dos nós da
árvore.

• Registro filho não pode ser ligado a mais de um


registro pai. Se possuir mais de um registro pai,
deve ser duplicado para cada um dos pais.

• Dificuldade de representação de relacionamentos M:N

• Utilização de programação muito exigente.

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 12 / 32


Modelo Hierárquico

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 13 / 32


Modelo de Rede
• É uma coleção de registros conectados uns aos
outros por meio de links(ponteiros).

• Registros no BD são organizados como coleções


arbitrárias de grafos.

• É fortemente dependente da implementação.


Muitas vezes é necessário criar registros
artificiais para implementar relacionamentos.

• Um filho pode ter mais do que um pai.

• Facilita a representação de relacionamentos M:N

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 14 / 32


Modelo de Rede

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 15 / 32


Modelo Relacional
• Dados e suas associações são
representados por uma coleção de tabelas;

• Não requer mecanismos de estruturação


para inter-relacionar seus dados;

• Fortemente fundamentado na Álgebra


Relacional e no cálculo relacional;

• Mais difundido dentre todos os modelos


de dados;

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 16 / 32


Modelo Relacional

Empregado
Nome CPF DataNasc
Carlos 01035 12/11/1980
Rafael 02467 03/07/1976
Maria 01427 20/02/1985

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 17 / 32


Classificação dos modelos

• 1ª geração: Modelos pré-relacionais


– modelos hierárquico e de rede

• 2ª geração: Modelo relacional

• 3ª geração: Modelos pós-relacionais


– modelos orientado a objetos, objeto-
relacional, temporal, geográfico, ...

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 18 / 32


Classificação dos Modelos de Dados

•Modelo Físico (Baixo Nível)


• Representação gráfica do detalhamento físico
das estruturas dos dados que o banco de
dados irá armazenar.
• Este modelo é dependente do SGBD em que
será implementado.

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 19 / 32


Exemplo
Nome: Carlos Idade: 39 anos
Sexo: Masculino Peso: 100 kg

PESSOA
Modelo
Conceitual código
nome

Pessoa
Código Nome
Modelo
Lógico 10 Carlos

CREATE TABLE Pessoa (


Modelo codigo INT NOT NULL,
Físico nome VARCHAR(100) NOT NULL
PRIMARY KEY (codigo)
); Banco de Dados I - Prof Jefferson Silva

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 20 / 32


Dependência modelagem x SGBD

Dependente do Dependente do
Modelo de Dados SGBD

Modelo Conceitual NÃO NÃO

Modelo Lógico SIM NÃO

Modelo Físico SIM SIM

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 21 / 32


Projeto de Banco de dados
Mundo
real

Análise de
requisitos Requisitos de dados
Requisitos funcionais

Análise Funcional Projeto conceitual

Especificação de transações Esquema conceitual (MER)


Independente
(em alto nível)
do SGBD

Projeto lógico

Dependente Projeto de programas


Esquema lógico
do SGBD de aplicação
(Modelo Relacional)

Projeto físico
Programas de Esquema físico
Implementação de
aplicação (modelo de implementação)
transações

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 22 / 32


Banco de dados

• Arquitetura de três camadas


(Arquitetura ANSI/SPARC) e
• independência de dados

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 23 / 32


Arquitetura ANSI/SPARC

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 24 / 32


Arquitetura ANSI/SPARC Arquitetura de três esquemas

• Objetivo é separar o banco de dados físico das


aplicações do usuário através de três diferentes
níveis de esquemas.

• Nível Interno (físico, de armazenamento):


– O nível mais baixo de abstração.
– Descreve como os dados estão realmente armazenados.

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 25 / 32


Arquitetura ANSI/SPARC Arquitetura de três esquemas

• Nível Conceitual (lógico de comunidade):


– Nível intermediário de abstração
– Descreve a estrutura do BD completo sob o ponto de
vista do usuário. Descrições de entidades, atributos,
relacionamentos, operações e restrições;

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 26 / 32


Arquitetura ANSI/SPARC / Arquitetura de três esquemas

• Nível Externo (de visões, lógico do usuário):


– O mais alto nível de abstração
– Descreve a visão da base de dados de um grupo de
usuários. Cada visão descreve cada parte da base de
dados que um grupo está interessado e esconde o resto
da base.

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 27 / 32


Mapeamento

• Mapeamento Externo/Conceitual
– Define a correspondência entre uma visão externa
específica e a visão conceitual.
– Exemplo: os campos podem ter tipos de dados diferentes, as
denominações de campo e registro podem ser modificadas

• Mapeamento Conceitual/Interno
– Define a correspondência entre a visão conceitual e o
banco de dados armazenado;
– Especifica o modo como os registros e campos
conceituais são representados no nível interno.

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 28 / 32


Independência
• Independência de dados
– Habilidade de modificar a definição de um esquema em
um nível sem afetar a definição de esquema num nível
mais alto.

• Independência física de dados


– Modificar o esquema físico sem a necessidade de
reescrever os programas aplicativos
– Mudanças de esquema interno não afetam o esquema
conceitual ou a esquemas externos.
– Modificações no nível físico são ocasionalmente
necessárias para melhorar o desempenho;

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 29 / 32


Independência
• Independência lógica de dados:
– Modificar o esquema conceitual sem a necessidade de
reescrever os programas aplicativos.
– Modificações no nível conceitual são necessárias quando
a estrutura lógica do banco de dados é alterada
– Exemplo: adição de um novo tipo de conta, contas de bolsas de
mercado num sistema bancário.

• Independência lógica dos dados é mais difícil de ser


alcançada do que a independência física
– os programas são bastante dependentes da estrutura
lógica dos dados que eles acessam.

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 30 / 32


Independência

Independência
Lógica

Independência
Física

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 31 / 32


Resumo

Modelo de Dados Banco de Dados I - Prof Jefferson Silva 32 / 32

Você também pode gostar