Modelo Logico Relacional

Propaganda
Modelo Relacional
Fernanda Baião
UNIRIO
Material parcialmente extraído a partir das notas de aula de
Maria Luiza M. Campos, Arnaldo Rocha e Maria Cláudia
Cavalcanti
Modelo Relacional
„
„
Modelo Lógico: ferramenta para descrição de
estruturas de dados em uma forma passível de
ser processada por um SGBD
Nível de abstração mais baixo que um Modelo
Conceitual
„
Não considera aspectos físicos de
armazenamento, acesso e desempenho
„
Introduzido por Codd em 1970
„
„
„
Forte base teórica, fundamentada na teoria dos conjuntos
Conceitos simples: relações, atributos, tuplas e domínios
Base para a maioria dos SGBDs que dominam o mercado
Conceitos Gerais: Relação
Definição 1:
Dados os conjuntos S1, S2, ...., Sn, não necessariamente distintos,
diz-se que R é uma relação sobre esses n conjuntos se R é um
conjunto de m tuplas, nas quais o primeiro elemento assume
valores em S1, o segundo em S2, e assim por diante.
EXEMPLO:
S1
nome da relação
S3
S2
S4
Aluno
tupla 1
tupla m
Nelson
21
M
010110
Davi
22
M
010100
...
...
...
...
Maria
22
F
101000
Conceitos Gerais: Atributos
Definição 2: Dada uma relação R, define-se como seus atributos os nomes das
funções que mapeiam os valores de cada um dos elementos de
cada tupla nos respectivos conjuntos S1, S2, ...., Sn.
EXEMPLO:
S1
S3
S2
Idade Sexo Matrícula
Nome
ATRIBUTOS
S4
Aluno
relação
Nelson
21
M
010110
Davi
22
M
010100
...
...
...
...
Maria
22
F
101000
Conceitos Gerais: Domínios ...
Definição 3: Dada uma relação R, o domínio do atributo Aj , dom(Aj ), é o
conjunto Sj no qual o atributo assume valores.
S3
S1
DOMÍNIOS
dom(Nome)
dom(Sexo)
S4
S2
dom(Matrícula)
dom(Idade)
atributos
tupla
Nome
Nelson
Idade
21
Sexo Matrícula
M
010110
Conceitos Gerais: Domínios
•
Todo domínio possui uma descrição física e outra
semântica.
•
a descrição física serve para identificar o tipo e o
formato dos valores que compõem o domínio.
exemplo:
•
char(13), “(dd)dddd-dddd”
a descrição semântica serve para ajudar na
interpretação de seus valores.
exemplo:
“Números de telefone do Estado do RJ”
Conceitos Gerais: Domínios
EXEMPLOS
domínio
A trib u to
T ip o
F o rm ato
N om eE stu dan te
char(50 )
A (50 )
S em â n tica
n om es pró prios d e pesso as.
Id adeE stud ante
inteiro
99
in teiros entre 14 e 6 0
represen tan do a idad e de
p essoas em an os.
P esoE stud ante
float
99 9,99
n úm eros d ecim ais, entre 30
e 2 00, represen tan do p eso s
d e pessoas, em q uiilos.
T elefon e
char(10 )
(9 9)9 999 -99 99
n úm eros d e telefo ne
válid os no B rasil.
D ep artam ento
char(5)
AAAAA
siglas dos d ep artam ento s
existentes na U E R J.
descrição física
descrição semântica
Conceitos Gerais: Domínios
„
„
O mesmo domínio pode se aplicar a vários
atributos.
Os atributos de uma relação podem ser vistos
como diferentes interpretações para o mesmo
domínio.
Números
Locais de
Telefones
ESTUDANTE
Nome
Matrícula
Telefone
Casa
Endereço
Telefone Residencial de um
Estudante
Telefone
Escritório
Idade
CR
Telefone Comercial de um
Estudante
Conceitos Gerais:
Esquema de uma Relação
R(A1, A2, ..., An)
„
usado para descrever uma relação
através da especificação de seus
atributos e domínios.
„
formado pelo nome da relação e uma
lista de atributos A1, A2, ..., An, onde Aj
é o nome do papel desempenhado pelo
domínio Dj no esquema da relação R.
„
também chamado de intenção da
relação R.
Conceitos Gerais:
Esquema de uma Relação
Definição 4: O esquema de uma relação R, denotado por
R (A1:D1, A2:D2, ..., Am:Dm) , é formado pelo nome da relação e
pela lista de seus atributos e respectivos domínios.
EXEMPLO:
ALUNO (Nome:
NomePessoas,
Idade:
IdadePessoas,
Sexo:
SexoPessoas,
Matrícula: CódigosMatrícula)
intenção da relação R
ALUNO
Nome
extensão ou instância da relação R
esquema da relação ALUNO
Sexo
Matrícula
Nelson
Idade
21
M
010110
Davi
22
M
010100
...
...
...
...
Antonio
19
M
111111
Conceitos Gerais:
Intenção x Extensão
„
Para uma mesma intenção pode existir mais
de uma extensão.
ALUNO
Nome
Idade
Sexo
alunos de Computação
Matrícula
alunos de Telemática
Nelson
21
M
010110
Pedro
22
M
9213025
Davi
22
M
010100
Luana
20
F
9421059
...
...
...
...
Antonio
19
M
111111
...
...
...
...
Henrique
19
M
9511032
Revisitando o Conceito de
Relação
Definição 5:
Uma relação ou instância de relação r do esquema
R (A1:D1 , A2:D2 , ...., An:Dn), também denotada por r(R), é um
conjunto de m-tuplas r = {t1, t2, ..., tm}, onde cada tupla t = < v1,
v2, ..., vn> é uma lista ordenada de n valores, em que cada valor
vi, 1<= i <= n, ou é nulo ou pertence ao domínio Di = dom(Ai).
dom(A1)
...
dom(An)
A1
...
An
esquema R
t1
v11
v12
...
...
...
...
...
v1n
...
tm
vm1
vm2
...
vmn
relação r(R)
Revisitando o Conceito de
Relação
Definição 6:
Uma relação ou instância de relação do esquema
R (A1:D1 , A2:D2 , ...., An:Dn), r(R), é um subconjunto do Produto
Cartesiano dos domínios que definem R, isto é:
(dom(A1) x dom(A2) x ... x dom(An))
r(R)
• O Produto cartesiano especifica todas as possíveis combinações de valores dos
domínios subjacentes, isto é:
|dom(A1)| * |dom(A2)| * ... * |dom(An)|
• Dessas possíveis combinações, a instância r(R) de uma relação, num dado
instante, reflete apenas as tuplas que representam um estado particular do
mundo real.
Banco de Dados Relacional
•
o universo de um banco de dados relacional é um conjunto
finito, não vazio, de relações.
•
o esquema de um banco de dados relacional é o conjunto dos
esquemas das relações que o formam, isto é:
R1
R2
....
Rm
(A11, A12, ........., A1n)
(A21, A22, ........., A2n)
(Am1, Am2, ......., Amn)
•
uma instância de um banco de dados relacional é o conjunto
das instâncias de suas relações.
•
o mesmo esquema pode se aplicar a diferentes instâncias de
um banco de dados.
Características das
Relações ...
„
Não existe ordem entre as tuplas de uma relação.
ALUNO
ALUNO
Nome
Sexo
Matrícula
Nelson
21
M
010110
Davi
22
M
010100
...
...
...
...
Antonio
19
M
111111
Nome
Idade
Idade
Sexo
Matrícula
111111
Antonio
19
M
Davi
22
M
010100
Nelson
21
M
010110
...
...
...
...
Do ponto de vista conceitual, não
há diferença entre essas duas
relações.
Características das
Relações
„
Desde que seja mantida a correspondência entre
atributos e valores, não existe ordem entre os atributos
de uma relação.
ALUNO
Nome
Sexo
Matrícula
Antonio
Idade
19
M
111111
...
...
...
...
Do ponto de vista conceitual, não
há diferença entre essas duas
relações.
ALUNO
Matrícula Nome
111111
...
Sexo
Idade
Antonio
M
19
...
...
...
Características das
Relações
„
Todos os atributos de uma relação devem ser atômicos,
isto é, indivisíveis em termos de valores e componentes.
ALUNO
Nome
Telefone
Cláudia
245.9261
...
Antonio
Relação
Inválida!
Sexo
F
DataDeNascimento
Dia
Mês
Ano
10
03
1974
...
...
...
...
...
246.6666
325.9887
987.9231
M
25
08
1977
atributo
multivalorado
atributo
composto
Características das
Relações ...
„
O esquema de uma relação pode ser interpretado como
uma declaração ou um tipo de assertiva.
„
Cada tupla da relação pode ser interpretada como um
fato ou uma instância particular dessa assertiva.
ALUNO
Nome
Sexo
Matrícula
Antonio
19
M
111111
...
...
...
...
FATO:
Idade
ASSERTIVA: O esquema da relação
ALUNO afirma que, em
geral, aluno possui Nome,
Idade, Sexo e Matrícula.
Existe um ALUNO de Nome “Antonio”, com “19” anos de
Idade, do Sexo “M”, cuja Matrícula é “111111”.
Características das
Relações
„
Numa relação, todos os atributos devem ter nomes
distintos.
Conceitualmente, não existe nada que impeça dois atributos de terem o mesmo nome.
A restrição é apenas de ordem prática, para facilitar a consulta ao banco de dados.
Mesmo que pudessem ter nomes iguais poderiam assumir valores em domínios
diferentes.
„
Nenhuma relação possui atributos em duplicata.
Essa restrição decorre não apenas do fato de uma relação ser um conjunto, no sentido
matemático do termo, como também do fato de suas tuplas representarem uma
assertiva sobre o mundo real. Não faz sentido representar o mesmo valor duas vezes
no mesmo fato. Ex: Existe um ALUNO de Nome “Antonio”, com “19” anos de Idade, do
Sexo “M”, cujo nome é “Antonio”.
Revendo o conceito de
Esquema Relacional
„
„
Um esquema Relacional de um Banco de Dados
é formado por um conjunto de esquemas das
relações S = {R1,R2,…, Rm}
e um conjunto de restrições de integridade IC
Uma Instância de um esquema relacional de um
Banco de Dados (BD) é um conjunto de instâncias de
relações pertencentes a um esquema Relacional (S)
BD = {r1, r2, … rm}, tal que ri é instância de Ri, e tal
que as ri’s satisfazem IC.
Restrições de Integridade
„
Restrições de Domínio - especificadas através do tipo
de dados de cada atributo do esquema de uma relação.
„
Restrições de Chave e de Integridade de Entidadeespecificadas através da definição de uma chave de
acesso em cada relação.
„
Restrições de Integridade Referencial - especificadas
através de regras de relacionamento entre os
esquemas das relações que compõem o esquema do
banco de dados.-
„
Restrições Semânticas - especificadas através de
regras sobre os esquema do banco de dados.
Restrições de Domínio
„
Especifica que o valor de cada atributo A
deve ser um elemento atômico do
domínio de A.
„
Em geral, é especificado através de tipos
primitivos de dados, tais como integer,
float, char, date, time, money, etc.
„
Também podem ser descritos através da
definição de subconjuntos de tipos
primitivos ou de listas enumeradas.
Restrições de Chave:
O Conceito de Chave
„
O valor de um atributo-chave pode ser utilizado para identificar
uma tupla específica numa relação.
„
Uma chave é uma propriedade do esquema de uma relação, isto
é, uma propriedade que deve ser respeitada por todas as instâncias
da relação.
„
Atributos cujos valores podem ser duplicados, não devem ser
definidos como chaves de uma relação (Nome, por exemplo).
„
Em geral, uma relação pode ter mais de uma chave. Nesse caso,
cada chave da relação é chamada de CHAVE CANDIDATA.
„
A chave candidata escolhida para identificar as tuplas de uma
relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas
as chaves candidatas, escolhe-se para chave primária aquela com o
menor número de atributos
O conceito de SuperChave
„
Mais formalmente...
„
Seja sk um subconjunto de atributos de r
∀ t1, t2 ∈ r / t1[sk] ≠ t2 [sk]
⇒ sk é superchave
„
Uma chave é uma superchave minimal
„
Exemplo:
• Não se pode retirar atributos
• estudante (dre, nome, nascimento, sexo, pontos)
• O atributo dre é chave pq é superchave e é mínimo
• Qq conj de atributos que envolva o dre é superchave,
mas não é chave
Integridade de Entidade
„
Integridade de Entidade: estabelece que nenhum dos atributos
pertencentes a chave-primária de uma relação pode ter valor nulo.
Isso é para garantir a identidade individual das tuplas de uma
relação, uma vez que a chave-primária é utilizada para identificar
cada uma de suas tuplas.
Restrições de Integridade
„
Integridade Referencial: estabelece que qualquer tupla
pertencente a uma relação R1 que referencie uma outra
relação R2, tem de necessariamente referenciar uma tupla
existente em R2.
chave-estrangeira
EXEMPLO:
PROFESSOR
Nome
Matrícula
Sexo
24671
M
DESC
...
...
...
Arnaldo Rocha
...
Depto
chave-primária
DEPARTAMENTO
Sigla
Nome
Unidade
DESC
Departamento de Engenharia de
Sistemas e Computação
...
...
FEN
...
Conceitos Gerais:
Chave-Estrangeira
Definição 8:
Seja FK um conjunto de atributos de um esquema de relação R1 .
Diz-se que FK é uma chave-estrangeira de R1 se FK satisfizer as
seguintes condições:
1. Os atributos pertencentes a FK assumirem valores dos mesmos
domínios correspondentes aos atributos PK da chave-primária de um
outro esquema de relação R2 ; e
2. O valor de FK , em qualquer tupla de R1, for nulo ou igual ao valor de
PK , em alguma tupla de R2.
•
Utilizadas para manter a consistência entre as tuplas de duas relações distintas
e relacionadas entre si.
•
Decorrem tipicamente dos relacionamentos entre entidades definidos no
modelo conceitual do banco de dados.
Chave-Estrangeira: Exemplo
EMPREGADO
Nome
SNome
Matrícula
DataNasc
Endereço
Sexo
Salário
SuperMat
Depto
DEPARTAMENTO
DeptoNome
DeptoSigla
MatrículaGerente
PROJETO
DEPTO_LOCAL
Depto
PNome
PCódigo
PLocalização
Depto
Localização
TRABALHA_EM
MatrículaEmp
PCódigo
Horas
DEPENDENTE
MatrículaEmp
DependenteNome
Sexo
DataNasc
Parentesco
Chave-Estrangeira: Observações
„
„
o valor de uma chave-estrangeira deve
necessariamente aparecer como valor da chaveprimária a que ela se refere.
o conjunto de restrições referenciais de um banco
de dados pode ser representado através de um
diagrama referencial.
SuperMat
Depto
MatrículaEmp
DEPARTAMENTO
EMPREGADO
DEPENDENTE
MatrículaGerente
Depto
MatrículaEmp
PROJETO
PCódigo
DEPTO_LOCAL
TRABALHA_EM
Depto
Restrições Semânticas
„
Especificadas através de regras sobre o
esquema do banco de dados.
EXEMPLOS
z
z
o salário de um empregado tem de ser menor ou
igual ao salário de seu supervisor.
o número de horas semanais que um empregado
pode trabalhar em projetos tem de ser menor ou
igual a 56.
Chave estrangeira:
Notação resumida
Exemplos:
Departamento(deptonome, deptosigla, matriculagerente)
Matriculagerente referencia empregado
Trabalha_em(matriculaemp, pcodigo, horas)
matriculaemp referencia empregado
pcodigo referencia projeto
Download