Guía de apoyo para el uso de Moodle •
Los nombres de las tablas y de los campos tienen que evitar el uso de palabras reservadas por las Bases de Datos. Por favor, compruébelo antes de crearlas.
•
Los nombres de los campos (columnas) deberían ser sencillos y cortos, siguiendo las mismas reglas que los nombres de las variables.
•
Cuando sea posible, las columnas que contengan una referencia al campo id de otra tabla (por ejemplo, modulo) debería ser llamado moduloid. (fíjese que esta norma es nueva y no es seguida por algunas tablas antiguas).
•
Los campos booleanos serán implementados como enteros cortos (por ejemplo, INT4) con los valores 0 o 1, para permitir la futura expansión de los valores si fuera necesario.
•
La mayoría de las tablas tienen que tener un campo timemodified (INT10) que será actualizado con la fecha actual (timestamp de UNIX) obtenida con la función time() de PHP.
•
Defina siempre un valor por defecto para cada campo (y haga que tenga sentido).
•
Cada tabla debe comenzar con el prefijo de la base de datos ($CFG->prefix). En muchos casos esto es gestionado automáticamente. Además, bajo PostgreSQL, el nombre de cada índice debe empezar también con el prefijo.
•
Para garantizar la compatibilidad entre bases de datos, por favor, siga las reglas siguientes sobre el uso del comando AS (solo si necesita alias en tablas/campos, por supuesto): •
No utilice el comando AS para alias de tablas.
•
Utilice el comando AS para alias de campos (columnas).
•
Nunca cree UNIQUE KEYs (restricciones) para nada. En su lugar utilice UNIQUE INDEXes. En el futuro, si se decide añadir integridad referencial a Moodle y si se necesitan UNIQUE KEYs, serán utilizadas, pero no por ahora. Por favor, fíjese que el Editor XMLDB permite especificar tanto restricciones UNIQUE y FOREIGN (y eso es bueno, teniendo el XML bien definido), pero solo los índices subyacentes serán realmente generados en la DB.
•
El uso de UNIQUE KEYs creadas en el Editor XMLDB (lea el punto anterior) solo debe ser definida si el campo/campos van a ser el objetivo para alguna FOREIGN KEY (a nivel de Editor). En caso contrario, créelas como UNIQUE INDEXes.
•
Las tablas asociadas con un bloque deben seguir las siguientes convenciones en sus nombres: $CFG->prefix + "block_" + nombre del bloque + añadidos. Por ejemplo, asumiendo que $CFG->prefix es 'mdl_', todas las tablas para el bloque "rss_client" deberán empezar por 'mdl_block_rss_client' (siendo posible añadir más palabras al final, Ej. 'mdl_block_rss_client_anothertable'...). Esta regla será completamente forzada con Moodle 2.0, dando algo de tiempo a los desarrolladores hasta entonces.
EUITIO - Universidad de Oviedo | Ana Teresa González de Felipe
53