Aula 3
3. Modelo Relacional
O modelo relacional e' baseado no conceito
de relacao matematica.
Relacao ~= tabela.
dominio: conjunto de valores atomicos
tipo: especifica
um dominio
esquema de relacao: R(A1, ...,
An), onde
R: nome da relacao
Ai: nome do atributo
dom(Ai): dominio do atributo Ai
Ex: Aluno (RA, nome, curso, data de nascimento)
relacao ou instancia de um esquema de
relacao:
Def 1: conjunto de n-tuplas r={t1,...,
tm}, onde cada tupla ti e' uma lista ordenada de n valores t=<v1,...,
vn>
Def 2: r(R) subconjunto (dom(A1)
x dom(A2) x ... x dom(An))
Def 3: r(R) e' um conjunto de mapeamentos
r={t1, ..., tm}, onde cada tupla e' um mapeamento de R para D (D e' a uniao
dom(A1) U dom(A2) U ... U dom(An)), e uma tupla e' um conjunto de pares
(<atributo>, <valor>). Neste caso, a ordem dos atributos nao e' importante.
Caracteristicas de uma relacao:
-
uma relacao (sendo um conjunto) nao e' ordenada
-
atributos possuem como dominio, um conjunto
de valores atomicos.
-
uma relacao pode ser interpretada como um
conjunto de fatos.
Notacao:
-
R(A1,...,An) e'um esquema da relacao R
-
t=<v1,...,vn> e' um tupla
-
t[Ai] e t.Ai: valor do atributo Ai da tupla
t t[Ai,.., Aj] e t.(Ai,..., Aj): lista dos valores dos atributos Ai,...,Aj
da tupla t
Restricoes:
1. Restricoes de Dominio:
definem os valores que um
atributo pode conter
2. Restricoes de Chaves:
Superchave (SK): e' um subconjunto
do conjunto de atributos de uma relacao R tal que para qualquer par de
tuplas distintas t1, t2:
t1[SK] diferente de t2[SK].
Chave: e' uma superchave minima,
ou seja, uma superchave da qual nao podemos remover qualquer atributo e
sustentar a restricao de unicidade.
Chave Candidata/Chave primaria: uma relacao
pode ter diversas chaves. Elas sao chamadas de chaves candidatas.
Uma delas e' escolhida como principal forma de identificacao de tuplas
na relacao: a chave primaria.
Banco de Dados Relacionais:
O esquema de um BD relacional e' um conjunto
de esquemas de relacao,
S= {R1,..., Rm}.
Uma instancia de S e' um conjunto de relacoes
BD={r1,...,rm}, onde cada ri e' uma instancia do esquema de relacao Ri.
- Representacao de relacionamentos
- Representacao de chave primaria
- Restricao de Integridade da Entidade:
restricao que determina que o valor da chave primaria nao pode ser nulo.
- Restricao de Integridade Referencial:
DEF: um conjunto de atributos FK no esquema
da relacao R1 e' uma chave estrangeira de R1 que referencia R2 se:
-
os atributos em FK possuem os mesmos dominios
que os atributos da chave primaria PK de R2; diz-se que os atributos FK
fazem referencia a relacao R2.
-
para qualquer tupla t1 de r1(R1), ou existe
uma tupla t2 em r2(R2) tal que t1[FK]=t2[PK], ou t1[FK] e' nulo.
Exemplos: de FK e auto-relacionamento.
Atualizacoes no BD e violacoes de restricoes
que podem ocorrer:
1) inserir(v1,...,vn):
-
pode causar: violacao de integridade de identidade
(chave prim. nula)
-
violacao de restricao de chave
-
violacao de integridade referencial
-
em geral nestes casos a insercao e' rejeitada
2) excluir(PK):
-
pode causar: violacao de integridade referencial
-
como lidar com a violacao:
-
rejeitar
-
propagar a exclusao
-
modificar os valores dos atributos referenciados
para nulo
3) atualizacao(PK, atributo, novo_valor):
-
podem causar as mesmas violacoes vistas anteriormente
quando ou a chave primaria ou chave estrangeira sao atualizadas.
[voltar]
|