Hola Leo!<br><br><div class="gmail_quote">2010/7/12 Leonardo Tadei - Pegasus Tech Supply <span dir="ltr"><<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Buenas,<br>
<br>
El lun, 12-07-2010 a las 08:36 -0300, Gerardo Valiani escribió:<br>
<div><div></div><div class="h5">><br>
><br>
> 2010/7/12 Silverzero <<a href="mailto:silverzero.52@gmail.com">silverzero.52@gmail.com</a>><br>
> Hola!<br>
><br>
> Tengo que normalizar usuarios de un sitio de una ONG, en el<br>
> que se registran usuarios para publicar y a la vez estos,<br>
> pueden ser además socios, voluntarios, coordinadores, y/o<br>
> directivos.<br>
><br>
> Para los usuarios regulares los datos requeridos son:<br>
><br>
> nombre<br>
> apellido<br>
> telefono<br>
> celular<br>
> email<br>
> usuario<br>
> contraseña<br>
><br>
> Para el resto se le suman:<br>
><br>
> fecha de nacimiento<br>
> profesión<br>
> tipo de documento<br>
> nro de documento<br>
> dirección<br>
> pais<br>
> ciudad<br>
> codigo postal<br>
><br>
> Ahora mi pregunta es, me conviene hace una tabla con los datos<br>
> de los usuarios regulares, y otra tabla "datos adicionales"<br>
> para el resto de los usuarios y después relacionar con otra<br>
> tabla que estén los tipos de usuario no?<br>
> Saludos y gracias.<br>
><br>
> Si, yo lo haria como vos decis. En "datos adicionales" tendrias que<br>
> poner un campo id_usuario, que relacione la tabla "usuarios" y la<br>
> tabla "datos adicionales". Y la ulitma tabla "relacion_usuario_tipo"<br>
> con los campos: id, id_usuario, id_tipo. Esta ultima tabla es<br>
> necesario solo si un usuario puede tener mas de un "tipo de usuario" a<br>
> la vez. Faltaria tambien la tabla "tipo_usuario" con los campos: id,<br>
> tipo.<br>
<br>
</div></div> Yo al id_usuario lo dejaría siempre en la tabla de Usuarios... de otra<br>
forma, los usuarios son "regulares" si no tienen asociación en la tabla<br>
de "datos extra", y hacer querys con IF adentro si bien se puede,<br>
debería ser para resolver un problema puntual, y no algo ya planteado<br>
desde el diseño.<br></blockquote><div><br>Originalmente los hice así, pero me pareció que estaba mal porque la proporción de "regulares" siempre sería mucho mayor que el resto, e imaginé que tener muchos campos vacíos en la tabla era algo que ineficiente.<br>
<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
El enfoque simple de esto es tener todos los datos en la misma tabla, y<br>
estarán vacíos los adicionales en los registros que el tipo de usuario<br>
represente a los regulares.<br>
<br>
El enfoque de diseño me parece que es tener usuarios por un lado, y por<br>
otro roles en la ONG, de manera que luego puedan asociarse usuarios con<br>
su rol o roles en la misma. Por lo que contás, podrían usar todos la<br>
misma tabla para los roles, ya que comparten los datos.<br></blockquote><div><br>Entonces lo dejo como estaba, con las tablas usuarios, tipos_de_usuario y la la relación entre estos.<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
(estos merengues pasan por pensar en "usuarios" en vez de pensar en que<br>
función tienen dentro del sistema como entidades... la palabra usuario<br>
es demasiado genérica para decir algo útil!!! )<br></blockquote><div><br>siii! jaja sabía que me ibas a decir algo de la palabra usuarios! pero no se me ocurrió otra forma de llamarlos...!<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
> Saludos!<br>
<br>
=mente!<br></blockquote><div> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<font color="#888888"><br>
--<br>
<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
<a href="http://blog.pegasusnet.com.ar" target="_blank">http://blog.pegasusnet.com.ar</a><br>
Firma pública: <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
Php-avanzado mailing list<br>
<a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
<a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Carolina Derromediz<br>