DAM - DAW - MP 0484 Bases de Dades
-
El Model relacional el va pensar i definir Edgar Frank Codd l'any 1970.
-
És un model de representació de dades.
-
Possiblement, és el model més utilitzat per implementar SGBD. Els anomenats SGDB relacionals (Oracle , IBM-DB2, SQL server, MySQL, PostgreSQL, Acces, ...).
-
El model relacional representa la base de dades com un conjunt de relacions (tuples), que organitzem en taules
No hem de confondre les Relacions (taules) del Model Relacional amb les Relacions (Interrelacions) del Model Entitat-Relació
Conceptes bàsics
Les dades es representen de forma tabular:
| N.Matric | Població | Telèfon | Cog2 | Cog1 | Nom | Telefon |
|---|---|---|---|---|---|---|
| 10403475 | Olot | 972265641 | Vidal | Puig | Maria | 77900700 |
| 10432345 | Girona | 972222325 | Lopez | Lopez | Josep | 35357853 |
| 10345672 | Girona | 972456789 | Vidal | Pi | Pere | 40123564 |
on
-
anomenem files, tuples o registres al conjunt de les entitats del Model ER
-
anomenem columnes, atributs o camps als atributs del Model ER
Definicions
-
Domini d'un atribut: conjunt finit de valors indivisibles (atòmics). Defineix els valors admesos per un atribut.
-
Esquema d'una relació: nom que la identifica unívocament dins de la BD, defineix també el conjunt d'atributs d'aquesta.
Exemple:
ALUMNE(Dni, Nom, Cog1, Cog2, Telèfon, Població, N.Matrícula)
-
Grau d'una relació: nombre d'atributs que inclou l'esquema de la relació.
Exemple:
Grau(ALUMNE) = 7 *{la relació ALUMNE té 7 atributs}
-
Extensió d'una relació: valors de totes les dades emmagatzemades en les tuples d'aquesta.
Exemple
10403475 Olot 972265641 Vidal Puig Maria 77900700 10432345 Girona 972222325 Lopez Lopez Josep 35357853 10345672 Girona 972456789 Vidal Pi Pere 40123564 -
Cardinalitat d'una relació: nombre de tuples que en formen l'extensió.
Exemple:
Cardinalitat(ALUMNE) = 3
La relació ALUMNE, en aquest moment té 3 files
Característiques de les relacions
-
L'esquema d'una relació no acostuma a canviar mentre que l'extensió canvia molt sovint.
-
Les tuples d'una relació no tenen cap ordre establert.
-
El valor d'un atribut és un valor simple (indivisible).
-
Els esquemes de relació del model relacional corresponen a entitats o interrelacions del model ER.
-
L'esquema de relació tindrà una clau primària formada per un o més atributs.
Tipus de claus
Tuples repetides: Per definició, el model relacional no permet l'existència de tuples en una mateixa relació que tinguin els mateixos valors en cadascun dels atributs.
Superclau: subconjunt dels atributs que formen l'esquema d'una relació tal que no és possible que hi hagi més d'una tupla en l'extensió d'aquesta, amb la mateixa combinació de valors en els atributs que formen part del subconjunt esmentat.
Claus candidates: totes les superclaus mínimes d'una relació formades pels atributs o conjunts d'atributs que permeten identificar les tuples que conté la seva extensió.
Clau primària: clau candidata escollida pel dissenyador lògic de la base de dades per distingir unívocament cada tupla d'una relació de la resta de tuples.
Claus alternatives: resta de claus candidates descartades pel dissenyador lògic de la base de dades per distingir unívocament cada tupla d'una relació de la resta de tuples.
Tipus de claus
-
Clau forana: atribut o conjunt d'atributs, de l'esquema d'una relació, que serveix per relacionar les seves tuples amb les tuples d'una altra relació o amb les seves pròpies tuples (cas d'una relació recursiva).
-
Tota clau forana ha de tenir el mateix nombre d'atributs que la clau primària a la qual fa referència.
-
Entre els atributs de l'esquema d'una clau forana i els de la clau primària referenciada, hi ha una correspondència (bijecció).
-
Els dominis dels atributs de tota clau forana han de coincidir amb els dominis dels atributs de la clau primària referenciada.
-
Operacions amb les relacions
-
Consulta: Obtenció parametritzada de dades, sense que es vegin alterades les emmagatzemades en la BD.
-
Actualització: realitzen canvis en les tuples que queden reflectits en les relacions de la BD.
-
Inserció - Afegeix una o més tuples a una relació determinada.
-
Actualització - Modifica el valor d'un o més atributs d'una o més tuples d'una relació determinada.
-
Esborrat - Elimina una o més tuples d'una relació determinada.
-
Regles d'integritat
Integritat: propietat de les dades que permet representar correctament les situacions del món real que modelitzen.
Integritat de domini: especifica que el valor de cada atribut Ai ha de ser un valor simple i del domini(Ai).
Unicitat de clau primària: No hi pot haver dos o més tuples amb la mateixa combinació de valors en els atributs que formen la clau primària d'una relació.
Entitat de la clau primària: Cap atribut que formi part de la clau primària pot contenir valors nuls.
El valor d'una clau primària és únic i mai pot ser nul
Integritat referencial: la clau forana coincidirà amb la clau primària referenciada o serà nul·la.
El SGBDR vetllarà en tot moment per mantenir la integritat referencial, especialment en els casos següents:
-
Operacions sobre claus foranes
-
Inserció de noves tuples. --> verificar integritat
-
Actualitzacions sobre atributs que formin part d'alguna clau forana. --> verificar integritat
-
-
Operacions sobre claus primàries referenciades
-
Esborrat de tuples. --> restricció o anulació
-
Actualitzacions sobre atributs que formin part d'alguna clau primària referenciada. --> actualització en cascada
-
