disseny de la base de dades MySQL que utilitza a-pam

taules: node | recurs | noderecurs | nodenode

Taula: node
camp Descripció Exemple
id_node identificador únic 6
url url de la pàgina http://legart.dk/view/projects/
data data de la darrera consulta en què s'ha canviat alguna cosa 20050307114437
vida valor que es pot fer servir si cal "esporgar" nodes en funció del temps des que es van crear 243
nhash valor hash (o equivalent) creat a partir del codi de la pàgina. Serveix per saber si la pàgina s'ha actualitzat. 58e2c43437871827c2e2c525e4cf76bc
> Veure detall taula node

 

Taula: recurs
camp Descripció Exemple text Exemple Imatge
id_recurs identificador únic autonumèric 4 47
html html: codi html sencer d'un link; inclosos els <a> <a href="http://joel.spolsky.com/">http://joel.spolsky.com</a> <a href="http://www.template-toolkit.org/"><img
src="/tt2/images/tt2power.gif"
width="78" height="47" border="0" alt="Powered by Template Toolkit"></a>
src URL de la imatge (si n'hi ha) null http://www.template-toolkit.org/tt2/images/tt2power.gif
width ample de la imatge (si n'hi ha) null 78
height alçada de la imatge (si n'hi ha) null 47
text text entre <a></a> (si no hi ha imatge) http://joel.spolsky.com Powered by Template Toolkit
m0 nom arxiu d'imatge de la miniatura nivell 0 (previst, no utilitzat) null mimg_n0_r47.png
m1 nom arxiu d'imatge de la miniatura nivell 1 (previst, no utilitzat) null mimg_n1_r47.png
m2 nom arxiu d'imatge de la miniatura nivell 2 (previst, no utilitzat) null mimg_n2_r47.png
> Veure detall taula recurs

 

Taula: noderecurs
camp Descripció Exemple
id_noderecurs identificador únic autonumèric 444
id_noderecurs correspon al id_node de la taula node, d'una pàgina que està enllaçada des d'un recurs 4
id_node correspon al id_node de la taula node, d'una pàgina que està enllaçada des d'un recurs 308
> Veure detall taula recurs

 

Taula: nodenode
camp Descripció Exemple
id_nodenode identificador únic autonumèric 404
id_nodeWilliam Node Apuntador: correspon al id_node de la taula node, d'una pàgina que té un enllaç 6
id_nodeTellapple Node Apuntat: correspon al id_node de la taula node, d'una pàgina que és apuntada per un enllaç de la pàgina del camp anterior 308
> Veure detall taula nodenode

Detall de les taules amb les característiques de cada camp:

taula node
camp Tipus Valors/Longitud Atributs Nul Defecte Extra/auto-increment Primary Key Index Relacionat amb... Descripció Observacions
id_node INT   UNSIGNED NOT NULL  
A_I
P K
  identificador únic és INT perquè és un enter i UNSIGNED perquè és zero o un valor positiu. S'autoincrementa sol i és primary key
url BLOB     NOT NULL  
  url de la pàgina optem per BLOB enlloc de TEXT perquè no diferenciem entre majúscules i minúscules. No agafem TINYBLOB perquè no podem preveure l'extensió d'una URL. Tinc el dubte de si també hauria de ser primary key
data TIMESTAMP 14   NOT NULL 20040106083000
  data de la darrera consulta en què s'ha canviat alguna cosa opto per TIMESTAMP(14) que vol dir AAAAMMDDHHMMSS; altres opcions serien DATE o DATATIME.
vida SMALLINT 5 UNSIGNED NOT NULL 500
    amb un valor de 5 decimals sembla suficient. És NOT NULL perquè un node sempre té una vida assignada i quan arriba a zero es destrueix, com que no té valors negatius és UNSIGNED
nhash TINYINT 255 UNSIGNED NULL  
  número hash del conjunt de codi de la pàgina pot ser NULL ja que el podem crear sense haver accedit al seu codi per la ref. d'una altra pàg. Crec que les característiques del hash són: enter no negatiu i amb un valor límit de 256
taula recurs
camp Tipus Valors/Longitud Atributs Nul Defecte Extra/auto-increment Primary Key Index Relacionat amb... Descripció Observacions
id_recurs INT   UNSIGNED NOT NULL  
A_I
P K
  identificador únic autonumèric  
html TEXT     NOT NULL  
  html: codi html sencer d'un link; inclosos els <a> Aquest camp no pot estar buit perquè quan creem aquest registre sempre tenim codi.
src BLOB     NULL  
  URL de la imatge (si n'hi ha) NULL: el camp pot estar buit si no hi ha una imatge (tot i que per qüestions de recuperació a l'applet nosaltres l'omplirem amb la string 'null'. BLOB perquè no diferenciem majúscula de mínúscula. T é un límit de 65.535 caràcters.
width SMALLINT 4 UNSIGNED NULL  
  ample de la imatge (si n'hi ha) un SMALLINT ja ens dóna valors fins a 65535, suficient per al tamany d'una imatge que com a molt serà 1024. Valor 4 de 4 decimals. UNSIGNED perquè el valor no serà mai inferior a zero.
height SMALLINT 4 UNSIGNED NULL  
  alçada de la imatge (si n'hi ha) idem que anterior.
text TEXT 3   NULL  
  text entre <a></a> (si no hi ha imatge) considerem que el text pot ser superior a 255 caràcters però el limitem a 999; aquí tenim en compte la diferència majúscules/minúscules i posem TEXT enlloc de BLOB
m0 CHAR 24   NULL  
  nom arxiu d'imatge de la miniatura nivell 0 com que aquest nom el generem nosaltres el podem limitar a 24 caràcters; utilitzem CHAR perquè sembla que és més ràpid. És NULL per si no hi ha imatge
m1 CHAR 24   NULL  
  nom arxiu d'imatge de la miniatura nivell 1 idem
m2 CHAR 24   NULL  
  nom arxiu d'imatge de la miniatura nivell 2 idem. (NOTA: potser seria viable i més òptim posar aquí el Binari del gràfic com a BLOB i no escriure arxius). (NOTA2: actualment a la versió 0.0.1 aquest tres camps no s'utilitzen i és l'applet qui s'encarrega de recuperar els gràfics de la web)
taula nodesrecurs [relaciona els recursos amb els nodes que apunten a través de les seves taules corresponents]
camp Tipus Valors/Longitud Atributs Nul Defecte Extra/auto-increment Primary Key Index Relacionat amb... Descripció Observacions
id_noderecurs INT   UNSIGNED NOT NULL  
A_I
P K
  identificador únic autonumèric  
id_node INT   UNSIGNED NOT NULL  
REFERENCES node (id_node) correspon al id_node de la taula node, d'una pàgina que està enllaçada des d'un recurs  
id_recurs INT   UNSIGNED NOT NULL  
REFERENCES recurs (id_recurs) correspon al id_node de la taula node, d'una pàgina que està enllaçada des d'un recurs  
taula nodenode [relaciona dos nodes de la taula node que s'enllaçen entre sí]
camp Tipus Valors/Longitud Atributs Nul Defecte Extra/auto-increment Primary Key Index Relacionat amb... Descripció Observacions
id_nodeWilliam INT   UNSIGNED NOT NULL  
PK
REFERENCES node (id_node) Node Apuntador: correspon al id_node de la taula node, d'una pàgina que té un enllaç  
id_nodeTellapple INT   UNSIGNED NOT NULL  
REFERENCES node (id_node) Node Apuntat: correspon al id_node de la taula node, d'una pàgina que és apuntada per un enllaç de la pàgina del camp anterior  
taula apamprefs [conté dades que són preferències del sistema apam]
camp Tipus Valors/Longitud Atributs Nul Defecte Extra/auto-increment Primary Key Index Relacionat amb... Descripció Observacions
id_prefs INT   UNSIGNED NOT NULL  
A_I
P K
  identificador únic autonumèric  
nomprefs CHAR 32   NULL           nom que identifica un conjunt de preferències  
vida_L INT 5 UNSIGNED NOT NULL  
  defineix el límit de vida dels nodes, es canviarà en funció de l'experiència  
vida_nV INT 5 UNSIGNED NOT NULL 0
  defineix els punts de vida que tindrà un node Visitat en ser creat  
vida_nNV INT 5 UNSIGNED NOT NULL  
  defineix els punts de vida que tindrà un node No-Visitat (o sigui que hem pillat la URL d'una pagina) en ser creat  

 

apam sessio oberta a-pam nova sessio