BD_05_06_T3
-
Upload
jose-kalilodoka-nelito -
Category
Documents
-
view
214 -
download
0
description
Transcript of BD_05_06_T3
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata
Modelos de Dados 1 - Introduo
2 - Modelo Relacional
2.1. Estrutura de Dados Relacional
2.1.1. Modelo Conceptual de Dados
Um modelo conceptual de dados a representao de um conjunto de
objectos e das suas associaes
Como qualquer representao o resultado de um processo de abstraco.
. Durante esse processo de abstraco, objectos relevantes, associaes
entre eles e caractersticas (atributos) de objectos e associaes so
seleccionadas.
. A relevncia de um objecto, de uma associao ou de um atributo
determinada pelos objectivos do modelo.
. Atributos de objectos e correspondentes associaes tm valores
especficos que pertencem a conjuntos denominados domnios.
. Um valor de um dado atributo pode variar ao longo do tempo mas
pertencendo sempre ao domnio desse atributo.
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
40
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata
O modelo relacional baseia-se no pressuposto de que os dados (que
obedecem a certas restries) podem ser tratados da mesma forma que as
relaes matemticas.
2.1.2. Entidades, Atributos e Domnios
Objectos e respectivas associaes so chamados ENTIDADES
Um conjunto E de entidades do mesmo tipo caracterizado por um
conjunto de ATRIBUTOS, A1, A2, ... , An e denotado por
E (A1, A2, ... , An )
onde
Ai : E Di uma funo cujo contradomnio Di denominado DOMNIO do atributo Ai
Dado e em E, Ai (e) em Di denominado o valor do atributo Ai da
entidade e .
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
41
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata 2.1.3. Exemplo de um tipo de entidade
Seja o tipo de entidade Pessoa cujos atributos relevantes so:
Nmero de segurana social Primeiro nome ltimo nome
Idade
Pessoa ( NSS, P_nome, U_nome, Idade)
Onde os domnios dos atributos so:
NSS o conjunto, S, dos nmeros de segurana social
P_nome o conjunto, A, de sequncias finitas de letras
U_nome o conjunto, A, de sequncias finitas de letras
Idade o conjunto, N, dos inteiros positivos
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata
(A1, A2, ... , An ) : E D1 D2 ... Dn (i)
onde D1 D2 ... Dn , denota o produto cartesiano dos conjuntos D1 , D2 , ..., Dn
(isto , o conjunto de todos os n-uplos ( d1, d2, ... dn ) onde di Di para i = 1,2,..n )
A funo (A1, A2, ... , An ) definida como:
(A1, A2, ... , An ) (e) = ( A1(e), A2(e), ... , An(e) ) (ii)
onde para quaisquer duas entidades e1 e e2 do tipo E se verifique que
(A1, A2, ... , An ) (e1) != (A1, A2, ... , An ) (e2) (iii)
A condio (iii) verifica-se se existir um j = 1,2,..n para o qual
Aj (e1) != Aj (e2)
Diferentes entidades so representadas por tuplos diferentes.
Dois tuplos so diferentes se tm valores diferentes em pelo menos um
atributo. _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
43
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata
2.1.5. Exemplo da representao de um tipo de entidade por um conjunto de tuplos
A notao
Pessoa (NSS, P_nome, U_nome, Idade) interpretada como a funo
(NSS, P_nome, U_nome, Idade) : Pessoa S A A N
Esta funo determina para cada pessoa p um 4-uplo (n de segurana
social, primeiro nome, ltimo nome, idade) que representa essa pessoa.
Diferentes pessoas p1 e p2 determinam diferentes tuplos.
Mesmo que tenham os mesmos primeiro e ltimo nomes, o NSS
seguramente diferente.
Entidade Atributos Domnios
Idade U_nome
P_nome
NSS
conjunto dos inteiros no negativos
Conjunto dos nmeros da segurana social
Conjunto da sequncias de letras
Conjunto de pessoas
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
44
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata
Num dado instante, um conjunto de pessoas pode ser representado pela
seguinte tabela:
NSS P_nome U_nome Idade
941 Pedro Silva 31
385 Mrio Sousa 24
102 Joana Ferreira 64
243 Maria Andrade 52
860 Joo Almeida 24
543 Alice Fonseca 45
2.1.6. Relao (ver pgina 31) R uma relao nos conjuntos D1, D2, ...Dn se e s se
R D1 D2 ... Dn A estrutura da relao R descrita pela notao R( A1, A2, ...An) onde
Ai: R Di uma atributo de R e Di o seu domnio para i=1,2,...,n
2.1.7. Base de dados relacional e esquema relacional Uma base de dados relacional uma coleco de relaes cujo contedo varia ao longo do tempo. Um esquema relacional a descrio da estrutura das relaes numa base de dados relacional.
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
45
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata 2.1.8. Exemplo de um esquema relacional
Departamento (Dep, Nome, Local)
Empregado (Emp, Nome, Categoria, Dep)
Projecto (Proj, Designao, Fundos)
Atribuio ( Emp, Proj, Funo)
O esquema descreve 4 tipos de entidades: Departamento, Empregado, Projecto, e Atribuio de empregados a
projectos.
Atributos de entidades do tipo Departamento so:
Dep nmero de departamento Nome nome do departamento Local localizao do departamento
Atributos de entidades do tipo Empregado so:
Emp n de segurana social do empregado Nome nome do empregado Categoria Categoria do empregado Dep nmero do departamento a que pertence o empregado
Atributos de entidades do tipo Projecto so:
Proj Cdigo do projecto Designao designao do projecto Fundos fundos atribudos ao projecto _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
46
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata
Atributos de entidades do tipo Atribuio
Emp nmero de segurana social do empregado Proj cdigo do projecto Funo funo que o empregado desempenha no projecto
So assumidas as seguintes restries
- um empregado pertence a um nico departamento
- um empregado pode ser designado para vrios projectos e um
projecto tem vrios empregados atribudos
Representao do Modelo de dados (a estudar posteriormente):
M
N1
Atribuio
PProjecto
Empregado Departamento
Como obteramos resposta seguinte interrogao:
Quais os nomes dos empregados cuja categoria Programador e que
pertencem a Departamentos localizados em Lisboa ?
(Com o que j sabemos de lgebra relacional)
(E em SQL?) _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
47
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata
2.2. lgebra Relacional Um modelo por si prprio no pode realizar qualquer unidade de trabalho
til. apenas uma representao da realidade.
Para realizar interrogaes acerca das propriedades das entidades
representadas no modelo precisamos de uma linguagem apropriada. Diviso, Unio, Diferena e Produto Cartesiano.
Existem vrias linguagens eficientemente implementadas a amplamente
aceites. Do ponto de vista conceptual todas tiveram origem numa
linguagem formal denominada lgebra Relacional.
Para aprofundar as linguagens base do modelo relacional ver Captulo IV - Relacional lgebra and Relacional Calculus de [Connolly99], [Connolly99] Connolly, Thomas, Carolyn Begg and Anne Strachan, Database Systems, A Pratical Approach to Design, Implementation and Management, Addison-Wesley 2nd Edition, 1999. Biblioteca da UBI: I-6.2-53 A lgebra relacional consiste numa coleco de operadores sobre relaes: Operaes usuais sobre conjuntos:
- Unio - Interseco - Diferena - Produto cartesiano
Outras operaes:
- Projeco - Restrio - Juno - Diviso
1 - Projeco _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
48
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. PrataSeja R(X,Y) com X = A1, A2, ... , Ak
Y = Ak+1, ... , An Projeco de R sobre os atributos X: (R)= { x : existe um y tal que (x,y) R(X,Y) }
Se a relao R representada como uma tabela, a operao de projeco
de R sobre o conjunto de atributos X interpretada como a seleco das
colunas de R que correspondem aos atributos de X e a eliminao das
linhas duplicadas na tabela obtida.
////////////// ////////////// ////////////// //////////////
(R)
X Representao grfica: R Exemplo:
Empregado (Emp#, Nome, Categoria, Dep#)
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
49
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata. Emp# chave da relao empregado
Empregado Emp# Nome Categoria Dep# e1 n1 c1 d1 e2 n2 c2 d2 e3 n3 c3 d1 e4 n4 c1 d2 e5 n5 c2 d3 e6 n6 c2 d3 e7 n7 c1 d1 Projeco da tabela Empregado sobre os atributos Dep# e Categoria,
(Empregado) d origem tabela: Dep# Categoria d1 c1 d1 c3 d2 c1 d2 c2 d3 c2
(Empregado)
Dep#, Categoria Representao grfica:
Empregado 2- Restrio (ou seleco) _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
50
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. PrataSeja a relao R (A1, A2, ... , An ) e p uma expresso lgica definida sobre
D1 D2 , ..., Dn, com Di domnio de Ai
A restrio de R a respeito da condio p, < p > (R) = { z: z tuplo de R e p(z) verdadeiro} Sendo R representada como uma tabela a operao de restrio pode ser
interpretada como a eliminao das linhas da tabela R que no satisfazem a
condio p.
//////////// ////////// /////////// //////////// ////////// ///////////
< p > (R)
Representao grfica: p R Exemplo: Restrio da tabela Empregado tal que Categoria= c2
< Categoria=c2 > (Empregado) _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
51
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata d origem tabela,
Emp# Nome Categoria Dep# e2 n2 c2 d2 e5 n5 c2 d3 e6 n6 c2 d3
< Categoria=c2 > (Empregado)
Representao grfica: Categoria=c2 Empregado 3 Juno (equijuno) Seja A(Z,X) e B(Y,W) Com Z,X,Y,W conjuntos de atributos tais que
- X e Y tm o mesmo nmero de atributos e atributos correspondentes
tm o mesmo domnio
Juno das relaes A e B sobre os atributos X e Y: _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
52
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata A X=Y B = { (z,x,w) : (z,x) A and (y,w) B and x = y }
O resultado uma relao cujo conjunto de atributos a unio dos
conjuntos Z, X (ou Y) e W.
Os tuplos da tabela so obtidos pela concatenao dos tuplos de A com os
tuplos de B sempre que os valores dos atributos de X so iguais aos valores
dos atributos de Y.
Atributos duplicados (X ou Y) so eliminados.
Exemplo:
Empregados (Emp#, Nome, Categoria, Dep#)
Departamento (Dep#, Nome, Local)
A Expresso:
( Empregado Dep# = Dep# Departamento ) denota a composio de duas operaes:
- A juno das relaes Empregado e Departamento sobre os atributos
Dep#
- A projeco do resultado da juno sobre os atributos Nome do
empregado e Local
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
53
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. PrataEmpregado Emp# Nome Categoria Dep# e1 n1 c1 d1 e2 n2 c2 d2 e3 n3 c3 d1 e4 n4 c1 d2 e5 n5 c2 d3 e6 n6 c2 d3 e7 n7 c1 d1 Departamento Dep# Nome Local d1 N1 l1 d2 N2 l1 d3 N3 l2 Representao grfica:
Nome Local n1 l1 n2 l1 n3 l1 n4 l1 n5 l2 n6 l2 n7 l1
Dep# Dep#
E.Nome, D.Local
Empregado E Departamento D - Qual a pergunta a que esta operao responde?
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
544 Diviso
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata Seja as relaes A(X,Y) e B(Z) com X,Y, Z conjuntos de atributos.
Y e Z contm igual nmero de atributos e os domnios correspondentes so
iguais .
A diviso de A por B sobre Y e Z A B = { x : z B, (x,z) A} Valores de x tais que o par (x,z) ocorre em A para todos os valores de z
que ocorrem em B.
Representao grfica:
A B
A B
Exemplo: Atribuio ( (Projecto) ) Denota a diviso da relao Atribuio pela projeco da relao Projecto
sobre o atributo Proj#
Dadas as relaes, _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
55
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata Projecto
Proj# Designao Fundos p1 t1 f1 p2 t2 f2 p3 t3 f3
Atribuio Emp# Proj# Funo e1 p1 r1 e2 p3 r1 e2 p2 r2 e3 p2 r1 e3 p3 r1 e4 p1 r1 e5 p3 r2 e6 p1 r3 e6 p2 r3 e6 p3 r3 e7 p1 r1 O resultado de (Projecto)
Proj# p1 p2 p3
O resultado da diviso :
Emp# Funo e6 r3
- Qual a pergunta a que esta operao responde? Exerccio: dadas as tabelas,
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
56
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. PrataD S P s1 p1 s1 p2 s1 p3 s1 p4 s1 p5 s1 p6 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4 s4 p5 d1 P p1 d2 P p2 p4 d3 P p1 p2 p3 p4 p5 p6 - Calcule 1 - Dd1 , 2 - Dd2, 3 - Dd3 Unio, Interseco e Diferena _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
57
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata Dados R1 e R2 tais que tm igual nmero de atributos e os domnios dos
atributos correspondentes so os mesmos (esquemas relacionais
compatveis)
5 - Unio R1 R2 o conjunto dos tuplos de R1 r R2 R1 R2
R1 R2
6 Interseco R1 R2 o conjunto de tuplos comuns a R1 e R2. R1 R2
R1 R2
7 Diferena _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
58
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. PrataR1 R2 o conjunto de tuplos de R1 que no pertencem a R2 R1 R2
R1 R2
Para 5, 6 e 7 a relao resultado tem os mesmos atributos que o 1 operando 8 Produto Cartesiano Dadas R1 e R2 com qualquer esquema, R1 R2 concatenao dos atributos de R1 e R2.
Cada tuplo de R1 concatenado com cada tuplo de R2.
R1 R2
-
R1 R2
Comparar com a juno ... A representao grfica permite construir uma rvore para exprimir questes Base de Dados. _______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
59
-
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica
Base de Dados I H. Proena, J. Muranho, P. Prata Seja a base de dados exemplo (pgina 32) e as questes I1: Quem forneceu o material M1 para a obra O1?
I2: Que materiais (nomes) forneceu o fornecedor F2 e para que obras
(nomes)?
- Construir a resposta em lgebra relacional. Exerccio: A juno no a uma operao essencial, podendo ser definida em termos
de operaes mais primitiva. O mesmo vlido para a interseco e diviso
(As primitivas da linguagem so: Unio, Diferena, Produto, Seleco e
Projeco)
- Definir juno, interseco e diviso em termos dessas 5 primitivas.
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
Apontamentos de BD I
60