Bueno primero tengo mucho sueño, asi que si me dejo algo me lo hacen saber y mañana lo publcio
Estoy diseñando la base de datos para un sitio que queremos hacer con unos amigos.
Esto es lo que tengo diseñado:
url:http://img266.imageshack.us/img266/8137/esquemamysql.jpg
esta todo compactado para que entre en la imagen :-X
1. Las tablas son myisam y llevan foreing keys (FK) algún problema en ello??
Bueno e separado las diferentes partes por colores, las que no tienen color son funciones generales.
Los mediumint(8) son valores de un id de usuario smf.. no e puesto la tabla porque es un lio
Todas las relaciones son 1:N con FK.
Empiezo a explicar:
Amarillo superior:
es un sistema de noticias con comentarios, una tabla de noticias y otra de comentarios.
la tabla secciones es porque habrá varias páginas que usen el sistema de noticias, entonces con esa tabla me ahorro hacer varias tablas iguales.
(el web_ es solo un prefijo para distinguir de smf)
Azul:
es una area de consultas, sigue un sistema casi igual que el de las noticias.
la tabla de secciones se refiere al area de consulta que se hará.
ejemplo: seccion: informatica; seccion:medio ambiente, etc
Verde pequeño:
Es una bd que solo linka con el responsable de la ong.
Contiene una descripcion y esas cosas xD
verde grande:
es un sistema de peticiones de oración [ok si no creen me da igual, de que trata la web no es el caso ] y mas abajo otro sistema de noticias.
El sistema de noticias solo varia en los otros que se guardan noticias para todo tipo de users-visitantes y noticias de ambito privado (un grupo concreto de users).
El sistema de oración es lo mas complicado de toda la web creo yo, lo explico mas o menos:
Contamos con un responsable de país (un admin), responsable de Comunida autonoma, provincia, comarca y ciudad.
Bien, a los usuarios se les presentan los datos según los datos que dieron de donde son y cuando envian una petición esta se envia al responsable directo (lease el de ciudad), si el de ciudad cree que es una peticion de caracter comarcal la envia a su superior (el responsable de comarca).
Para eso habia pensado usar el campo de "relevancia" cuanto mas alto mas arriba busca en la bd, pero aun no lo tengo del todo claro....
el resto son categorias de oracion y los votos.
Bueno también se pensó el crear un Top10 de las peticiones para cada zona.
Explico como va esa parte:
El responsable de una ciudad recive X peticiones de las cuales toma 10 como importantes, esas 10 se guardan en un top10 de su ciudad.
Esas mismas 10 se envian al responsable de comarca (las de todas las ciudades de la comarca), el responsable recive todas ellas y selecciona 10 que agrega al top 10 de la comarca, esas 10 se envian a la provincia y así hasta llegar al final.
Esa parte no se como diseñarla, así que si hay ideas son bien recibidas
Rosa:
Es como una red social, los usuarios se agregan a las categorias que les gustan en la pagina principal se listan las ultimas noticias de todas las redes y en cada red las noticias de esa red.
Amarillo abajo:
es una zona de indignados, ejemplo: estoy indignado "porque el pan es caro"
entonces hay ciertas tematicas (indignaciones politicas, de familia, dinero... etc)
y la gente puede comentarlas y votar por ellas.
[hr]
y eso es todo!
el modlog es un log de las acciones de los mod's
y la papelera no es mas que eso :o
el id_mod también linka con la tabla de usuarios smf, pero en estos casos le id_mod suele ser quien acepta los comentarios que requieren moderacion
Este es mi segundo diseño de una bd tan grande así que no me maten!!! el primero fue al finalizar el FP I... y espero ancioso el FP II el año que viene para poder darle mas caña al mysql...
si hay grandes catastrofes en el diseño me pegan un poco y lo corrijo :o
Desde ya mis mas sinceras gracias por el simple hecho de leer esto.
Y si amportan alguna idea será bien recibida y valorada.
Cualquier dato extra que necesiten haganmelo saber!
saludos
nax