Professional Documents
Culture Documents
Disseny de Bases (Catalán)
Disseny de Bases (Catalán)
de dades
Dolors Costal Costa
P06/M2009/02150
FUOC P06/M2009/02150
ndex
Introducci.................................................................................................
Objectius......................................................................................................
10
11
11
13
16
18
21
23
25
26
26
28
30
34
34
34
35
35
36
37
38
39
39
40
41
42
43
43
45
46
47
FUOC P06/M2009/02150
48
3.11. Exemple: base de dades del personal duna entitat bancria ........
48
Resum...........................................................................................................
50
Exercicis dautoavaluaci.......................................................................
51
Solucionari .................................................................................................
53
Glossari ........................................................................................................
57
Bibliografia ................................................................................................
58
FUOC P06/M2009/02150
Introducci
En altres unitats sestudien les bases de dades relacionals i tamb el
llenguatge relacional, SQL, que ens proporciona mecanismes per a crear,
actualitzar i con- sultar aquestes bases de dades.
Cal complementar aquests coneixements amb un aspecte que s fonamental per
a poder utilitzar adequadament la tecnologia de les bases de dades relacionals: el
disseny. Aquest ser lobjecte destudi daquesta unitat, que tractar del disseny
de bases de dades per al cas especfic del model relacional.
Concretament, en aquesta unitat explicarem en qu consisteix el disseny
duna base de dades, analitzarem les etapes en qu es pot descompondre, i
descriurem amb detall les etapes del disseny conceptual i lgic duna base de
dades relacional.
Objectius
En els materials didctics daquesta unitat trobareu les eines indispensables per a
assolir els objectius segents:
1. Conixer les etapes que integren el procs del disseny duna base de dades.
2. Conixer les estructures del model ER.
3. Saber fer el disseny conceptual de les dades dun sistema dinformaci
mit- janant el model ER.
4. Saber fer el disseny lgic duna base de dades relacional partint dun disseny
conceptual expressat amb el model ER.
FUOC P06/M2009/02150
En altres unitats hem aprs com s una base de dades relacional i hem estudiat
un llenguatge, lSQL, que ens proporciona mecanismes per a crear aquestes bases de dades, per a actualitzar-les i consultar-les.
Encara ens falta, per, resoldre algunes qestions fonamentals per a poder
emprar la tecnologia de les bases de dades relacionals, per exemple: com es pot
decidir quines relacions ha de tenir una base de dades determinada o quins atributs han de tenir les relacions, quines claus primries i quines claus
foranes shan de declarar, etc. La tasca de prendre aquest conjunt de decisions
sanome- na dissenyar la base de dades.
Una base de dades serveix per a emmagatzemar la informaci que sutilitza
en un sistema dinformaci determinat. Les necessitats i els requisits dels
futurs usuaris del sistema dinformaci shan de tenir en compte per a poder
prendre adequadament les decisions anteriors.
En resum, el disseny duna base de dades consisteix a definir lestructura de les dades que ha de tenir la base de dades dun sistema dinformaci
determinat. En el cas relacional, aquesta estructura ser un conjunt desquemes de relaci amb els seus atributs, dominis datributs, claus primries, claus foranes, etc.
FUOC P06/M2009/02150
model relacional.
3) Etapa del disseny fsic: en aquesta etapa es transforma lestructura obtinguda a letapa del disseny lgic amb lobjectiu daconseguir una major eficincia i,
a ms, es completa amb aspectes dimplementaci fsica que dependran de
lSGBD.
Per exemple, si es tracta duna base de dades relacional, la transformaci de lestructura pot consistir en els fets segents: tenir emmagatzemada alguna relaci
que sigui la combinaci de diverses relacions que shan obtingut a letapa del disseny lgic, partir una relaci en diverses relacions, afegir algun atribut calculable
a una relaci, etc. Els aspectes dimplementaci fsica que cal completar consisteixen normalment en lelecci destructures fsiques dimplementaci de les relacions, la selecci de la mida de les memries intermdies (buffers) o de les pgines, etc.
A letapa del disseny fsic amb lobjectiu daconseguir un bon rendiment de la
base de dades, shan de tenir en compte les caracterstiques dels processos que
FUOC P06/M2009/02150
consulten i actualitzen la base de dades com ara els camins daccs que utilitzen
i les freqncies dexecuci. Tamb cal considerar els volums que sespera tenir
de les diferents dades que es volen emmagatzemar.
10
FUOC P06/M2009/02150
perqu
proporciona
una
notaci
diagramtica
molt
fan servir alguna variant del model ER per a fer el disseny de les dades.
El nom complet del model ER s entity-relationship, i prov del fet que els principals elements que inclou sn les entitats i les interrelacions (entities i
El model entitatinterrelaci
Quan es vol fer servir el model ER per a comunicar-se amb lusuari, s recomanable emprar una variant del model que inclogui noms els seus elements ms
simples entitats, atributs i interrelacions i, potser, algunes construccions addicionals, com ara entitats dbils i dependncies dexistncia. Aquests eren els elements inclosos en el model original proposat per Chen. En canvi, per a portar a
terme la tasca de modelitzar prpiament dita, sol ser til fer servir un model ER
ms complet que inclogui construccions ms avanades que estenen el
model original.
Segons la noci de model de dades que hem utilitzat en els altres mduls,
un model de dades t en compte tres aspectes de les dades: lestructura, la
manipu- laci i la integritat. El model ER, per, habitualment es fa servir
per a reflectir aspectes de lestructura de les dades i de la seva integritat,
per no de la seva manipulaci.
11
FUOC P06/M2009/02150
Exemples dentitat
Alguns exemples dentitat sn un empleat, un producte o un despatx. Tamb sn entitats
altres elements del mn real dinters, menys tangibles per igualment distingibles de
la resta dobjectes, com ara una assignatura impartida en una universitat, un prstec
bancari, una comanda dun client, etc.
Exemples datribut
Duna entitat empleat, ens pot interessar, posem per cas, tenir-ne enregistrats el DNI, lNSS,
el nom, el cognom i el sou com a atributs.
El terme entitat es fa servir tant per a anomenar objectes individuals com per
a fer referncia a conjunts dobjectes similars dels quals interessen els mateixos atributs; s a dir, que, per exemple, sutilitza per a designar tant un empleat
concret duna empresa com el conjunt de tots els empleats de lempresa.
Ms
concretament,
el
terme
entitat
es
pot
referir
instncies
dni
nss
nom
cognom
sou
Notaci diagramtica
dentitats i atributs
La figura mostra la notaci
diagramtica per al cas duna
entitat empleat amb els
atributs dni, nss, nom,
cognom i sou.
Cadascun dels atributs duna entitat pren valors dun cert domini o conjunt de
valors. Els valors dels dominis han de ser atmics, s a dir, no han de ser
des- componibles. A ms, tots els atributs han de ser univaluats. Un atribut s
univa- luat si t un sol valor per a cada ocurrncia duna entitat.
FUOC P06/M2009/02150
12
Una determinada entitat pot tenir ms duna clau, s a dir, diverses claus candidates.
El dissenyador escull una clau primria entre totes les claus candidates. En
la notaci diagramtica, la clau primria se subratlla per a distingir-la de la resta
de claus.
Exemple de clau primria
dni
nss
nom
cognom
sou
EMPLEAT
En el cas de lentitat empleat, podem escollir dni com a clau primria. A la figura del marge
veiem que la clau primria se subratlla per a distingir-la de la resta.
El terme interrelaci es pot fer servir tant per a anomenar associacions concretes
o ocurrncies dassociacions com per a designar conjunts o classes dassociacions
similars.
ASSIG NACI
DESPATX
13
FUOC P06/M2009/02150
Exemple
Una interrelaci saplica tant a una associaci concreta entre lempleat de DNI 50.455.234 i
el despatx Diagonal, 20 com a lassociaci genrica entre lentitat empleat i lentitat despatx.
Els atributs de les interrelacions es representen mitjanant el seu nom en minscules unit amb un guionet al rombe de la interrelaci a la qual pertanyen.
Exemple datribut duna interrelaci
Observem lentitat estudiant i lentitat assignatura que es mostren a la figura segent:
Interrelaci avaluaci
a nivell de classe
ESTUDIANT
AVALUACI
nota
ASSIGNATURA
E1
E2
A1
E3
7 8
A2
E4
A3
Entre aquestes dues entitats hi ha la interrelaci avaluaci per a indicar de quines assignatures han estat avaluats els estudiants. Aquesta interrelaci t latribut nota, que serveix per
a especificar quina nota han obtingut els estudiants de les assignatures avaluades.
Conv observar que latribut nota ha de ser forosament un atribut de la interrelaci avaluaci,
i que no seria correcte considerar-lo un atribut de lentitat estudiant o un atribut de lentitat
assignatura. Ho explicarem analitzant les ocurrncies de la interrelaci avaluaci que es mostren
a la figura anterior.
Si nota es considers un atribut destudiant, aleshores per a lestudiant E1 de la figura necessitarem dos valors de latribut, un per a cada assignatura que t lestudiant i, per tant, no
seria univaluat. Similarment, si nota fos atribut dassignatura, tampoc no podria ser univaluat perqu, per exemple, lassignatura A1 requeriria tres valors de nota, una per a
cada estudiant que shi ha matriculat. Podem concloure que latribut nota est lligat alhora a
una assignatura i a un estudiant que la cursa i que, per aix, ha de ser un atribut de la
interrela- ci que associa ambdues entitats.
14
FUOC P06/M2009/02150
Interrelaci avaluaci
a nivell de classe
Interrelaci avaluaci
a nivell docurrncies
ESTUDIANT
AVALUACI
nota
E1
ASSIGNATURA
E2
A1
E3
7 8
A2
E4
A3
una
nica
associaci
entre
unes
entitats
individuals
15
FUOC P06/M2009/02150
Interrelaci avaluaci
a nivell de classe
Interrelaci avaluaci
a nivell docurrncies
ESTUDIANT
AVALUACISEMESTRAL
E1
S1
nota
4
SEMESTRE
ASSIGNATURA
S2
A1
ESTUDIANT
CURSAR
SEMESTRE
ASSIGNATURA
Hem analitzat casos en qu calia usar interrelacions ternries per a poder modelitzar correctament certes situacions del mn real dinters. Cal remarcar
que, similarment, de vegades pot ser necessari utilitzar interrelacions de grau
encara ms gran: quaternries, etc.
16
FUOC P06/M2009/02150
Una interrelaci binria entre dues entitats pot tenir tres tipus de connectivitat:
Connectivitat un a un (1:1). La connectivitat 1:1 es denota posant un 1
a banda i banda de la interrelaci.
Interrelaci situaci
a nivell de classe
DELEGACI
Interrelaci situaci
a nivell docurrncies
D1
D2
D3
C1
C2
C3
1
SITUACI
1
CIUTAT
17
FUOC P06/M2009/02150
b) Connectivitat 1:N
Interrelaci assignaci
a nivell de classe
Interrelaci assignaci
a nivell docurrncies
DESPATX
D1
D2
1
GNACI
ASSI
N
EMPLEAT
E1
E2
E3
E4
E5
Interrelaci avaluaci
a nivell de classe
ESTUDIANT
Interrelaci avaluaci
a nivell docurrncies
E1
E2
E3
E4
M
nota
AVALUACI
7 8
N
ASSIGNATURA
A1
A2
A3
Per a analitzar la connectivitat M:N, considerem la interrelaci avaluaci de la figura anterior. Ens indica que un estudiant pot ser avaluat de diverses assignatures i, alhora, que una
assignatura pot tenir diversos estudiants per avaluar.
s molt habitual que les interrelacions binries M:N i totes les n-ries tinguin atributs. En canvi, les interrelacions binries 1:1 i 1:N no tenen perqu tenir-ne. Sempre es poden assignar aquests atributs a lentitat del costat N, en el cas de les 1:N,
i a qualsevol de les dues entitats interrelacionades en el cas de les 1:1.
Aquest canvi de lloc de latribut es pot fer perqu no origina un atribut multivaluat.
Dependncies dexistncia a les interrelacions binries
18
FUOC P06/M2009/02150
En el model ER, un cercle a la lnia de connexi entre una entitat i una interrelaci indica que lentitat s opcional a la interrelaci. Lobligatorietat
duna entitat a una interrelaci sindica amb una lnia perpendicular. Si no es
consig- na ni un cercle ni una lnia perpendicular, es considera que la
dependncia de- xistncia s desconeguda.
Interrelaci direcci
a nivell de classe
Interrelaci direcci
a nivell docurrncies
D1
DEPARTAMENT
D2
D3
1
DIRECCI
1
EMPLEAT
E1
E2
E3
E4
E5
E6
E7
proporciona. Una casa pot oferir activitats com ara nataci, esqu, rem, pintura,
fotografia, msica, etc.
19
FUOC P06/M2009/02150
b) Cal tenir en compte que en una casa de colnies es poden practicar diverses
activitats (de fet, cada casa nha doferir com a mnim una) i tamb pot passar
que una mateixa activitat es pugui dur a terme a diverses cases. Per tota activitat que senregistri a la base de dades ha de ser oferta com a mnim a una de les
cases.
c) Interessa tenir una avaluaci de les ofertes dactivitats que proporcionen les
cases. Sassigna una qualificaci numrica que indica el nivell de qualitat que t
cadascuna de les activitats ofertes.
d) Les cases de colnies allotgen nens que shi han inscrit per a passar-hi unes
petites vacances. Es vol tenir constncia dels nens que sallotgen a cadascuna de
les cases en el moment actual. Sha de suposar que hi ha cases que estan buides
(no shi allotja cap nen) durant algunes temporades.
e) Dels nens que sallotgen actualment en alguna de les cases interessa saber un
codi que sels assigna per a identificar-los, el nom, el cognom, el telfon dels seus
pares i la seva comarca de residncia.
f) De les comarques on hi ha cases o b on resideixen nens, es vol tenir enregistrats la superfcie i el nombre dhabitants. Sha de considerar que hi pot haver
comarques on no resideix cap dels nens que sallotgen en un moment determinat a les cases de colnies, i comarques que no disposen de cap casa.
La figura segent mostra un diagrama ER que satisf els requisits anteriors.
Els atributs de les entitats no figuren al diagrama i es llisten a part.
COMARCA
1
RESIDNCIA
1
SITUACI
N
N
NEN
CASA-COLNIES
ALLOTJAMENT
nivell
ACTIVITAT
OFERTA
Els atributs de les entitats que figuren al diagrama sn els segents (les claus
primries sn les subratllades):
CASA-COLNIES
nom-casa, capacitat
ACTIVITAT
nom-activitat
s possible,...
... per exemple, que una
activitat com ara lesqu
tingui una qualificaci de 10
a loferta de la casa Grvol
i que la mateixa activitat
tingui una qualificaci de 8
a la casa Esquirol.
20
FUOC P06/M2009/02150
NEN
codi-nen, nom, cognom, telfon
COMARCA
nom-comarca, superfcie, nombre-habitants
CO
OA
OFERTA
CASA-COLNIES
1
ACTIVITAT
N
21
FUOC P06/M2009/02150
OFERTA
nom_casa, nom_activitat, nivell
Cadascuna de les tres entitats associades amb una interrelaci ternria pot
estar connectada amb connectivitat un o b amb connectivitat molts.
Segons aix, les interrelacions ternries poden tenir quatre tipus de connectivitat: M:N:P, M:N:1, N:1:1 i 1:1:1.
Analitzarem com es decideix la connectivitat adequada duna interrelaci ternria mitjanant lexemple segent. Considerem una interrelaci que anomenem
classe i que associa les entitats assignatura, aula i hora-setmanal. Aquesta interrelaci permet enregistrar classes presencials. Una classe correspon a una assignatura determinada, simparteix en una aula determinada i a una hora de la setmana
determinada. Per exemple, podem enregistrar que es fa classe de lassignatura IBD
a laula D222 els dimarts a les 9, tal com es mostra a la figura segent. Latribut
durada ens permet saber quantes hores dura la classe.
22
FUOC P06/M2009/02150
Interrelaci classe
a nivell de classe
Interrelaci classe
a nivell docurrncies
ASSIGNATURA
IBD
dm, 9
CLASSE
HORA-SETMANAL
durada
AULA
D222
D333
ASSIGNATURA
1
CLASSE
HORA-SETMANAL
durada
AULA
Com ens indica aquest exemple, per a decidir com sha de connectar una de les entitats, cal preguntar-se si, fixades ocurrncies concretes de les altres dues, s possible
connectar-hi noms una o b moltes ocurrncies de la primera entitat.
Usarem el mateix procediment per a determinar com es connecten les altres dues
entitats de lexemple. Com que, fixades una assignatura i una aula, s possible
que es faci classe daquella assignatura a aquella aula a diverses hores de la setmana, aleshores hora-setmana es connecta amb molts. Finalment, lentitat aula
es connecta amb un, ats que, fixades una assignatura i hora de la
setmana, noms es pot fer una classe daquella assignatura a aquella hora. La
connectivi- tat resultant, doncs, s N:1:1.
ASSIGNATURA
1
durada
CLASSE
N
1
AULA
HORA-SETMANAL
23
FUOC P06/M2009/02150
Per a decidir si una de les entitats es connecta amb un o amb molts, cal preguntar-se si, fixades ocurrncies concretes de les altres n 2 1 entitats, s possible
connectar-hi noms una o b moltes ocurrncies de la primera entitat:
Si la resposta s que noms una, lentitat es connecta amb un.
Si la resposta s que moltes, lentitat es connecta amb molts.
1
PERSONA
CASAMENT
1
24
FUOC P06/M2009/02150
En una interrelaci recursiva, pot interessar distingir els diferents papers que una
mateixa entitat t a la interrelaci. Amb aquest objectiu, es pot etiquetar
cada lnia de la interrelaci amb un rol. A les interrelacions no recursives
normalment no sespecifica el rol perqu, com que totes les entitats
interrelacionades sn de classes diferents, les seves diferncies de rol se
sobreentenen.
Rols diferents
Una ocurrncia de la interrelaci casament associa dues persones concretes. Per a reflectir el
paper diferent que t cadascuna delles a la interrelaci, una de les persones tindr el rol de
marit i laltra tindr el rol de muller.
marit
1
PERSONA
CASAMENT
1
muller
N
PERSONA
AMISTAT
M
2) Interrelaci recursiva n-ria: interrelaci recursiva on les ocurrncies associen ms de dues instncies.
Exemple dinterrelaci recursiva ternria
Considerem una interrelaci que enregistra tots els casaments que shan produt en un conjunt de persones determinat al llarg del temps. Aquesta interrelaci permet tenir constncia
no tan sols dels casaments vigents, sin de tots els casaments que shan produt en un cert
perode de temps.
marit
1
PERSONA
1
muller
N
CASAMENT
DATA
25
FUOC P06/M2009/02150
Aquesta interrelaci s recursiva i ternria. Una ocurrncia de la interrelaci associa una persona que s el marit, una altra persona que s la muller i la data del seu casament. La connectivitat s N:1:1. A les bandes del marit i de la muller els correspon un 1 perqu un marit
o una muller, en una data determinada, es casa amb una sola persona. A la banda de lentitat data, li correspon una N perqu es podria donar el cas que hi hagus ms dun casament,
en dates diferents, entre les mateixes persones.
les
seves
claus
primries
que
permeten
identificar-les
Una entitat dbil es representa amb un rectangle doble i la interrelaci que ajuda
a identificar-la es representa amb una doble ratlla.
Exemple dentitat dbil
Considerem les entitats edifici i despatx de la figura segent. Suposem que hi pot haver despatxos amb el mateix nmero a edificis diferents. Aleshores, el seu nmero no
identifica completament un despatx. Per a identificar completament un despatx, cal tenir
en compte en quin edifici est situat. De fet, podem identificar un despatx mitjanant la
interrelaci situaci, que lassocia a un nic edifici. El nom de ledifici on est situat
juntament amb el nmero de despatx lidentifiquen completament.
Interrelaci situaci
a nivell de classe
EDIFICI
Interrelaci situaci
a nivell docurrncies
nom
adrea
Sants
Sarri
1
SITUACI
N
DESPATX
nmero
superfcie
101
102
105
102
202
A lexemple anterior, la interrelaci situaci ens ha perms completar la identificaci dels despatxos. Per a tota entitat dbil, sempre hi ha dhaver una
nica interrelaci que en permeti completar la identificaci. Aquesta interrelaci
ha de ser binria amb connectivitat 1:N i lentitat dbil ha de ser al costat N.
Aix, una
FUOC P06/M2009/02150
26
ocurrncia de lentitat dbil est associada amb una nica ocurrncia de lentitat
del costat 1 i ser possible completar-ne la identificaci de manera nica. A ms,
lentitat del costat 1 ha de ser obligatria a la interrelaci perqu, si no fos aix,
alguna ocurrncia de lentitat dbil podria no estar interrelacionada amb cap de
les seves ocurrncies i no es podria identificar completament.
2.2.1. Generalitzaci/especialitzaci
En alguns casos, hi ha ocurrncies duna entitat que tenen caracterstiques prpies especfiques que ens interessa modelitzar. Per exemple, pot passar que dels
empleats duna empresa que sn directius es vulgui tenir constncia de
quin cotxe de lempresa tenen assignat; que dels empleats tcnics interessi
tenir una interrelaci amb una entitat projecte que indiqui en quins projectes
treballen i es vulgui conixer la seva titulaci, i, finalment, que dels empleats
administratius convingui enregistrar lantiguitat. Hi haur, per, algunes
caracterstiques comu- nes a tots els empleats: tots sidentifiquen per un DNI,
tenen un nom, un cog- nom, una adrea i un telfon.
27
FUOC P06/M2009/02150
EMPLEAT
DIRECTIU
cotxe
TCNIC
dni
nom
cognom
adrea
telfon
ttol
ADMINISTRATIU
antiguitat
M
TREBALLA
N
PROJECTE
El nostre exemple
dels empleats...
... correspon a una
generalitzaci/especialitzaci
disjunta perqu cap empleat
no pot ser de ms dun tipus.
Es denota amb letiqueta D.
28
FUOC P06/M2009/02150
EMPLEAT
D, T
DIRECTIU
TCNIC
ADMINISTRATIU
La utilitat duna entitat associativa s que es pot interrelacionar amb altres entitats
CIUTAT
M
REPARTIMENT
M
RECORREGUT
N
paq-car
CLIENT
paq-desc
VIATGE
Recorregut s una interrelaci de connectivitat M:N que enregistra les ciutats per on han passat els diferents viatges organitzats per una empresa de repartiment de paquets. Considerem
recorregut una entitat associativa per tal de poder-la interrelacionar amb lentitat client i
reflectir per ordre de quins clients shan fet repartiments en una ciutat del recorregut dun
viatge, i el nombre de paquets carregats i descarregats per indicaci daquell client.
29
FUOC P06/M2009/02150
A nivell de classe
EDIFICI
EMPLEAT
1
SITUACI
ASSIGNACI
DESPATX
A nivell docurrncies
Sants
Sarri
E1
101
102
102
E2
E3
E4
202
Podrem modelitzar aquest cas fent que despatx fos una entitat associativa si considerem una
nova entitat nmero-despatx que cont simplement nmeros de despatxos. Aleshores lentitat associativa despatx sobt de la interrelaci entre edifici i nmero-despatx.
A nivell de classe
EDIFICI
M
1
DESPATX
EMPLEAT
ASSIGNACI
N
NMERO-DESPATX
A nivell docurrncies
Sants
101
Sarri
102
202
E1
E2
E3
E4
FUOC P06/M2009/02150
30
Encara que les entitats dbils es puguin substituir pel mecanisme de les entitats
associatives, s adequat mantenir-les al model ER perqu resulten menys
com- plexes i sn suficients per a modelitzar moltes de les situacions que es
produei- xen al mn real.
31
FUOC P06/M2009/02150
ara
(trasllats,
titulacions,
categories,
afiliaci
sindical...)
DATA
PETICI
concedit/no
TEMPORAL
TRASLLAT
FIX
data-fi
D,T
AGNCIA
AFILIACI
1
N
SITUACI
EMPLEAT
N
N
1
TITULACI
CAT-EMP
CIUTAT
CENTRAL-SINDICAL
1
TTOL
CATEGORIA
RESIDNCIA
FUOC P06/M2009/02150
32
Els atributs de les entitats que figuren al diagrama sn els segents (les claus
primries shan subratllat):
EMPLEAT
codi-empleat, dni, nss, nom, cognom
FIX (entitat subclasse dempleat)
codi-empleat, antiguitat
TEMPORAL (entitat subclasse dempleat)
codi-empleat, data-inici-cont, data-final-cont
CIUTAT
nom-ciutat, nombre-hab
AGNCIA (entitat dbil: nom-agncia la identifica parcialment,
sidentifica completament amb la ciutat de situaci)
nom-agncia, adrea, telfon
TTOL
nom-ttol
CATEGORIA
nom-categ, sou-base, hora-extra
CENTRAL-SINDICAL
central, quota
TIPUS-PRSTEC
codi-prstec, tipus-inters, perode-vigncia
DATA
data
A continuaci, comentarem els aspectes que poden resultar ms complexos daquest model ER:
1) Lentitat agncia sha considerat una entitat dbil perqu el seu atribut nomagncia noms permet distingir les agncies situades en una mateixa ciutat, per
per a identificar de manera total una agncia, cal saber a quina ciutat est situada. Aix, la interrelaci situaci s la que ens permet completar la identificaci de
lentitat agncia.
2) La interrelaci petici s ternria i associa empleats fixos que fan peticions de
prstecs, tipus de prstec demanats pels empleats i dates en qu es fan aquestes
peticions.
3) El costat de lentitat data es connecta amb molts perqu un mateix empleat pot demanar un mateix tipus de prstec diverses vegades en dates diferents.
Lentitat fix es connecta amb molts perqu un tipus de prstec determinat pot
ser demanat en una mateixa data per diversos empleats. Tamb lentitat
tipus- prstec es connecta amb molts perqu s possible que un empleat en
una data determinada demani ms dun prstec de tipus diferent.
FUOC P06/M2009/02150
33
FUOC P06/M2009/02150
34
En aquest apartat tractarem del disseny lgic duna base de dades relacional. Partirem del resultat de letapa del disseny conceptual expressat mitjanant el
model ER i veurem com es pot transformar en una estructura de dades del model
relacional.
En el cas de les interrelacions, cal tenir en compte el seu grau i la seva connectivitat per a poder decidir quina s la transformaci adequada:
1) Les interrelacions binries 1:1 i 1:N donen lloc a claus foranes.
2) Les interrelacions binries M:N i totes les n-ries es tradueixen en noves relacions.
Als subapartats segents explicarem de manera ms concreta les transformacions
necessries per a obtenir un esquema relacional a partir dun model ER.
Ms endavant proporcionem una taula que resumeix els aspectes ms
importants de cadascuna de les transformacions per tal de donar-ne una
visi global. Final- ment, descrivim la seva aplicaci en un exemple.
35
FUOC P06/M2009/02150
dni
nss
nom
cognom
sou
Si una entitat interv en alguna interrelaci binria 1:1 o 1:N, pot ser necessari
afegir nous atributs a la relaci obtinguda a partir de lentitat. Aquests atributs
formaran claus foranes de la relaci.
Interrelaci situaci
a nivell de classe
DELEGACI
Interrelaci situaci
a nivell docurrncies
D1
D2
D3
C1
C2
C3
1
SITUACI
1
CIUTAT
36
FUOC P06/M2009/02150
Segona opci:
DELEGACI(nom-del, ...)
CIUTAT(nom-ciutat, ..., nom-del)
on {nom-del} referencia DELEGACI
Totes dues transformacions ens permeten saber a quina ciutat hi ha una delegaci i quina
delegaci t una ciutat. Aix, doncs, reflecteixen correctament el significat de la interrelaci
situaci del model ER.
A la primera transformaci, com que una delegaci est situada en una nica ciutat, latribut nom-ciutat t un nic valor per a cada valor de la clau primria {nom-del}. Observeu que,
si pogus tenir diversos valors, la soluci no seria correcta segons la teoria relacional.
A la segona transformaci, ats que una ciutat t una sola delegaci, latribut nom-del tamb
pren un sol valor per a cada valor de la clau primria {nom-ciutat}.
Tamb cal tenir en compte que, en totes dues transformacions, la clau forana que shi afegeix es converteix en una clau alternativa de la relaci perqu no admet valors repetits. Per
exemple, a la segona transformaci, no hi pot haver ms duna ciutat amb la mateixa delegaci i, aix, nom-del ha de ser diferent per a totes les tuples de CIUTAT.
Partim del fet que les entitats que intervenen en la interrelaci 1:N
ja shan transformat en relacions amb els seus corresponents atributs.
En aquest cas noms cal afegir a la relaci corresponent a lentitat del
costat
N una clau forana que referenci laltra relaci.
Interrelaci assignaci
a nivell de classe
Interrelaci assignaci
a nivell docurrncies
DESPATX
D1
D2
1
GNACI
ASSI
N
EMPLEAT
E1
E2
E3
E4
E5
37
FUOC P06/M2009/02150
DESPATX(desp, ...)
EMPLEAT(emp, ..., desp)
on {desp} referencia DESPATX
Aquesta soluci ens permet saber a quin despatx est assignat cada empleat i tamb ens permet consultar, per a cada despatx, quins empleats hi ha. s a dir, que reflecteix correctament
el significat de la interrelaci assignaci.
Ats que un empleat est assignat a un nic despatx, latribut desp t un valor nic per a cada
valor de la clau primria {emp}. Si hagussim posat la clau forana {emp} a la relaci DESPATX,
la soluci hauria estat incorrecta, perqu emp hauria pres diversos valors, un per a cadascun
dels diversos empleats que poden estar assignats a un despatx.
Una interrelaci M:N es transforma en una relaci. La seva clau primria estar formada pels atributs de la clau primria de les dues
entitats interrelacionades. Els atributs de la interrelaci seran atributs de
la nova relaci.
Interrelaci avaluaci
a nivell de classe
ESTUDIANT
Interrelaci avaluaci
a nivell docurrncies
E1
E2
E3
E4
M
nota
AVALUACI
7 8
N
ASSIGNATURA
A1
A2
A3
ESTUDIANT(est, ...)
ASSIGNATURA(assig, ...)
AVALUACI(est, assig , nota)
on {est} referencia ESTUDIANT
i {assig} referencia ASSIGNATURA
Observeu que la clau davaluaci ha de constar tant de la clau destudiant com de la clau dassignatura per a identificar completament la relaci.
La soluci que hem presentat reflecteix correctament la interrelaci avaluaci i el seu atribut
nota. Permet saber, per a cada estudiant, quines notes t de les diverses assignatures i, per a
cada assignatura, quines notes tenen els diferents estudiants daquella assignatura.
38
FUOC P06/M2009/02150
En el cas M:N no es poden utilitzar claus foranes per a transformar la interrelaci perqu obtindrem atributs que poden prendre diversos valors, i aix no es
permet al model relacional.
Interrelaci direcci
a nivell de classe
D1
DEPARTAMENT
D2
D3
1
DIRECCI
1
EMPLEAT
E1
E2
E3
E4
E5
E6
E7
Segona opci:
DEPARTAMENT(dept, ...)
EMPLEAT(emp, ..., dept)
on {dept} referencia DEPARTAMENT
i dept pot prendre valors nuls
La segona transformaci dna lloc a una clau forana que pot prendre valors nuls (perqu hi
pot haver empleats que no sn directors de cap departament). Aleshores ser preferible la
primera transformaci perqu no provoca laparici de valors nuls a la clau forana i, aix,
ens estalvia espai demmagatzematge.
39
FUOC P06/M2009/02150
A les interrelacions 1:N, el fet que lentitat del costat 1 sigui opcional tamb provoca que la clau forana de la transformaci tingui valors nuls. En aquest
cas, per, no es poden evitar aquests valors nuls perqu hi ha una nica
transforma- ci possible.
transformaci
de
les
interrelacions
ternries
presenta
similituds
ESTUDIANT
M
AVALUACISEMESTRAL
nota
P
ASSIGNATURA
SEMESTRE
40
FUOC P06/M2009/02150
ESTUDIANT(est, ...)
ASSIGNATURA(assig, ...)
SEMESTRE(sem, ...)
AVALUACI-SEMESTRAL(est, assig, sem, nota)
on {est} referencia ESTUDIANT,
{assig} referencia ASSIGNATURA
i {sem} referencia SEMESTRE
MESTRE
M
N
DESTINACI
CURS
ESCOLA
Aquesta interrelaci reflecteix les destinacions que es donen als mestres descola en els diferents cursos. L1 que figura a la banda descola significa que un mestre no pot ser destinat a
ms duna escola en un mateix curs.
Lexemple de la figura es transforma en:
MESTRE(codi-mestre, ...)
CURS(codi-curs, ...)
ESCOLA(codi-esc, ...)
41
FUOC P06/M2009/02150
No cal que la clau inclogui codi-esc per a identificar completament la relaci. Si es fixen un
mestre i un curs, no hi pot haver ms duna escola de destinaci i, per tant, no hi haur claus
repetides.
Aix, doncs, hi ha dues possibles claus per a la relaci que sobt. Sn dues claus
candidates entre les quals el dissenyador haur descollir la clau primria.
Exemple de transformaci duna interrelaci ternria N:1:1
Vegem-ne un exemple:
ASSIGNATURA
1
CLASSE
durada
HORA-SETMANAL
AULA
HORA-SETMANAL(codi-hora, ...)
AULA(codi-aula, ...)
ASSIGNATURA(assig, ...)
CLASSE (codi-hora, codi-aula , assig, durada)
on {codi-hora} referencia HORA-SETMANAL,
{codi-aula} referencia AULA
i {assig} referencia ASSIGNATURA
En aquest cas, tot i que la clau no inclou latribut assig, identifica completament la relaci
perqu per a una hora-setmanal i aula determinades hi ha una nica assignatura de la qual
es fa classe a aquella hora i aula.
42
FUOC P06/M2009/02150
HORA-SETMANAL(codi-hora, ...)
AULA(codi-aula, ...)
ASSIGNATURA(assig, ...)
CLASSE (codi-hora, assig, codi-aula, durada)
on {codi-hora} referencia HORA-SETMANAL,
{codi-aula} referencia AULA
i {assig} referencia ASSIGNATURA
Ara la clau inclou latribut assig i, en canvi, no inclou latribut codi-aula. La relaci queda
tamb completament identificada perqu, per a una assignatura i hora-setmanal
determi- nades, es fa classe a una nica aula daquella assignatura a aquella hora.
TRIBUNAL
1
1
DEFENSA
data-defensa
PROJECTE FI
DE CARRERA
ESTUDIANT
43
FUOC P06/M2009/02150
Segona opci:
Tercera opci:
En tots tres casos, s possible comprovar que la clau identifica completament la relaci si es t
en compte la connectivitat de la interrelaci defensa.
44
FUOC P06/M2009/02150
Mostrarem la transformaci dalguns exemples concrets dinterrelacions recursives per a illustrar els detalls de lafirmaci anterior.
Exemple de transformaci duna interrelaci recursiva binria 1:1
marit
1
PERSONA
CASAMENT
1
muller
La interrelaci de la figura anterior s recursiva, binria i t connectivitat 1:1. Les interrelacions 1:1 originen una clau forana que es posa a la relaci corresponent a una de les entitats interrelacionades. Al nostre exemple, noms hi ha una entitat interrelacionada, lentitat
persona. Aleshores, la clau forana haur destar a la relaci PERSONA. Aquesta clau
forana haur de referenciar la mateixa relaci perqu reflecteix una interrelaci entre una
ocurrn- cia de persona i una altra ocurrncia de persona. Aix, obtindrem:
N
PERSONA
AMISTAT
M
Les interrelacions M:N es tradueixen en noves relacions que tenen com a clau primria les
claus de les entitats interrelacionades.
Al nostre exemple, la interrelaci lliga ocurrncies de persona amb altres ocurrncies de persona.
En aquest cas, la clau primria de la nova relaci estar formada per la clau de
lentitat persona dues vegades. Convindr donar noms diferents a tots els atributs de la
nova rela- ci. Aix, la traducci de lexemple anterior ser:
45
FUOC P06/M2009/02150
PERSONA(codi-per, ...)
AMISTAT (codi-per, codi-per-amiga)
on {codi-per} referencia PERSONA
i {codi-per-amiga} referencia PERSONA
marit
1
N
PERSONA
DATA
CASAMENT
1
muller
La interrelaci casament anterior s recursiva, ternria i t connectivitat N:1:1. Les interrelacions N:1:1 originen sempre una nova relaci que cont, a ms dels atributs de
la interrelaci, tots els atributs que formen la clau primria de les tres entitats
interrelacio- nades.
Al nostre exemple, la interrelaci associa ocurrncies de persona amb altres ocurrncies de
persona i amb ocurrncies de data. Aleshores, la clau de persona haur de figurar dues vegades a la nova relaci, i la clau de data, noms una.
La clau primria de la relaci que sobt per a interrelacions N:1:1 est formada per la clau
de lentitat del costat N i per la clau duna de les entitats dels costats 1.
Al nostre exemple, a tots dos costats 1 de la interrelaci tenim la mateixa entitat: persona. La
clau primria estar formada per la clau de lentitat data i per la clau de lentitat persona.
Segons tot aix, la transformaci ser la segent:
PERSONA(codi-per, ...)
DATA(data-cas, ...)
CASAMENT(data-cas, codi-per, codi-conjuge)
on {data-cas} referencia DATA,
{codi-per} referencia PERSONA
i {codi-conjuge} referencia PERSONA
Les entitats dbils es tradueixen al model relacional igual que la resta dentitats, amb una petita diferncia. Aquestes entitats sempre estan al costat
N duna interrelaci 1:N que completa la seva identificaci.
Aix, doncs, la clau forana originada per aquesta interrelaci 1:N ha
de formar part de la clau primria de la relaci corresponent a
lentitat dbil.
46
FUOC P06/M2009/02150
EDIFICI
nom
adrea
1
SITUACI
N
DESPATX
numero
superficie
EDIFICI(nom, adrea)
DESPATX(nom, numero , superficie)
on {nom} referencia EDIFICI
Observeu que la clau forana {nom} forma part tamb de la clau primria de DESPATX. Si no
fos aix, i la clau primria contingus noms latribut nmero, els despatxos no
quedarien totalment identificats, ats que hi pot haver despatxos situats en edificis
diferents que tin- guin el mateix nmero.
47
FUOC P06/M2009/02150
EMPLEAT
DIRECTIU
cotxe
TCNIC
dni
nom
cognom
adrea
telefon
titol
ADMINISTRATIU
antiguitat
M
TREBALLA
N
PROJECTE
Conv observar que els atributs comuns shan situat a la relaci EMPLEAT i que els atributs
especfics shan situat a la relaci de la seva entitat subclasse. Aix, cotxe s a DIRECTIU, ttol
a TCNIC i antiguitat a ADMINISTRATIU.
Daltra banda, la interrelaci especfica per als empleats tcnics anomenada treballa es transforma en la relaci TREBALLA. Observeu que aquesta relaci t una clau forana que
refe- rencia noms els empleats tcnics, i no els empleats directius o administratius.
CIUTAT
M
REPARTIMENT
M
RECORREGUT
N
paq-car
VIATGE
CIUTAT(nom-ciutat, ...)
VIATGE(id-viatge, ...)
N
paq-desc
CLIENT
48
FUOC P06/M2009/02150
RECORREGUT(nom-ciutat, id-viatge )
on {nom-ciutat} referencia CIUTAT
i {id-viatge} referencia VIATGE
CLIENT (codi-client, ...)
REPARTIMENT(nom-ciutat, id-viatge, codi-client , paq-car, paq-desc)
on {nom-ciutat, id-viatge} referencia RECORREGUT
i {codi-client} referencia CLIENT
Entitat
Relaci
Interrelaci 1:1
Clau forana
Interrelaci 1:N
Clau forana
Interrelaci M:N
Relaci
Interrelaci n-ria
Relaci
Interrelaci recursiva
Entitat dbil
Generalitzaci/especialitzaci
Entitat associativa
FUOC P06/M2009/02150
49
Observeu que, a la transformaci de la generalitzaci/especialitzaci corresponent a lentitat empleat, hem situat els atributs comuns a la relaci EMPLEAT i els
atributs especfics a les relacions FIX i TEMPORAL.
A la relaci AGNCIA, latribut nom-ciutat s una clau forana i alhora forma part
de la clau primria perqu agncia s una entitat dbil que requereix la interrelaci situaci per a ser identificada.
Vegem ara les relacions que sobtenen a partir de la transformaci de les interrelacions binries i n-ries:
TITULACI(codi-empleat, nom-titol )
on {codi-empleat} referencia EMPLEAT
i {nom-ttol} referencia TTOL
TRASLLAT(codi-empleat, data , nom-ciutat, nom-agencia, data-fi)
on {codi-empleat} referencia EMPLEAT,
{nom-ciutat, nom-agncia} referencia AGNCIA
i {data} referencia DATA
PETICI(codi-empleat, codi-prestec, data , concedit/no)
on {codi-empleat} referencia FIX,
{codi-prstec} referencia TIPUS-PRSTEC
i {data} referencia DATA
Per a escollir les claus primries adequades per a aquestes relacions sha hagut de
tenir en compte la seva connectivitat.
FUOC P06/M2009/02150
50
Resum
A la resta de la unitat hem tractat del disseny conceptual i del disseny lgic de
bases de dades. No hem estudiat el disseny fsic perqu requereix uns coneixements previs destructures dimplementaci fsica que fan inadequat explicar-lo
en aquest curs.
Per al disseny conceptual hem adoptat lenfocament del model ER, un model de
dades molt utilitzat i entenedor. Hem descrit les diverses construccions que proporciona i hem donat exemples daplicaci a casos prctics.
Pel que fa al disseny lgic, lhem centrat en el cas dutilitzaci de la tecnologia relacional. Aix, hem explicat com es pot transformar un model
concep- tual expressat mitjanant el model ER en una estructura de dades
del model relacional.
FUOC P06/M2009/02150
51
Exercicis dautoavaluaci
1. Feu un disseny conceptual duna base de dades mitjanant el model ER que satisfaci els requisits que es resumeixen a continuaci:
a) Un directiu dun club de futbol vol disposar duna base de dades que li permeti
controlar dades que li interessen sobre competicions, clubs, jugadors, entrenadors... dmbit
estatal.
b) Els clubs cada temporada disputen diverses competicions (lliga, copa...) entre si. El nostre
direc- tiu desitja informaci histrica de les classificacions obtingudes pels clubs en les
diferents com- peticions al llarg de totes les temporades. La classificaci sespecificar
mitjanant un nmero de posici: 1 significa campi, 2 significa subcampi, etc.
c) Els diversos clubs estan agrupats en les federacions regionals corresponents. Tota federaci t
com a mnim un club. De les federacions vol conixer el nom i la data de creaci, i dels clubs,
el nom i el nombre de socis.
d) s molt important la informaci sobre jugadors i entrenadors. Sidentificaran per un codi, i
vol saber el nom, ladrea, el telfon i la data de naixement de tots. Cal esmentar que alguns
entrenadors poden haver estat jugadors en la seva joventut. Dels jugadors, a ms, en vol saber
el pes, lalada, lespecialitat o les especialitats i quin domini en tenen (grau despecialitat). Tot
jugador ha de tenir com a mnim una especialitat, per hi pot haver especialitats en les quals
no hi hagi cap jugador. Dels entrenadors li interessa la data en qu van iniciar la seva carrera
com a entrenadors de futbol.
e) De totes les persones que figuren a la base de dades (jugadors i entrenadors), en vol conixer
lhistorial de contractacions per part dels diversos clubs, incloent-hi limport i la data de baixa
de cada contractaci. En un moment determinat, una persona pot estar contractada per un nic
club, per pot canviar de club posteriorment i, fins i tot, pot tornar a un club en el qual ja havia
treballat.
f) Tamb vol enregistrar les ofertes que les persones que figuren a la base de dades han rebut dels
clubs durant la seva vida esportiva (i de les quals sha pogut assabentar). Considera important
tenir constncia de limport de les ofertes. Sha de tenir en compte que en un moment determinat una persona pot rebre moltes ofertes sempre que vinguin de clubs diferents.
2. Feu un disseny conceptual duna base de dades mitjanant el model ER que satisfaci els requisits que es resumeixen a continuaci:
a) Es vol dissenyar una base de dades per a facilitar la gesti duna empresa dedicada al transport internacional de mercaderies que opera a tot lmbit europeu.
b) Lempresa disposa de diverses delegacions repartides per tota la geografia europea. Les delegacions sidentifiquen per un nom, i es vol enregistrar tamb el seu telfon. En una determinada ciutat no hi ha mai ms duna delegaci. Es desitja conixer la ciutat on est
situada cada delegaci. Sha de suposar que no hi ha ciutats amb el nom repetit (almenys en
lmbit daquesta base de dades).
c) El personal de lempresa es pot separar en dos grans grups:
Administratius, dels quals interessa saber quin nivell destudis tenen.
Conductors, dels quals interessa saber lany que van obtenir el carnet de conduir i el tipus de
carnet que tenen.
De tot el personal de lempresa es vol conixer el codi dempleat (que lidentifica), el nom, el
telfon i lany de naixement. Tots els empleats estan assignats a una delegaci determinada. Es
vol tenir constncia histrica daquest fet tenint en compte que poden anar canviant de delegaci (fins i tot poden tornar a una delegaci on ja havien estat anteriorment).
d) Lactivitat de lempresa consisteix a efectuar els viatges pertinents per tal de transportar les
mercaderies segons les peticions dels seus clients. Tots els clients sidentifiquen per un codi de
client. Sen vol conixer, a ms, el nom i el telfon de contacte.
e) Lempresa, per a dur a terme la seva activitat, disposa de molts camions identificats per un
codi de cami. Es vol tenir constncia de la matrcula, la marca i la tara dels camions.
f) Els viatges els organitza sempre una delegaci i sidentifiquen per un codi de viatge, que s
intern de cada delegaci (i que es pot repetir en delegacions diferents). Per a cadascun
dels viatges que shan fet, cal saber:
Quin cami sha utilitzat (ja que cada viatge es fa amb un nic cami).
FUOC P06/M2009/02150
52
Quin (o quins) conductors hi han anat (considerant que en viatges llargs hi poden anar diversos conductors). Es vol saber tamb limport de les dietes pagades a cada conductor (ats que
les dietes poden ser diferents per als diferents conductors dun mateix viatge).
El recorregut del viatge, s a dir, la data i lhora en qu el cami arriba a cadascuna de les ciutats on haur de carregar o descarregar. Suposarem que un viatge no passa mai dues vegades
per una mateixa ciutat.
El nombre de paquets carregats i paquets descarregats en cada ciutat, i per a cadascun
dels clients. En un mateix viatge es poden deixar i/o recollir paquets a diferents ciutats per
enc- rrec dun mateix client. Tamb, en un mateix viatge, es poden deixar i/o recollir
paquets en una mateixa ciutat per encrrec de diferents clients.
3. Feu un disseny conceptual duna base de dades mitjanant el model ER que satisfaci els requisits que es resumeixen a continuaci:
a) Cal dissenyar una base de dades per a una empresa immobiliria amb lobjectiu de gestionar la
informaci relativa a la seva cartera de pisos en venda.
b) Cadascun dels pisos que tenen pendents de vendre t assignat un codi de pis que lidentifica. A ms daquest codi, es vol conixer ladrea del pis, la superfcie, el nombre dhabitacions i
el preu. Tenen aquests pisos classificats per zones (perqu als seus clients de vegades noms els
interessen els pisos duna zona determinada) i es vol saber a quina zona est situat cada pis. Les
zones tenen un nom de zona que s diferent per a cada zona duna mateixa poblaci, per que
pot coincidir en zones de poblacions diferents. De vegades es dna el cas que en alguna de les
zones no hi tenen cap pis pendent de vendre.
c) De les poblacions es vol tenir el nombre dhabitants. De les zones es vol saber quines
sn limtrofes (perqu, en cas de no disposar de pisos en una zona que desitja un client, se li
puguin oferir els que es tinguin en altres zones limtrofes amb la primera). Cal considerar
que hi pot haver zones sense cap altra zona limtrofa en algunes poblacions petites que
consten duna sola zona.
d) Dels pisos tenen codificades diverses caracterstiques, com ara tenir ascensor, ser
exterior, tenir terrassa, etc. Cada caracterstica sidentifica per un codi i t una descripci.
Per a cada caracterstica i pis es vol saber si el pis satisf aquella caracterstica o no. A
ms, volen tenir constncia del propietari o propietaris de cada pis.
e) Tamb necessiten disposar dinformaci relativa als seus clients actuals que busquen pis (si
dues o ms persones busquen pis conjuntament noms es guarda informaci duna delles com
a client de lempresa). En particular, interessa saber les zones on busca pis cada client (noms
en cas que tingui alguna zona de preferncia).
f) A cadascun daquests clients li assignen un venedor de lempresa perqu socupi datendrel.
De vegades, aquestes assignacions varien amb el temps i es canvia el venedor assignat a
un determinat client. Tamb s possible que a un client se li torni a assignar un venedor
que ja havia tingut anteriorment. Es vol tenir constncia de les assignacions dels clients
actuals de lempresa.
g) Els venedors, clients i propietaris sidentifiquen per un codi de persona. De tots ells es
vol enregistrar el nom, ladrea i el telfon. A ms, dels venedors es vol tenir el nmero de
Segure- tat Social i el sou, i dels propietaris, el NIF. Hi pot haver persones que siguin alhora
clients i pro- pietaris, o b venedors i propietaris, etc.
h) Finalment, per a ajudar a programar i consultar les visites que els clients fan als pisos
en venda, es vol guardar informaci de totes les visites corresponents als clients i als pisos
actuals de lempresa. De cada visita cal saber el client que la fa, el pis que es va a veure i lhora
concreta en qu sinicia la visita. Entenem que lhora de la visita s formada per la data, lhora del dia
i el minut del dia (per exemple, 25-FEB-98, 18:30). Cal considerar que un mateix client pot visitar un mateix pis diverses vegades per a assegurar-se de si li agrada o no, i tamb que, per tal devitar conflictes, no es programen mai visites de clients diferents a un mateix pis i a la mateixa
hora.
4. Transformeu a relacional el disseny conceptual que heu obtingut a lexercici 1.
5. Transformeu a relacional el disseny conceptual que heu obtingut a lexercici 2.
6. Transformeu a relacional el disseny conceptual que heu obtingut a lexercici 3.
53
FUOC P06/M2009/02150
Solucionari
Exercicis dautoavaluaci
1. La figura segent mostra un diagrama ER que satisf els requisits que shan descrit:
COMPETICI
M
num-posicio
FEDERACI
CLASSIFICACI
TEMPORADA
PERTINENA
CLUB
1
import-cont
data-baixa
DATA
OFERTA
CONTRACTE
import-oferta
N
PERSONA
S,T
JUGADOR
ENTRENADOR
M
grau
HABILITAT
ESPECIALITAT
Els atributs de les entitats que figuren al diagrama sn els segents (les claus primries shan
subratllat):
COMPETICI
nom-comp
TEMPORADA
codi-temp
FEDERACI
nom-fed, data-creacio
CLUB
nom-club, nombre-socis
PERSONA
codi-persona, nom, adrea, telefon, data-naixement
JUGADOR (entitat subclasse de persona)
codi-persona, pes, alada
ENTRENADOR (entitat subclasse de persona)
54
FUOC P06/M2009/02150
codi-persona, data-inici-carrera
ESPECIALITAT
nom-esp
DATA
data
2. La figura segent mostra un diagrama ER que satisf els requisits que shan descrit:
CIUTAT
1
CLIENT
M
paquet-desc
paquet-car
REPARTIMENT
SITUACI
M
RECORREGUT
data
hora
DELEGACI
N
1
ORGANITZACI
ASSIGNACI
N
data-fi
M
import-dietes
UTILITZACI
CONDUCCI
CAMI
EMPLEAT
D,T
CONDUCTOR
ADMINISTRATIU
Els atributs de les entitats que figuren al diagrama sn els segents (les claus primries shan
subratllat):
CIUTAT
nom-ciutat
DELEGACI
nom-del, telefon
EMPLEAT
codi-empleat, nom, telefon, any-naixement
CONDUCTOR (subclasse dempleat)
codi-empleat, any-carnet, tipus-carnet
ADMINISTRATIU (subclasse dempleat)
codi-empleat, nivell-estudis
DATA
data
VIATGE (entitat debil: codi-viatge lidentifica parcialment, sidentifica
completament amb la delegacio dorganitzacio)
codi-viatge
CAMI
codi-camio, matricula, marca, tara
CLIENT
codi-client, nom, telefon-contacte
DATA
55
FUOC P06/M2009/02150
3. La figura segent mostra un diagrama ER que satisf els requisits que shan descrit:
PERSONA
S,T
ASSIGNACI
N
CLIENT
VENEDOR
PROPIETARI
data-fi
M
DATA
M
1
1
PROPIETAT
PERTINENA
N
PREFERNCIA
HORA
PIS
VISITA
M
N
1
ZONA
LIMTROFA
M
SATISFACCI
SITUACI
satisf/no
N
LOCALITZACI
1
POBLACI
Els atributs de les entitats que figuren al diagrama sn els segents (les claus primries shan
subratllat):
POBLACI
nom-pobl, nombre-hab
ZONA (entitat dbil: nom-zona lidentifica parcialment, sidentifica
completament amb la poblaci de localitzaci)
nom-zona
PIS
codi-pis, adrea, superfcie, nombre-habitacions, preu
CARACTERSTICA
codi-car, descripci
PERSONA
codi-persona, nom, adrea, telfon
VENEDOR (entitat subclasse de persona)
codi-persona, nss, sou
CLIENT (entitat subclasse de persona)
codi-persona
PROPIETARI (entitat subclasse de persona)
codi-persona, nif
CARACTERSTICA
FUOC P06/M2009/02150
56
DATA
data
HORA (entitat dbil: hora-minut lidentifica parcialment, sidentifica
completament amb la data de pertinena)
hora-minut
57
FUOC P06/M2009/02150
POBLACI(nom-pobl, nombre-hab)
ZONA(nom-pobl, nom-zona)
on {nom-pobl} referencia POBLACI
PIS(codi-pis, adrea, superfcie, nombre-habitacions, preu, nom-pobl, nom-zona)
on {nom-pobl, nom-zona} referencia ZONA
CARACTERSTICA(codi-car, descripci)
PERSONA(codi-persona, nom, adrea, telfon)
VENEDOR(codi-persona, nss, sou)
on {codi-persona} referencia PERSONA
CLIENT(codi-persona)
on {codi-persona} referencia PERSONA
PROPIETARI(codi-persona, nif)
on {codi-persona} referencia PERSONA
DATA(data)
HORA(data, hora-minut )
on {data} referencia DATA
ASSIGNACI(codi-client, data , codi-venedor, data-fi)
on {codi-client} referencia CLIENT,
{data} referencia DATA
i {codi-venedor} referencia VENEDOR
PREFERNCIA(codi-persona, nom-pobl, nom-zona )
on {codi-persona} referencia CLIENT
i {nom-pobl, nom-zona} referencia ZONA
SATISFACCI(codi-pis, codi-car , satisf/no)
on {codi-pis} referencia PIS
i {codi-car} referencia CARACTERSTICA
LIMTROFA(nom-pobl, nom-zona, nom-pobl-lim, nom-zona-lim )
on {nom-pobl, nom-zona} referencia ZONA
i {nom-pobl-lim, nom-zona-lim} referencia ZONA
PROPIETAT(codi-pis, codi-persona )
on {codi-pis} referencia PIS
i {codi-persona} referencia PROPIETARI
2)
VISITA(data, hora-minut, codi-persona , codi-pis)
on {data, hora-minut} referencia HORA,
{codi-persona} referencia CLIENT
i {codi-pis} referencia PIS
Glossari
atribut duna entitat
Propietat que interessa duna entitat.
atribut duna interrelaci
Propietat que interessa duna interrelaci.
connectivitat duna interrelaci
Expressi del tipus de correspondncia entre les ocurrncies dentitats associades amb la interrelaci.
disseny conceptual
Etapa del disseny duna base de dades que obt una estructura de la informaci de la futura BD
independent de la tecnologia que es vol emprar.
FUOC P06/M2009/02150
58
disseny fsic
Etapa del disseny duna base de dades que transforma lestructura obtinguda a letapa del disseny lgic amb lobjectiu daconseguir una major eficincia i que, a ms, la completa amb aspectes dimplementaci fsica que dependran de lSGBD que sha dutilitzar.
disseny lgic
Etapa del disseny duna base de dades que parteix del resultat del disseny conceptual i el transforma de manera que sadapti al model de lSGBD amb el qual es desitja implementar la base de
dades.
entitat
Objecte del mn real que podem distingir de la resta dobjectes i del qual ens interessen algunes propietats.
entitat associativa
Entitat resultant de considerar una interrelaci entre entitats com una nova entitat.
entitat dbil
Entitat els atributs de la qual no la identifiquen completament, sin que noms la identifiquen
de manera parcial.
entitat obligatria en una interrelaci binria
Entitat tal que una ocurrncia de laltra entitat que interv en la interrelaci noms pot existir
si es dna com a mnim una ocurrncia de lentitat obligatria a que hi est associada.
entitat opcional en una interrelaci binria
Entitat tal que una ocurrncia de laltra entitat que interv en la interrelaci pot existir encara que
no hi hagi cap ocurrncia de lentitat opcional a que hi est associada.
generalitzaci/especialitzaci
Construcci que permet reflectir que existeix una entitat general, que anomenem entitat superclasse, que es pot especialitzar en entitats subclasse. Lentitat superclasse ens permet modelitzar
les caracterstiques comunes de lentitat vista a un nivell genric, i amb les entitats
subclasse podem modelitzar les caracterstiques prpies de les seves especialitzacions.
grau duna interrelaci
Nombre dentitats que associa la interrelaci.
interrelaci
Associaci entre entitats.
interrelaci recursiva
Interrelaci a la qual alguna entitat est associada ms duna vegada.
Bibliografia
Batini, C.; Ceri, S.; Navathe, S.B. (1992). Conceptual Database Design: An Entity-Relationship
Approach. Reading, Massachusetts: Addison Wesley.
Teorey, T.J. (1999). Database Modeling & Design. The Fundamental Principles (3a ed.). San Francisco: Morgan Kaufmann Publishers, Inc.