Especificación del Wikibook

Mon, Oct 16, 2006 One-minute read

He hecho una primera aproximación al diseño de nuestro Wikibook. Aquí adjunto el boceto:


He dudado en implementar la base de datos tal y como me han enseñado en la facultad o hacerlo tal y como pone en la documentación de Moodle. La primera opción era crear 3 tablas:

-Wikibooks(id)
-WikibookChapters(id, wikibookid)
-WikibookPages(id, wikibookid, wikibookchapterid)

Los campos en negrita son las claves primarias.
Los campos en cursiva son las claves foráneas.

Ésta implementación está muy bien, pero según Moodle y su filosofía de obviar las claves foráneas (limitación impuesta por versiones anteriores de mySQL), no se puede implementar así.

Así pues, haré caso a Moodle y la implementación final que he decidio es básicamente la misma pero usando un id único para cada tabla, y que éste sea la única clave primaria. Quedando así:

-Wikibooks(id)
-WikibookChapters(id, wikibookid)
-WikibookPages(id, wikibookid, wikibookchapterid)

Los campos en negrita son las claves primarias.
No hay claves foráneas explícitas. Las joins se harán en php y no en sql.

Repito que es una primera aproximación, ahora me dispongo a hacer las primeras pruebas con ella.