lunes, 17 de marzo de 2014

3.1.2 Estructura.

L'estructura d'una base de dades fa referència als tipus de dades, els vincles o relacions i les restriccions que han de complir aquestes dades (integritat de dades i redundància de dades) .

L'estructura d'una base de dades és dissenyada o descrita emprant algun tipus de model de dades.

Un model de dades per a les bases de dades és un conjunt de conceptes que s'empren per descriure l'estructura d'una base de dades. Aquesta col · lecció de conceptes inclou:
  •  Entitats: són la representació d'un objecte o concepte del món real que es descriu en una base de dades. Per exemple, noms d'entitats poden ser: Alumne, Empleat, article, etc.
  •  Atributs: un atribut representa una propietat de interès d'una entitat. Per exemple, l'entitat " Alumne " podria tenir els atributs: nom, cognom, any de naixement, etc.
  •  Relacions: una relació o vincle entre dues o més entitats descriu alguna interacció entre les mateixes. Per exemple, una relació entre una entitat " Empleat " i una entitat " Sector" podria ser " treballa_en ", perquè l'empleat treballa en un sector determinat.
Hi ha diferents models de dades per a bases de dades:


 Model relacional:
Model relacional

En el model relacional es basa en el concepte matemàtic de relació. En aquest model, la informació es representa en forma de "taules" o relacions, on cada fila de la taula s'interpreta com una relació ordenada de valors (un conjunt de valors relacionats entre si).



Concepte de taula. Dominis i atributs.

Una taula en el model relacional ve a ser com una llista. Una taula o relació és una matriu rectangular que emmagatzema línies amb una estructura concreta:
• La primera línia d'una taula, és una capçalera que indica el nom de cada columna. O sigui, cada columna té assignat un nom únic, i indica que els ítems emmagatzemats en aquesta columna han de pertànyer a un conjunt de valors concret: Números, Lletres, Frases, etc.
• Cada línia (excepte la primera) rep el nom de tupla, i emmagatzema ítems concrets per a cada columna.
• Totes les files han de ser diferents entre si.
• L'ordre de les files i de les columnes no té importància a efectes de l'SGBD Aquest fet és el que veritablement diferencia les taules relacionals del concepte matemàtic de relació, en què l'ordre de les columnes és fonamental.

El grau d'una taula és el nombre de camps que posseeix. La cardinalitat és el nombre de tuples concretes que emmagatzema.
La primera fila d'una taula és la més important, ja que ens dóna la seva estructura. Aquesta columna identifica els noms de camp o atributs de què consta cada taula. En altres paraules, cada tupla està formada per un conjunt d'informació estructurada en elements més simples anomenats atributs. El nom de l'atribut ha de descriure el significat de la informació que representa.

Cada atribut només pugui prendre els valors pertanyents a un conjunt de valors prèviament establert, és a dir, un atribut té associat un domini de valors sent impossible que guardi altre diferent. Això suposa una restricció sobre els atributs

El model relacional de dades contempla tres tipus de restriccions :

1. Integritat de la clau. Cap atribut d'una clau candidata pot prendre valors nuls. Lògicament, els atributs que formen una clau candidata han de prendre sempre valors diferents per a cada possible tupla.

2. Integritat de referència o referencial. Sigui T1.a un atribut de la taula T1 que forma part d'una clau aliena per a la taula T2. És a dir, que en T2 hi ha un atribut definit amb el mateix domini, encara que no obligatòriament amb igual nom, i que és part del seu clau primària. Llavors, T1.a ha de ser sempre igual a algun valor, ja que conté l'atribut referenciat a la taula T2, o bé prendre un valor nul. Es pot definir el valor nul com un senyal utilitzada per representar informació desconeguda, inaplicable, inexistent, no valida, etc.

3. Altres restriccions d'acord amb la semàntica concreta del problema. Poden ser senzilles, com l'especificació de valors mínims o màxims que pot prendre un atribut numèric, llista de valors permesos d'un atribut, o més complexes: condicions sobre valors dels atributs en funció de valors d'altres atributs d'aquesta o altres taules.

Una clau és un atribut o conjunt d'atributs el valor és únic i diferent per a cada tupla.

Cada taula pot tenir més d'una clau, claus potencials, també anomenades claus candidates. D'entre totes les claus candidates, l'administrador, quan defineix la taula, ha de decidir quina d'elles serà la clau principal o clau primària, mentre que la resta de les claus passen a denominar claus alternatives o claus alternes. La distinció entre clau principal i claus alternatives, és només a efectes d'accés intern a les dades, i perquè el SGBDadopte certes decisions sobre com emmagatzemar aquestes dades en els sistemes d'emmagatzematge massius. D'altra banda, la clau d'una taula ha de ser pròpia, és a dir, cap dels atributs que la formen ha de ser superflu. Clau aliena o forana: un atribut d'una taula (o agregació d'ells) pot ser clau primària d'una altra taula. Aquest camp ha d'estar estrictament relacionat amb la clau primària d'una altra entitat, per tal d'exigir que hi hagi prèviament aquesta clau.




Model Entitat-Relació:

Aquest model habitualment, a més de disposar d'un diagrama que ajuda a entendre les dades i com es relacionen entre ells, deu ser completat amb un petit resum amb la llista dels atributs i les relacions de cada element.

Aquestes entitats es representen en un diagrama amb un rectangle, com els següents.


Els atributs es representen com a cercles que descendeixen d'una entitat, i no cal representar-tots, sinó els més significatius, com a continuació.
Les relacions es mostren en els diagrames com rombes, que s'uneixen a les entitats mitjançant línies.


Relacions de cardinalitat

Podem trobar diferents tipus de relacions segons com hi participin les entitats. És a dir, en el cas anterior cada empleat pot tenir un càrrec, però un mateix càrrec el poden compartir diversos empleats.

Això complementa les representacions de les relacions, mitjançant un interval a cada extrem de la relació que s'especifica quants objectes o coses (de cada entitat) poden intervenir en aquesta relació.

Un a un: Una entitat es relaciona únicament amb una altra i viceversa. Per exemple, si tinguéssim una entitat amb diferents xassís i una altra amb matrícules hauríem de determinar que cada xassís només pot tenir una matrícula (i cada matrícula un xassís, ni més en cap cas).


Un a Molts: determina que un registre d'una entitat pot estar relacionat amb diversos d'una altra entitat, però en aquesta entitat existir només una vegada. Com ha estat en el cas anterior del treballador del taller.

Molts a Molts: determina que una entitat pot relacionar amb una altra amb cap o diversos registres i viceversa. Per exemple, al taller un cotxe pot ser reparat per diversos mecànics diferents i aquests mecànics poden reparar diversos cotxes diferents.


Els indicadors numèrics indiquen el primer nombre mínim de registres en una relació i posteriorment el màxim (si no hi ha límit es representa amb una "n").

Model orientat a objectes:

Aquest model, bastant recent, i propi dels models informàtics orientats a objectes, tracta d'emmagatzemar a la base de dades dels objectes complets (estat i comportament) .

Una base de dades orientada a objectes és una base de dades que incorpora tots els conceptes importants del paradigma d'objectes:

Encapsulació - Propietat que permet ocultar la informació a la resta dels objectes, impedint així accessos incorrectes o conflictes.

Herència - Propietat a través de la qual els objectes hereten comportament dins d'una jerarquia de classes.

Polimorfisme - Propietat d'una operació mitjançant la qual pot ser aplicada a diferents tipus d'objectes.

Objecte Un objecte és una cosa real o abstracte sobre el qual emmagatzemem dades i mètodes que manipulen aquestes dades, que posseeix identitat (es distingeix per la seva existència mateixa i no pels seus atributs).Cada objecte és una instància de la classe a la qual pertany.

Classe Una classe és un grup d'objectes amb propietats (atributs) similars, comportament comú (operacions) , relacions comunes entre objectes, i semàntica comuna.

Un objecte pot heretar comportament d'un altre tipus d'objectes (herència) i pot adaptar-se per respondre de diferents maneres davant la sol·licitud d'una acció (polimorfisme) , l'important és que permet representar coses de la vida real amb relativa facilitat (abstracció) i que tot això es pot implementar de manera que no ens importi el codi, sinó només la manera de comunicar-nos amb aquests objectes pensant en ells com una sola unitat (encapsulament) .

Model jeràrquic


En un model jeràrquic, les dades són organitzats en una estructura semblant a un arbre, implicant una baula sol ascendent en cada registre per descriure niar, i un camp de classe per guardar els registres en un ordre particular en cada llista de mateix -nivell. Una limitació del model jeràrquic és la seva inhabilitat de representar manera eficient la redundància en dades.

Vincles virtuals pare - fill

En la relació Pare- fill: El fill només pot tenir un pare però un pare pot tenir múltiples fills. Els pares i fills són lligats junts per baules anomenats " indicadors ". Un pare tindrà una llista d'indicadors de cadascun dels seus fills.

El model jeràrquic té problemes quan es modelen certs tipus de vincles. Entre ells hi ha els següents vincles i situacions:
  • Vincles molts a molts
  • El cas en què un tipus de registre participa com a fill en més d'un tipus de vincle pare -fill
  • Vincles un a molts amb més de dos registres participants.


Model de xarxa

En aquest model les entitats es representen com a nodes i les seves relacions són les línies que els uneixen. En aquesta estructura qualsevol component pot relacionar-se amb qualsevol altre.

A diferència del model jeràrquic, en aquest model, un fill pot tenir diversos pares.

Els conceptes bàsics en el model en xarxa són:
  • El tipus de registre, que representa un node.
  • Element, que és un camp de dades.
  • Agregat de dades, que defineix un conjunt de dades amb nom.

Aquest model de dades permet representar relacions molts a molts









No hay comentarios:

Publicar un comentario