Vous êtes sur la page 1sur 12

Modelo de Dados

Modelo para organizao dos dados de um BD


define um conjunto de conceitos para a representao de dados
exemplos: entidade, tabela, atributo, ...

existem modelos para diferentes nveis de abstrao de representao de dados


modelos conceituais modelos lgicos modelos fsicos
organizao dos arquivos de dados em disco (organizao seqencial, uso de ndices hashing ou B-trees, ...) no so manipulados por usurios ou aplicaes que acessam o BD decises de implementao de cada SGBD

Modelos Conceituais
Representao com alto nvel de abstrao
modela de forma mais natural os fatos do mundo real, suas propriedades e seus relacionamentos independente de BD preocupao com a semntica da aplicao exemplo: modelo entidade-relacionamento
Matrcula

(0,N)

(1,1) Lotao
AnoIngresso

Alunos
Nome

Cursos
Cdigo Nome

Modelos Lgicos
Representa os dados em alguma estrutura (lgica) de armazenamento de dados
tambm chamados de modelos de BD dependente de BD exemplos
modelo relacional (tabelas) modelos hierrquico e XML (rvore) modelo orientado a objetos (classes - objetos complexos)
Alunos matrcula nome anoIngresso curso Cursos cdigo nome

Modelos de BD (Lgicos)
Suporte mtodos de acesso
especificao dos conceitos do modelo (DDL)
dados, seus domnios e restries

manipulao de conceitos modelados (DML)

Esquema (lgico) de BD
resultado da especificao dos dados de um domnio de aplicao em um modelo de BD
Requisitos da Aplicao Modelo de BD

Esquema Lgico

Modelos de BD
1a gerao: Modelos pr-relacionais
modelos hierrquico e de rede

2a gerao: Modelo relacional 3a gerao: Modelos ps-relacionais


modelos orientado a objetos, objeto-relacional, temporal, geogrfico, ...

Modelos Pr-Relacionais
Modelos com vrias limitaes
no representam adequadamente relacionamentos do mundo real
exemplo: hierarquias (1-1 ou 1-N)

inexistncia de uma linguagem de consulta declarativa


consultas exigem programao pela aplicao manipulam um registro por vez
baixa performance de acesso

Modelos Ps-Relacionais
Novos modelos de dados para atender os requisitos de alguns tipos de aplicaes
BDOO
dados com representao complexa

BDT
suporte a representao da histria dos dados

...

Exemplos de reas de aplicao


engenharia, geografia, medicina, ...

Modelo Relacional
Definido em 1970 (E. Codd IBM/Califrnia) Modelo com uma slida base formal
teoria dos conjuntos

Modelo simples
estruturas tabulares poucos conceitos

Linguagens declarativas para a manipulao de dados


lgebra relacional e clculo relacional (formais) SQL (comercial)

Modelo Relacional - Caractersticas


Organizao dos dados
conceitos do modelo
atributo, relao, chave, ...

Integridade
restries bsicas para dados e relacionamentos

Manipulao
linguagens formais e SQL

Modelo Relacional - Organizao


O modelo apresenta cinco conceitos:
domnio atributo tupla relao chave

Domnio
Conjunto de valores permitidos para um dado Exemplos
inteiro, string (domnios bsicos) data, hora (domnios compostos) [0, 120], ( M , F ) (domnios definidos)

Para um domnio existem operaes vlidas


inteiro (somar, dividir, i1 maior que i2, ...) data (extrair dia, extrair ms, d1 anterior a d2, ...)

Definio de domnios de dados


DDL

Atributo
Um item de dado do BD Possui um nome e um domnio Exemplos
nome: string idade: [0,120]

Tupla
Um conjunto de pares (atributo, valor)
define uma ocorrncia de um fato do mundo real ou de um relacionamento entre fatos

Valor de um atributo
definido no momento da criao de uma tupla deve ser
compatvel com o domnio OU NULL (valor inexistente ou indeterminado) atmico (indivisvel: no-estruturado e monovalorado)

Exemplo
aluno: {(nome, Joo ), (idade, 34), (matrcula, 03167034), ...}

Relao
Composto por um cabealho e um corpo Cabealho
nmero fixo de atributos (grau da relao) atributos no-ambguos

Corpo
nmero varivel de tuplas (cardinalidade da relao) ordem no relevante na teoria, uma relao um conjunto de tuplas na prtica, uma relao uma coleo de tuplas
neste caso, uma relao chamada tabela

Chave
Conjunto de um ou mais atributos de uma relao Tipos de chaves
chave primria
atributo(s) cujo (combinao de) valor(es) identifica(m) unicamente uma tupla em uma relao conceitos associados
chaves candidatas e chaves alternativas

exemplos
alunos: matrcula cidades: (nome, estado)

Chave
Tipos de chaves
chave estrangeira
atributo(s) de uma relao R1 que estabelece(m) uma equivalncia de valor com a chave primria de uma relao R2 se fk uma chave estrangeira em R1 que faz referncia chave primria pk de R2 ento: domnio(fk) = domnio(pk) R1 e R2 podem ser a mesma relao exemplos
alunos: curso (referncia a um cdigo de curso) cursos: cdigo

Modelo Relacional - Integridade


Consistncias bsicas
identificao para os dados
garantia de acesso a todos os dados sem ambigidade Regra de Integridade de Entidade (RIE)

garantia de relacionamentos vlidos


Regra de Integridade Referencial (RIR)

Regra de Integridade de Entidade


Dada uma tupla ti de uma relao R
o valor de cada atributo que compe a chave primria de ti deve ser diferente de NULL no pode existir uma outra tupla tj em R com mesmo valor da chave primria de ti

Regra de Integridade Referencial


Dada uma tupla ti e uma chave estrangeira che em ti
o valor de che pode ser igual a NULL se e somente se os atributos de che no fazem parte da chave primria de ti o valor de che pode ser diferente de NULL se e somente se existir uma tupla tk na relao referenciada tal que a chave primria de tk possui o mesmo valor da che de ti

Implicaes da RIE
Dada uma tupla t de uma relao R
se ocorre incluso (I) ou atualizao (A) de t
se algum atributo da chave primria de t for NULL OU se existe outra tupla em R com o mesmo valor da chave primria de t ento IMPEDIMENTO seno EFETIVAO;

se ocorre excluso (E) de t


nenhuma consistncia a ser feita

10

Implicaes da RIR
Dadas duas relaes (R1 e R2) e uma chave estrangeira che em R1 que faz referncia chave primria de R2, trs aes podem ser tomadas
IMPEDIMENTO
a operao de atualizao no efetivada

CASCATA
se ocorre E de uma tupla t de R2, ento E toda tupla de R1 tal que che faa referncia chave primria de t se ocorre A da chave primria de uma tupla t de R2, ento A o valor da che de toda tupla de R1 que faa referncia ao valor antigo da chave primria de t para o novo valor da chave primria de t

Implicaes da RIR
Dadas duas relaes (R1 e R2) e uma chave estrangeira che em R1 que faz referncia chave primria de R2, trs aes podem ser tomadas
ANULAO
se ocorre E ou A de uma tupla t de R2, ento para toda tupla de R1 tal que che faa referncia chave primria de t faa che = NULL

11

Implicaes da RIR
Situao 1: operaes sobre R1 (onde est che)
I ou A de uma tupla t
se che de t for NULL ento se che faz parte da chave primria de R1 ento IMPEDIMENTO seno EFETIVAO seno se no existe tupla k de R2 tal que o valor de che seja igual ao valor da chave primria de k ento se che faz parte da chave primria de R1 ento IMPEDIMENTO seno IMPEDIMENTO ou ANULAO seno EFETIVAO

E de uma tupla t
nenhuma consistncia a ser feita

Implicaes da RIR
Situao 2: operaes sobre R2
E de uma tupla t ou A da sua chave primria
para toda tupla k de R1 cuja chave estrangeira che faa referncia chave primria de t faa se che faz parte da chave primria de R1 ento IMPEDIMENTO ou CASCATA seno IMPEDIMENTO ou CASCATA ou ANULAO

I de uma tupla t
nenhuma consistncia a ser feita

12

Vous aimerez peut-être aussi