Sei sulla pagina 1di 28

2.

Modelos de Dados
Disciplina Banco de Dados 1
Profa Adriana G. Alves

Banco de Dados
Desenvolvimento de aplicaes de BD

Arquivos devem ser projetados para atender diferentes


aplicaes;

Dados devem estar corretos - Manuteno de Restries


de integridade;

BD acessado concorrentemente por mltiplos usurios


Controle de Concorrncia;

Nem todo o usurio pode acessar qualquer informao


Controle de Acesso;

Dados so de importncia vital e no podem ser perdidos


Tolerncia a Falhas;

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

Vises fsicas e lgicas de Dados


Na viso lgica, os dados so apresentados como
seriam percebidos por usurios finais ou pelos
especialistas da empresa.
A viso fsica mostra como os dados so de fato
organizados e estruturados no meio de armazenamento
fsico.

Modelos de Banco de Dados


Modelo conceitual
Modelo de dados abstrato, que descreve a estrutura de um BD de forma
independente de um SGBD particular (+ prximo da viso do usurio).

Modelo Entidade-Relacionamento

Modelos de Banco de Dados

Modelo Lgico

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)

Modelos de Banco de Dados


Modelo Lgico
Modelo de dados, que representa a estrutura de dados
de um BD conforme vista pelo usurio do SGBD.
Modelo Lgico em Rede
Modelo Lgico Hierrquico
Modelo Lgico Relacional (+ utilizado, +fcil)
Modelo Lgico Orientado a Objeto

Modelos de Banco de Dados


Modelo

Lgico

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

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 por E. F. Codd em 1970, teve sua grande

aceitao comercial a partir de meados da dcada de


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

Modelos de Banco de Dados

Modelo Lgico Relacional: dados e relacionamentos


representados por uma coleo de tabelas. Ocupa mais de 90
% do mercado atual. Implementaes: SQL/DS e DB2 - IBM /
Oracle - Oracle Corp. / Access Microsoft / Interbase - Borland

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

Modelo Relacional

Abordagem Relacional

Um BD relacional composto por tabelas ou relaes.

Tabela Empregado
CodEmp

Nome

CodDepto

CategFuncional

E5

Souza

D1

C5

E3

Santos

D2

C5

E2

Silva

D1

C2

E1

Soares

D1

C6

chave primria

chave estrangeira

Linha ou
Tupla ou
Registro

Modelo Relacional

Chave Primria uma coluna ou


combinao de colunas cujos valores
distinguem uma linha das demais dentro de
uma tabela.
Simples :
EMPREGADO (CdigoEMP, Nome, Endereo, Sexo)
Composta:
DEPENDENTE (CdigoEMP, NroDep, Nome, Parentesco)

Modelo Relacional
Chave Estrangeira uma coluna ou
combinao de colunas cujos valores
aparecem necessariamente na chave
o mecanismo que permite a implementao de
primria
de uma tabela.
RELACIONAMENTOS no modelo relacional
Exemplo:

DEPARTAMENTO (CdDepto,
NomeDepto)

EMPREGADO (CdEmp, Nome,


CdDepto, CatFuncional)

Modelo Relacional
Chave Candidata/ Secundria/ Alternativa
Em alguns casos, mais de uma coluna ou
combinaes de colunas podem servir para
distinguir uma linha das demais. Escolhe-se
uma como chave primria. As demais so
denominadas de chaves alternativas.
Exemplo:
EMPREGADO (CdEmp, Nome, CIC,
Chave Alternativa
CatFunc)

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

Implicao da RIE

Implicaes de RIR

Implicaes de RIR

Bibliografia de Referncia

Bibliografia Bsica
SILBERSCHATZ,

A; KORTH, H. Sistema de
banco de dados. So Paulo : Makron Books.
DATE, C. J. Introduo a Sistemas de
Bancos de Dados. Rio de Janeiro : Campus.