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 |
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:
• 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.
No hay comentarios:
Publicar un comentario