Base de Dades
servidor: llda128.servidoresdns.netk
base dades: qs260 (abans qs087)
taules | codi SQL |
apunts de treball | preguntes
| recursos
Taules
Dades per crear la taula a MySQL
La base de dades té 4 taules:
- taula node
- taula recurs
- taula noderecurs
- taula nodenode
S'està estudiant si utilitzar o no una 5a taula per informació
relacionada amb control d'accessos.
| 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 però
hem de veure que fem amb això de la vida. É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.
BLOB perquè no diferenciem majúscula de mínúsculaté
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 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). |
| 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 |
|
Preguntes
preguntes ARSYS
902 15 45 56
1- PHPMyAdmin: s'hi poden relacionar taules d'una BD (a través
de FOREIGN KEY o REFERENCE)?
RE: es poden fer relacions entre taules, sobre PHPMyAdmin o no
no ho sap la noia
2- Es poden crear altres usuaris de la BD (amb menys privilegis
que l'administrador)?
RE: Sí a Arsys, NO des de PHPMyAdmin; fes servir un Client
MySQL
3- Es pot dialogar amb MySQL sense PHPMyAdmin, amb línia
de comandes? Potser amb el Visor Global?
RE: El Visor Global només fa consultes. Es pot fer servir
un Client MySQL i posar el mateix nom de servidor, nom de BD i contrasenya.
4- CVS Concurrent Versions Systems?
NO HO HE PREGUNTAT
-----usuaris privilegis limitats
-----base de dades relacional
Jaume;
* p
* a-pam() dia 3 març
* linux Rubí - lluís Antaviana - Quim Gil Interactors
* fulletons MB
* ARANEUM
* servidor MySQL
qüestions a resoldre
1- indexem algun camp?
2- Les imatges Miniatura es podrien incloure dins la BD i no haver
d'escriure un arxiu? Això es pot fer guardant el binari del
JPEG; cal veure si això és més o menys efectiu.
3- cal crear mínim 2 tipus usuari: administrador (apamAdmin)
i consulta (apamUser)
4- cal trobar la manera que la base de dades sigui relacional
5- taula nodenode; no hauria d'indicar les dues direccions? és
una opció. Podriem fer parelles de nodes i indicar quin apunta
quin amb un camp amb tres valors (0,1,2)
recursos
Clients MySQL

|