introducció a les bd relacionals
DESCRIPTION
introduccio del perque i com plantejar-se les BD relacionals, xo li fallen els efectes que no apareixenTRANSCRIPT
Nocions bàsiques...
Rosa Surísexercici per a l’assignatura “Didàctica de la Informàtica”
professora: Mªdel Mar Lluelles
CAP 2007
BASES DE DADES RELACIONALS
Què és una Base de Dades?
Donat un problema del món real que necessitem manipular, una BD és una col·lecció de fitxers relacionats entre sí que emmagatzemen tant una representació abstracta del domini, com les dades corresponents a la informació del mateix.
Tant la representació com les dades en sí, estan subjectes a una sèrie de restriccions (propietats
d’entitats, dades i relacions, i accés a la informació), les quals formen part del domini del problema; estant la seva descripció també emmagatzemada en aquests fitxers.
Objectiu d’una Base de Dades?
ser un conjunt de dades interrelacionades entre sí que s’emmagatzemen sense redundàncies perjudicials o innecessàries, i que serveixen a una o més aplicacions, garantint independència entre dades i programes.
Per què de l’automatització de les BASES de DADES?
• És Ràpid: La màquina pot obtenir i modificar dades amb molta més velocitat que un ser humà. Així es
possible satisfer amb rapidesa consultes de casos particulars, del moment, sense necessitat de recerques visuals o manuals que requereixen molt temps.
• És menys Laboriós: S’elimina gran part del tedi de manegar arxius a ma. Les tasques mecàniques sempre seran
millor realitzades per les màquines.
• És Compacte: No fan falta arxius de papers que puguin ocupar molt espai.
Es Actual: Es disposa en qualsevol moment de informació precisa i al dia.
Còmoda: Al tenir la informació en un mateix lloc, estalviarem temps i treball.
Altres avantatges de l’automatització de les bases de dades...
Disminuir la Redundància Compartir Dades Possibilitat d’aplicar restriccions de
seguritat Possibilitat de mantenir la integritat
Model Relacional: per què?
Anem a plantejar un possible cas real i veiem quina seria la millor opció...
Imaginem que volem enregistrar tota la informació de que disposem dels nostres amics i dels vehicles que aquestos tenen
1ªpas: observem i decidim quines dades volem enregistrar...
... i ara plantegem com hem d’emmagatzemar-la
dels amics:- nom i cognoms- telèfon- adreça
dels cotxes:- marca- model- característiques generals - matricula- color
2on pas: traduïm això en un fitxer que podem gravar al ordinador...
Amb això ho tenim tot solventat?
Si creiem que és així, anem a veure que és el que passa... Quan afegim amics a la nostra base de dades i ...
... aquestos no tenen cotxe O resulta que tenen el mateix cotxe que un altre
Quan modifiquem dades dels cotxes que tenim arxivats Quan eliminem registres de amics
...passem a enregistrar nous amic:
Joan Prats 609654321 les afores
...doncs resulta que si aquest no te cap cotxe, estem desaprofitant un munt d’espai en blanc
quan donem d’alta més registres....
si resulta que coincideixen els mateixos cotxes.... ...estem repetint les mateixes dades a
cada registre
al acabar tenim les següents dades...nom cognom telfn adreça marca model caract matric color
Josep Garcia 679123456 c/pi 10 Ford c-max vel.màx.175kms/hd0a100: 12’9seg.
1111 ABC groc
Joel Prats 609654321 les afores
Josep Pons 676159357 c/petit 1 Seat Ibiza Cupra vel.màx.220kms/hd0a100: 7’6seg.
1234 ABC vermell
Judith Segura 646147963 c/ del mar 5 Ford c-max vel.màx.175kms/hd0a100: 12’9seg.
2222 BCI negre
Anna Torres 679148368 c/ centre 1
Marc Soler 679321123 c/Urgell 3 Citroën C4 vel.màx.192kms/hd0a100: 11’2seg.
4444 CSI vermell
un altre problema...què fem si algú té més d’un cotxe? on ho apuntem això???
...passem ara a modificar algunes dades dels cotxes que tenim arxivats...
nom cognom telfn adreça marca model caract matric color
Josep Garcia 679123456 c/pi 10 Ford c-max vel.màx.175kms/hd0a100: 12’9seg.
1111 ABC groc
Joel Prats 609654321 les afores
Josep Pons 676159357 c/petit 1 Seat Ibiza Cupra vel.màx.220kms/hd0a100: 7’6seg.
1234 ABC vermell
Judith Segura 646147963 c/ del mar 5 Ford c-max vel.màx.85kms/hd0a100:
120’9seg.
2222 BCI negre
Anna Torres 679148368 c/ centre 1
Marc Soler 679321123 c/Urgell 3 Citroën C4 vel.màx.192kms/hd0a100: 11’2seg.
4444 CSI vermell
...i resulta que no ens en recordem de canviar de igual manera totes les que són el mateix!!!
LA INTEGRITAT QUEDA MALMESA!!!
i si finalment eliminem ara registres de amics...
nom cognom telfn adreça marca model caract matric color
Josep Garcia 679123456 c/pi 10 Ford c-max vel.màx.175kms/hd0a100: 12’9seg.
1111 ABC groc
Joel Prats 609654321 les afores
Josep Pons 676159357 c/petit 1 Seat Ibiza Cupra vel.màx.220kms/hd0a100: 7’6seg.
1234 ABC vermell
Judith Segura 646147963 c/ del mar 5 Ford c-max vel.màx.175kms/hd0a100: 12’9seg.
2222 BCI negre
Anna Torres 679148368 c/ centre 1
Marc Soler 679321123 c/Urgell 3 Citroën C4 vel.màx.192kms/hd0a100: 11’2seg.
4444 CSI vermell
... ALESHORES RESULTA QUE PODEM PERDRE DADES DE VEHICLES QUE JA TENIEM!!!
Seat Ibiza Cupra vel.màx.220kms/h
d0a100: 7’6seg.
Que podríem fer per evitar tot això?
hauríem d’aconseguir que les dades no es repeteixin i així evitar la redundància de les mateixes
a demés d’aquesta manera només caldria modificar-les a un únic lloc, i per tant també n’asseguraríem la integritat de les dades
també hauríem d’aconseguir només ocupar espai físic quan realment tinguéssim dades a gravar i no deixar-ne espais en blanc innecessaris
i evidentment fer que tothom que necessites d’unes dades comunes accedeixin al mateix lloc
Solució!!!
Deixar separat de la resta cada conjunt de dades que pertanyen a una mateixa cosa, i només accedir a altres conjunts de dades quan necessitem informació seva que tingui a veure amb el que estem utilitzant.
Cóm es tradueix això a nivell informàtic?
Apareixen aquí els diferents conceptes representats al model conceptual de Entitat-Relació...
ENTITAT : conjunt de dades que pertanyen a una mateixa cosa u objecte (tangible o no) del que volem guardar informació
ATRIBUTS : cada una d’aquestes dades o característiques que guardem de l’entitat
RELACIO : aquest lligam que hi ha entre entitats que tenen alguna cosa a veure entre si
Al nostre exemple!!!
entitats
atributsrelació
i si tenim en compte que un amic podria tenir més de un cotxe
AMICS COTXES1 N
i el corresponent model relacional: taula AMICS
taula COTXES
amb aquest camp informat a
cotxes que ens permetrà anar
a trobar la informació del
propietari corresponent
com se fa la traducció a model relacional ?
En properes lliçons: veurem i farem diferents exercicis de disseny
conceptual de bases de dades (model Entitat-Relació) treballarem el concepte de clau primària i clau forana així com les diferents lleis de transformació d’un
model conceptual de Entitat-Relació a un model relacional que poder implementar posteriorment a un sistema gestor de bases de dades relacional qualsevol.