Model de base de dades

estructura genèrica d'un tipus de base de dades, per exemple relacional From Wikipedia, the free encyclopedia

Model de base de dades
Remove ads

Un model de base de dades és un tipus de model de dades que determina l'estructura lògica d'una base de dades. Determina fonamentalment de quina manera es poden emmagatzemar, organitzar i manipular les dades. L'exemple més popular d'un model de base de dades és el model relacional, que utilitza un format basat en taules.[1]

Thumb
Diferents tipus de models de bases de dades
Thumb
Model de base de dades per a MediaWiki 1.28.0 (2017)
Remove ads

Tipus

Els models de dades lògics comuns per a bases de dades inclouen:[2]

Aquesta és la forma més antiga de model de base de dades. Va ser desenvolupada per IBM per a IMS (Sistema de Gestió de la Informació) i és un conjunt de dades organitzades en una estructura d'arbre. Un registre de base de dades és un arbre que consta de molts grups anomenats segments. Utilitza relacions d'un a molts i l'accés a les dades també és predictible.[3]

Una base de dades objecte-relacional combina les dues estructures relacionades.[4]

Els models de dades físics inclouen:

Altres models inclouen:

Remove ads

Relacions i funcions

Un sistema de gestió de bases de dades determinat pot proporcionar un o més models. L'estructura òptima depèn de l'organització natural de les dades de l'aplicació i dels requisits de l'aplicació, que inclouen la taxa de transacció (velocitat), la fiabilitat, la mantenibilitat, l'escalabilitat i el cost. La majoria dels sistemes de gestió de bases de dades es construeixen al voltant d'un model de dades concret, tot i que és possible que els productes ofereixin compatibilitat amb més d'un model.

Diversos models de dades físics poden implementar qualsevol model lògic. La majoria de programari de bases de dades ofereixen a l'usuari cert nivell de control en l'ajust de la implementació física, ja que les decisions que es prenen tenen un efecte significatiu en el rendiment.

Un model no és només una manera d'estructurar dades: també defineix un conjunt d'operacions que es poden realitzar sobre les dades.[5] El model relacional, per exemple, defineix operacions com ara select, project i join. Tot i que aquestes operacions poden no ser explícites en un llenguatge de consulta concret, proporcionen la base sobre la qual es construeix un llenguatge de consulta.

Remove ads

Model pla

Thumb
Exemple d'un model de fitxer pla

El model pla (o de taula) consisteix en una única matriu bidimensional d'elements de dades, on se suposa que tots els membres d'una columna determinada tenen valors similars i se suposa que tots els membres d'una fila estan relacionats entre si. Per exemple, columnes per al nom i la contrasenya que es podrien utilitzar com a part d'una base de dades de seguretat del sistema. Cada fila tindria la contrasenya específica associada a un usuari individual. Les columnes de la taula sovint tenen un tipus associat, que les defineix com a dades de caràcters, informació de data o hora, nombres enters o nombres de coma flotant. Aquest format tabular és un precursor del model relacional.

Models de dades primerencs

Aquests models van ser populars a les dècades del 1960 i 1970, però avui dia es poden trobar principalment en sistemes antics. Es caracteritzen principalment per ser navegables amb fortes connexions entre les seves representacions lògiques i físiques, i deficiències en la independència de les dades.

Model jeràrquic

Thumb
Exemple d'un model jeràrquic

En un model jeràrquic, les dades s'organitzen en una estructura d'arbre, cosa que implica un únic pare per a cada registre. Un camp d'ordenació manté els registres germans en un ordre concret. Les estructures jeràrquiques es van utilitzar àmpliament en els primers sistemes de gestió de bases de dades mainframe, com ara l'Information Management System (IMS) d' IBM, i ara descriuen l'estructura dels documents XML. Aquesta estructura permet una relació d'un a molts entre dos tipus de dades. Aquesta estructura és molt eficient per descriure moltes relacions en el món real; receptes, taula de continguts, ordenació de paràgrafs/versos, qualsevol informació imbricada i ordenada.

Aquesta jerarquia s'utilitza com a ordre físic dels registres a l'emmagatzematge. L'accés als registres es fa navegant cap avall a través de l'estructura de dades mitjançant punters combinats amb accés seqüencial. A causa d'això, l'estructura jeràrquica és ineficient per a certes operacions de base de dades quan no s'inclou també una ruta completa (a diferència de l'enllaç ascendent i el camp d'ordenació) per a cada registre. Aquestes limitacions s'han compensat en versions posteriors d'IMS mitjançant jerarquies lògiques addicionals imposades a la jerarquia física base.

Model de xarxa

Thumb
Exemple d'un model de xarxa

El model de xarxa amplia l'estructura jeràrquica, permetent relacions de molts a molts en una estructura en forma d'arbre que permet múltiples pares. Va ser més popular abans de ser substituït pel model relacional i està definit per l'especificació CODASYL.

El model de xarxa organitza les dades utilitzant dos conceptes fonamentals, anomenats registres i conjunts. Els registres contenen camps (que es poden organitzar jeràrquicament, com en el llenguatge de programació COBOL). Els conjunts (no s'han de confondre amb els conjunts matemàtics) defineixen relacions d'un a molts entre registres: un propietari, molts membres. Un registre pot ser un propietari en qualsevol nombre de conjunts i un membre en qualsevol nombre de conjunts.

Un conjunt consisteix en llistes enllaçades circulars on un tipus de registre, el propietari o pare del conjunt, apareix una vegada a cada cercle, i un segon tipus de registre, el subordinat o fill, pot aparèixer diverses vegades a cada cercle. D'aquesta manera, es pot establir una jerarquia entre dos tipus de registre qualssevol, per exemple, el tipus A és el propietari de B. Al mateix temps, es pot definir un altre conjunt on B és el propietari de A. Així, tots els conjunts formen un graf dirigit general (la propietat defineix una direcció) o una construcció de xarxa. L'accés als registres és seqüencial (normalment a cada tipus de registre) o mitjançant la navegació a les llistes enllaçades circulars.

Model de fitxer invertit

En un fitxer invertit o índex invertit, el contingut de les dades s'utilitza com a claus en una taula de cerca, i els valors de la taula són punters a la ubicació de cada instància d'un element de contingut determinat. Aquesta també és l'estructura lògica dels índexs de bases de dades contemporanis, que poden utilitzar només el contingut d'una columna concreta de la taula de cerca. El model de dades de fitxer invertit pot col·locar índexs en un conjunt de fitxers al costat de fitxers de base de dades plans existents, per tal d'accedir directament i de manera eficient als registres necessaris d'aquests fitxers.

Remove ads

Model relacional

Thumb
Dues taules amb una relació

El model relacional va ser introduït per EF Codd el 1970 com una manera de fer que els sistemes de gestió de bases de dades fossin més independents de qualsevol aplicació en particular. És un model matemàtic definit en termes de lògica de predicats i teoria de conjunts, i les seves implementacions han estat utilitzades per sistemes mainframe, de gamma mitjana i microordinadors.

Els productes que generalment es coneixen com a bases de dades relacionals, de fet, implementen un model que només és una aproximació al model matemàtic definit per Codd. Tres termes clau s'utilitzen àmpliament en els models de bases de dades relacionals: relacions, atributs i dominis. Una relació és una taula amb columnes i files. Les columnes amb nom de la relació s'anomenen atributs, i el domini és el conjunt de valors que els atributs poden prendre.

Model dimensional

El model dimensional és una adaptació especialitzada del model relacional que s'utilitza per representar dades en magatzems de dades de manera que les dades es puguin resumir fàcilment mitjançant el processament analític en línia o consultes OLAP. En el model dimensional, un esquema de base de dades consisteix en una única taula gran de fets que es descriuen mitjançant dimensions i mesures. Una dimensió proporciona el context d'un fet (com ara qui va participar, quan i on va passar i el seu tipus) i s'utilitza en consultes per agrupar fets relacionats. Les dimensions tendeixen a ser discretes i sovint són jeràrquiques; per exemple, la ubicació pot incloure l'edifici, l'estat i el país. Una mesura és una quantitat que descriu el fet, com ara els ingressos. És important que les mesures es puguin agregar de manera significativa; per exemple, es poden sumar els ingressos de diferents ubicacions.

Remove ads

Models de bases de dades postrelacionals

Els productes que ofereixen un model de dades més general que el model relacional de vegades es classifiquen com a postrelacionals. Altres termes inclouen "base de dades híbrida", "SGBDR millorat per objectes" i altres. El model de dades d'aquests productes incorpora relacions però no està restringit pel Principi d'Informació d'EF Codd, que requereix que

tota la informació de la base de dades s'ha de convertir explícitament en termes de valors en relacions i de cap altra manera.

Algunes d'aquestes extensions del model relacional integren conceptes de tecnologies anteriors al model relacional. Per exemple, permeten la representació d'un graf dirigit amb arbres als nodes. L'empresa alemanya Sones implementa aquest concepte al seu GraphDB.

Alguns productes postrelacionals amplien els sistemes relacionals amb característiques no relacionals. D'altres van arribar al mateix lloc afegint característiques relacionals als sistemes prerelacionals. Paradoxalment, això permet que productes que històricament són prerelacionals, com ara PICK i MUMPS, puguin afirmar plausiblement que són postrelacionals.

Model de graf

Les bases de dades de grafs permeten una estructura encara més general que una base de dades de xarxa; qualsevol node pot estar connectat a qualsevol altre node.

Model multivalor

Les bases de dades multivalor són dades "grumoses", ja que poden emmagatzemar exactament de la mateixa manera que les bases de dades relacionals, però també permeten un nivell de profunditat que el model relacional només pot aproximar mitjançant subtaules. Això és gairebé idèntic a la manera com XML expressa dades, on un camp/atribut determinat pot tenir diverses respostes correctes alhora. El multivalor es pot considerar com una forma comprimida d'XML.

Models de bases de dades orientades a objectes

Thumb
Exemple d'un model orientat a objectes

A la dècada del 1990, el paradigma de la programació orientada a objectes es va aplicar a la tecnologia de bases de dades, creant un nou model de base de dades conegut com a bases de dades d'objectes. Això pretén evitar la desajust d'impedància objecte-relacional, és a dir, la sobrecàrrega de convertir la informació entre la seva representació a la base de dades (per exemple, com a files en taules) i la seva representació al programa d'aplicació (normalment com a objectes). A més, el sistema de tipus utilitzat en una aplicació concreta es pot definir directament a la base de dades, cosa que permet a la base de dades aplicar els mateixos invariants d'integritat de dades. Les bases de dades d'objectes també introdueixen les idees clau de la programació d'objectes, com ara l'encapsulació i el polimorfisme, al món de les bases de dades.

Remove ads

Referències

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads