Professional Documents
Culture Documents
Modelo Relacional
Material original editado: Profa. Elaine Parros Machado de Sousa
Modelo Relacional
2
Sistemas de Banco de Dados
Desenvolvimento de
Sistemas de Banco de Dados Ciclo de Vida
Mundo Real
DBA
Projeto Fsico Pessoal de Suporte e Implementao
Operao
Projetistas
de BD SGBD Aplicao
Dados e
Metadados Usurios
Operadores de Aplicao
3
Modelo Relacional
Valores
dados do mundo real
Tabelas
representam colees de objetos, entidades,
relacionamentos, etc, do mundo real
tabelas so uma noo intuitiva para as
RELAES
5
Modelo Intuitivo
6
Modelo Intuitivo
Instncia
7
Terminologia
Relao
Tabela
Tupla
Registro, linha
Atributo
Campo
Valor
Relation Intension
Esquema
Relation Extension
Instncia
8
Valores
Modelo Relacional valores so
atmicos
Valor Atmico
indivisvel no pode ser recuperado em
partes
ex: endereo definido como um nico atributo
monovalorado pode ter apenas um
valor
ex:
Idade de aluno monovalorado
Irmos de aluno multivalorado
9
Domnios
Domnio - conjunto de valores
atmicos
Exemplos de domnio
Nomes de Alunos
Cdigos de Disciplinas
Idade
10
Domnios
Especificao do Domnio:
Nome
Definio lgica
Tipo de dado e formato de dado
11
Especificao do Domnio
12
Especificao do Domnio
13
Esquema de Relaes
14
Esquema de Relaes
N - grau da relao descrita por R
nmero de atributos em R
Dom(Ai) - Domnio do Atributo Ai
Ex:
uma relao de Alunos que tenha os
atributos Nome, RG e Idade, tem o
seguinte esquema:
16
Exemplo (cont.)
Esquema da relao Aluno:
Aluno={Nome, RG, Idade}
17
Relaes
RelaoR instncia do Esquema
de Relao R (A1, A2, ..., An)
R(R)
R Dom(A1) X Dom(A2) X ...
Dom(An)
R um conjunto de tuplas t
cada tupla um conjunto de valores v
R={t1, t2, ... tk}
t = {v1, v2, ... vn}, vi Dom(Ai)
18
Relaes
Nmero total de tuplas possveis:
|Dom(A1)| X |Dom(A2)| X ... X|Dom(An)|
19
Relaes
Exemplo:
Esquema de Relao Aluno:
Aluno = {Nome, RG, Idade}
Relao vlida:
R(Aluno) = {<Jos, 12345, 21>,
<Pedro, 54321, 18>,
<Paulo, 321321, 22>}
20
Relaes
Ordem nas Tuplas?
relao conjunto de tuplas
matematicamente no existe a ideia de ordem
em conjuntos no existe uma ordem em
particular para as tuplas de uma relao
21
Relaes
Ordem nos valores de uma tupla?
tupla lista de n valores dispostos em uma
ordem determinada de acordo com a disposio
dos atributos no esquema da relao
Valores nas tuplas
os valores de uma tupla so atmicos
valor nulo (null )
valor desconhecido
valor no se aplica
valor conhecido mas no disponvel
22
Restries das Relaes
Restrio de domnio
o valor de cada atributo A deve ser um valor
atmico pertencente a Dom(A)
Restrio de null para atributo
determina quando o valor especial null ou no
permitido para um atributo
Restrio de unicidade (CHAVE)
deve ser possvel identificar univocamente cada
tupla da relao
23
Restrio de Unicidade
chave
24
Restrio de Unicidade
Superchave
conjunto de atributos de uma relao R
que identifique univocamente cada tupla
SCHk(R) = {Aj, ..., Ai}|{Aj, ..., Ai} R
Combinao de valores no se repete
Exemplo:
Aluno = {Nome, DataNascimento, Curso, NUSP}
SCH1(Aluno) = {Curso, DataNascimento, NUSP}
SCH2(Aluno) = {NUSP, Nome}
25
Restrio de Unicidade
Chave
uma superchave da qual no se pode
retirar nenhum atributo sem perder a
propriedade de identificao unvoca
superchave mnima
26
CHAVE
CHk(R) = {Ai, ..., Aj}|{Ai, ..., Aj} R
tg[CHk] th[CHk] g, h R, g h
Exemplo:
Aluno = {Nome, DataNasc, Curso, NUSP}
SCH1(Aluno) = {Nome, NUSP}
CH1(Aluno) = {NUSP}
27
Chave
Chave Candidata:
pode existir mais de uma chave para
uma mesma relao
cada uma das chaves chamada de
Chave Candidata
CH1(Aluno) = {NUSP}
CH2(Aluno) = {CPF}
28
Chave
Chave Primria - CH0
escolhida entre as chaves candidatas
a chave primria frequentemente a
mais utilizada para acessos relao
Exemplo:
CH0(Aluno) = {NUSP}
29
Chave
Notao no Esquema da Relao
CH0(Aluno) = {NUSP}
CH1(Aluno) = {CPF}
Chave secundria
Chave primria
30
Base de Dados Relacional
O esquema S de uma base de dados
relacional composto por:
1) um conjunto de esquemas de
relaes
S = {R 1, R 2, ..., R n}
2) um conjunto de Restries de
Integridade
31
Base de Dados Relacional
32
Base de Dados Relacional
R1 R2
BASE DE DADOS
R3 R4
33
Exemplo
Base de Dados para armazenar informaes
sobre as diversas turmas de disciplinas
oferecidas num semestre
Esquemas de Relaes:
Aluno = {Nome, NUSP, DataNasc, Curso, CPF}
Disciplina = {Sigla, Nome, NCreditos}
Matricula = {Aluno, Disciplina, Semestre, Ano,
Nota}
Como garantir que uma matrcula
corresponde a uma disciplina e a um
aluno vlidos?
34
Restries de Integridade
Restries de integridade
regras a respeito dos valores que
podem ser armazenados nas
relaes
objetivo: garantir consistncia
quando definidas no domnio do
problema, devem ser sempre
satisfeitas na base de dados
35
Restries de Integridade
Principais restries de integridade para
uma BD relacional:
Restries de Integridade da
Entidade
Restries de Integridade
Referencial
36
Restries de Integridade
Restrio de Integridade da
Entidade
a chave primria nunca pode ser
nula
se a chave primria for composta por
mais de um atributo, nenhum deles
pode ser nulo
37
Restries de Integridade
Restrio de Integridade
Referencial
definida entre duas relaes
usada para manter consistncia entre
tuplas de duas relaes
ex: tuplas de Matrcula e tuplas de Aluno
Chave Estrangeira
conceito fundamental: compatibilidade de domnio
38
Restries de Integridade
Referencial
Compatibilidade de Domnio:
dois conjuntos de atributos quaisquer C e D
so compatveis quando:
o primeiro atributo de C tem o mesmo domnio do
primeiro atributo de D
o segundo atributo de C tem o mesmo domnio do
segundo atributo de D,
e assim por diante....
39
Restries de Integridade
Referencial
FK (foreign key) uma Chave estrangeira
em R1 que referencia R2 se:
1) FK compatvel em domnio com toda a chave
primria PK de R2
2) o valor dos atributos FK numa tupla ti qualquer da
relao R1:
ou igual ao valor dos atributos PK de alguma
tupla tk da relao R2
ti[FK] = tk[PK], ti R1, tk R2
ou nulo ti[FK] = null
40
Restries de Integridade
Referencial
R 1[FK] R 2[PK]
41
Restries de Integridade
Referencial
Chave Estrangeira (notao):
X = {A, B, C} Y = {F, G, H}
Pergunta: a chave
Dom(F, G) = Dom(A, B) estrangeira {F,G}
pode ser nula ou ter
{A, B} chave primria em X atributo nulo? Por
{F, G} chave estrangeira em Y que?
42
Restries de Integridade
Referencial
Pergunta: a chave
Exemplo: estrangeira
{Departamento} pode
ser nula? Por que?
43
Exemplo
Quais restries
Alunos = {Nome, No.USP, Idade} de relao e de
R1(Alunos) = {<Mario, 1234, 20>,
integridade no
<Paulo, 4321, null >, so satisfeitas
<null , 1234, 22>, nas tuplas do
<Thais, null, 24>, exemplo? Por
<Mario, 1235, 22>} qu?
44
Modelo Relacional
Projeto Lgico
criao de domnios
criao dos esquemas de relao
denio de
restries de relao
restries de integridade
45
Sugesto de Leitura
ELMASRI,R; NAVATHE, S.B.
Sistemas de Banco de Dados,
Addison Wesley, 4a Edio.
Captulo 5 O Modelo de Dados
Relacional e as Restries de um
Banco de Dados Relacional
48