elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  La mejor forma de hacerlo? (no se que titulo ponerle)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: La mejor forma de hacerlo? (no se que titulo ponerle)  (Leído 1,866 veces)
Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
La mejor forma de hacerlo? (no se que titulo ponerle)
« en: 21 Agosto 2009, 23:50 pm »

buenas, estoy desarrollando un proyecto bajo PHP (antiormente hable de el) y el tema es que me topé con una duda de como hacer lo siguiente:

Tengo un conjunto de módulos los cuales pueden necesitar sus propias tablas en la base de datos, el tema es que cada uno de estos módulos puede tener múltiples instancias (algo así como: blog de pepito, blog de josesito), pero en si, el código que maneja el módulo "blog" es uno solo, entonces mi duda es como crear esas tablas en la base de datos:

1º Una única tabla con un identificador de instancia (1 petito, 2 josesito), el tema de esta opción es que siquiero borrar un determinado blog, tendría que hacer todo un laburo extra para eliminar unicamente las entras del X blog, y si ya no hay instancias, borrar toda la tabla...

2º Una tabla por instancia cuyo nombre esté relacionada con el nombre de esta (blog_pepito,blog_josesito), con esta opcion desaparecen las complicaciones anteriores pero aparece la complicación de mantener ese nombre de tabla en algún lado (en mi caso tengo a dispoción "variables del módulo"), pero si dicha "variable" por alguna razón desaparece (o se borra) perdería la relación con la base de datos...

3º Una tabla por instancia cuyo nombre esté relacionado con el módulo/instancia (blog_1,blog_2), con esta otra opción desaparecen las complicaciones de las anteriores pero se dificulta la lectura de la base de datos... (en realidad me parece un poco complicada...)

bueno... espero se entienda la idea y me dén alguna opinión...

S2


« Última modificación: 21 Agosto 2009, 23:56 pm por Karman » En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: La mejor forma de hacerlo? (no se que titulo ponerle)
« Respuesta #1 en: 22 Agosto 2009, 09:54 am »

Yo personalmente haría una tabla blog y ahí insertaría un campo idusuario por ejemplo. No es tan complicado borrar los datos, solo tendrías que hacer.

DELETE FROM blog WHERE idusuario=$idusuario;

Con eso ya borrarías todas las entradas de ese usuario. Si esa tabla la tienes relacionada con otras tablas más y ese es tu problema lo que deberías hacer es utilizar el motor INNODB para las tablas y usar los eventos. ON_DELETE_CASCADE y ON_UPDATE_CASCADE

Así se actualizarán y borrarán todas las entradas que estén relacionadas con la tabla blog con sólo dar la orden de borrado o actualización a la tabla blog.

Un saludo!


En línea

NXS

Desconectado Desconectado

Mensajes: 31


Ver Perfil WWW
Re: La mejor forma de hacerlo? (no se que titulo ponerle)
« Respuesta #2 en: 22 Agosto 2009, 16:58 pm »

Me equivoque de sitio posteando xD
« Última modificación: 22 Agosto 2009, 17:13 pm por nxs » En línea

Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
Re: La mejor forma de hacerlo? (no se que titulo ponerle)
« Respuesta #3 en: 22 Agosto 2009, 18:21 pm »

si, creo que al final lo voy ha hacer así nomás... en realidad así lo tenía hecho, pero me quedó la duda de si no había una "mejor" forma de hacerlo...

S2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mejor forma de almacenamiento SqlServer
.NET (C#, VB.NET, ASP)
neoncyber 2 2,348 Último mensaje 10 Mayo 2011, 23:05 pm
por neoncyber
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines