Diferència entre revisions de la pàgina «M2 - Bases de dades / UF1NF3: Model relacional»

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 37: Línia 37:
 
</pre>
 
</pre>
 
Cal precisar els extrems següents:
 
Cal precisar els extrems següents:
Tota relació ha de tenir un nom que la identifiqui unívocament dins de la base de dades.
+
 
Cada fila està constituïda per un tuple de dades relacionades entre elles, anomenat també registre, que guarda les dades que ens interessa reflectir d’un objecte concret del món real.
+
:*Tota relació ha de tenir un nom que la identifiqui unívocament dins de la base de dades.
En canvi, cada columna conté, en cada cel·la, dades d’un mateix tipus, i se la pot anomenar atribut o camp.
+
 
Cada cel·la, o intersecció entre fila i columna, pot emmagatzemar un únic valor.
+
:*Cada fila està constituïda per un tuple de dades relacionades entre elles, anomenat també registre, que guarda les dades que ens interessa reflectir d’un objecte concret del món real.
 +
 
 +
:*En canvi, cada columna conté, en cada cel·la, dades d’un mateix tipus, i se la pot anomenar atribut o camp.
 +
 
 +
:*Cada cel·la, o intersecció entre fila i columna, pot emmagatzemar un únic valor.
 
<pre>
 
<pre>
 
           Exemple de relació
 
           Exemple de relació
Línia 68: Línia 72:
 
</pre>
 
</pre>
 
Aquesta senzilla manera de visualitzar l’estructura de les bases de dades relacionals resulta molt entenedora per a la majoria d’usuaris. Però cal aprofundir en algunes característiques addicionals de les relacions, per talde poder-les distingir clarament dels fitxers tradicionals.
 
Aquesta senzilla manera de visualitzar l’estructura de les bases de dades relacionals resulta molt entenedora per a la majoria d’usuaris. Però cal aprofundir en algunes característiques addicionals de les relacions, per talde poder-les distingir clarament dels fitxers tradicionals.
 +
 +
===Domini===
 +
<pre>
 +
        Pel que fa al model relacional, un domini consisteix en un conjunt finit de valors indivisibles.
 +
</pre>
 +
Els atributs només poden prendre els valors que estiguin inclosos dins del domini respectiu. Altrament no són valors vàlids, i un SGBD relacional no en pot permetre l’emmagatzematge.
 +
<pre>
 +
        Exemples de dominis
 +
 +
        Examinem l’atribut Telefon de la relació ALUMNE. Si el definim de tal manera que només pugui
 +
        emmagatzemar nou caràcters (perquè els telèfons sempre consten de nou dígits) de tipus numèric
 +
        (ja que les lletres no poden formar part d’un número de telèfon), el domini d’aquest atribut
 +
        inclourà totes les combinacions possibles (en concret, , que és una magnitud gran, però finita).
 +
 +
        Una altra cosa és que molts d’aquests valors no es podran correspondre mai amb valors existents
 +
        en el món real (per exemple, difícilment un operador assignarà a un dels seus abonats una cadena
 +
        de nou zeros com a identificador telefònic). Per aconseguir-ho, caldria restringir força més el
 +
        domini de l’atribut a l’hora de definir-lo.
 +
 +
        Centrem-nos ara en l’atribut Cognoms. Contindrà els valors dels dos cognoms dels alumnes que els
 +
        tinguin, separats per un espai en blanc. Per tant, aquest camp està definit per tal que pugui
 +
        emmagatzemar dos objectes del món real: primer cognom i segon cognom.
 +
 +
        Conceptualment, els usuaris podran distingir entre els dos objectes representats, i els programadors
 +
        d’aplicacions podran truncar, en cas necessari, el resultat obtingut en fer una consulta del camp
 +
        Cognoms. Però tot SGBD relacional considerarà el valor contingut en l’atribut Cognoms de manera atòmica,
 +
        sense cap estructuració interna.
 +
</pre>
 +
Hem de considerar dues tipologies de dominis:
 +
 +
:*'''Dominis predefinits'''. Són els tipus de dades que admeti cada SGBD, com, per exemple (esmentats de manera genèrica, ja que hi ha moltes especificitats en funció dels diferents sistemes gestors), les cadenes de caràcters, els
 +
nombres enters, els nombres decimals, les dades de caire cronològic, etc.
 +
 +
:*'''Dominis definits pels usuaris'''. Consisteixen en restriccions addicionals aplicades sobre el domini predefinit d’alguns atributs, establertes pels dissenyadors i pels administradors de bases de dades.
 +
<pre>
 +
          Exemple de domini definit per l'usuari
 +
 +
          En una relació per emmagatzemar les dades dels aspirants a mosso d’esquadra, es podria establir el
 +
          camp IMC, per registrar els índexs de massa corporal respectius.
 +
 +
          Doncs bé, es podria restringir el domini d’aquest camp de tal manera que no admetés aspirants amb
 +
          valors inferiors a dinou ni superiors a trenta, ja que la normativa no ho permet.
 +
</pre>

Revisió del 18:53, 28 oct 2014

          El model relacional és un model de dades basat en dues disciplines matemàtiques: la lògica
          de predicats i la teoria de conjunts.
               SGBD

               Acrònim de Sistema Gestor de Bases de Dades. És un programari 
               especialitzat en la gestió de bases de dades (enteses, aquestes, 
               com un conjunt estructurat d’informació).

Potser a causa d’aquest sòlid fonament teòric, que proporciona a aquest model una robustesa excepcional, els SGBD relacionals (o SGBDR) són actualment els que tenen una implantació més gran en el mercat. El model relacional va ser proposat originàriament per Edgar Frank Codd en el seu treball A Relational Model of Data for Large Shared Data Banks (‘Un model relacional de dades per a grans bancs de dades compartits’) l’any 1970, tot i que no es va implementar comercialment fins al final de la dècada.

          E. F. Codd

         Codd treballava per a IBM, però no va ser aquesta multinacional qui va creure abans en les 
         possibilitats del model relacional, sinó més aviat la competència, i molt especialment Oracle, 
         empresa que va néixer, justament, amb el nom de Relational Software.

Estructuració de les dades

         El model relacional permet construir estructures de dades per representar les diferents 
         informacions del món real que tinguin algun interès.

Les estructures de dades construïdes seguint el model relacional estan formades per conjunts de relacions.

         Les relacions poden ser concebudes com a representacions tabulars de les dades.
              Tuple

              En l’àmbit de les BD, podem definir tuple com una seqüència finita 
              d’objectes que comprèn les diferents associacions entre cada atribut 
              de la relació i un valor concret, admissible dins del domini respectiu.

Cal precisar els extrems següents:

  • Tota relació ha de tenir un nom que la identifiqui unívocament dins de la base de dades.
  • Cada fila està constituïda per un tuple de dades relacionades entre elles, anomenat també registre, que guarda les dades que ens interessa reflectir d’un objecte concret del món real.
  • En canvi, cada columna conté, en cada cel·la, dades d’un mateix tipus, i se la pot anomenar atribut o camp.
  • Cada cel·la, o intersecció entre fila i columna, pot emmagatzemar un únic valor.
          Exemple de relació

          La següent taula reflecteix l’estructuració tabular de la relació ALUMNE, que conté les dades 
          personals corresponents als individus matriculats en un centre docent.
 
          Cada fila conté unes quantes dades relacionades que, en aquest cas, són les que pertanyen a un 
          mateix alumne.

          La relació té un nom (ALUMNE), com cadascuna de les columnes (DNI, Nom, Cognoms i Telefon). Si 
          aquests noms són prou significatius, permeten copsar de seguida el sentit que tenen els valors 
          de les dades emmagatzemades en la relació.
          Taula Exemple de relació

               ALUMNE
               -------------------------------------------------
               DNI      	Nom	Cognoms	        Telefon
               47126654F	Josep	Bel Rovira	453641282
               51354897S	Anna	Pacheco Cuscó	723352151
               56354981L	Xavier	Rius Montalvo	726922235
Tota base de dades relacional està formada per un conjunt de relacions.

Aquesta senzilla manera de visualitzar l’estructura de les bases de dades relacionals resulta molt entenedora per a la majoria d’usuaris. Però cal aprofundir en algunes característiques addicionals de les relacions, per talde poder-les distingir clarament dels fitxers tradicionals.

Domini

         Pel que fa al model relacional, un domini consisteix en un conjunt finit de valors indivisibles.

Els atributs només poden prendre els valors que estiguin inclosos dins del domini respectiu. Altrament no són valors vàlids, i un SGBD relacional no en pot permetre l’emmagatzematge.

         Exemples de dominis

         Examinem l’atribut Telefon de la relació ALUMNE. Si el definim de tal manera que només pugui 
         emmagatzemar nou caràcters (perquè els telèfons sempre consten de nou dígits) de tipus numèric 
         (ja que les lletres no poden formar part d’un número de telèfon), el domini d’aquest atribut 
         inclourà totes les combinacions possibles (en concret, , que és una magnitud gran, però finita).

         Una altra cosa és que molts d’aquests valors no es podran correspondre mai amb valors existents 
         en el món real (per exemple, difícilment un operador assignarà a un dels seus abonats una cadena 
         de nou zeros com a identificador telefònic). Per aconseguir-ho, caldria restringir força més el 
         domini de l’atribut a l’hora de definir-lo.

         Centrem-nos ara en l’atribut Cognoms. Contindrà els valors dels dos cognoms dels alumnes que els 
         tinguin, separats per un espai en blanc. Per tant, aquest camp està definit per tal que pugui 
         emmagatzemar dos objectes del món real: primer cognom i segon cognom.

         Conceptualment, els usuaris podran distingir entre els dos objectes representats, i els programadors
         d’aplicacions podran truncar, en cas necessari, el resultat obtingut en fer una consulta del camp 
         Cognoms. Però tot SGBD relacional considerarà el valor contingut en l’atribut Cognoms de manera atòmica,
         sense cap estructuració interna.

Hem de considerar dues tipologies de dominis:

  • Dominis predefinits. Són els tipus de dades que admeti cada SGBD, com, per exemple (esmentats de manera genèrica, ja que hi ha moltes especificitats en funció dels diferents sistemes gestors), les cadenes de caràcters, els

nombres enters, els nombres decimals, les dades de caire cronològic, etc.

  • Dominis definits pels usuaris. Consisteixen en restriccions addicionals aplicades sobre el domini predefinit d’alguns atributs, establertes pels dissenyadors i pels administradors de bases de dades.
          Exemple de domini definit per l'usuari

          En una relació per emmagatzemar les dades dels aspirants a mosso d’esquadra, es podria establir el
          camp IMC, per registrar els índexs de massa corporal respectius.

          Doncs bé, es podria restringir el domini d’aquest camp de tal manera que no admetés aspirants amb 
          valors inferiors a dinou ni superiors a trenta, ja que la normativa no ho permet.