Hola Leo!<br><br><div class="gmail_quote">2010/7/12 Leonardo Tadei - Pegasus Tech Supply <span dir="ltr">&lt;<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>&gt;</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">&gt;<br>
&gt;<br>
&gt; 2010/7/12 Silverzero &lt;<a href="mailto:silverzero.52@gmail.com">silverzero.52@gmail.com</a>&gt;<br>
&gt;         Hola!<br>
&gt;<br>
&gt;         Tengo que normalizar usuarios de un sitio de una ONG, en el<br>
&gt;         que se registran usuarios para publicar y a la vez estos,<br>
&gt;         pueden ser además socios, voluntarios, coordinadores, y/o<br>
&gt;         directivos.<br>
&gt;<br>
&gt;         Para los usuarios regulares los datos requeridos son:<br>
&gt;<br>
&gt;         nombre<br>
&gt;         apellido<br>
&gt;         telefono<br>
&gt;         celular<br>
&gt;         email<br>
&gt;         usuario<br>
&gt;         contraseña<br>
&gt;<br>
&gt;         Para el resto se le suman:<br>
&gt;<br>
&gt;         fecha de nacimiento<br>
&gt;         profesión<br>
&gt;         tipo de documento<br>
&gt;         nro de documento<br>
&gt;         dirección<br>
&gt;         pais<br>
&gt;         ciudad<br>
&gt;         codigo postal<br>
&gt;<br>
&gt;         Ahora mi pregunta es, me conviene hace una tabla con los datos<br>
&gt;         de los usuarios regulares, y otra tabla &quot;datos adicionales&quot;<br>
&gt;         para el resto de los usuarios y después relacionar con otra<br>
&gt;         tabla que estén los tipos de usuario no?<br>
&gt;         Saludos y gracias.<br>
&gt;<br>
&gt; Si, yo lo haria como vos decis. En &quot;datos adicionales&quot; tendrias que<br>
&gt; poner un campo id_usuario, que relacione la tabla &quot;usuarios&quot; y la<br>
&gt; tabla &quot;datos adicionales&quot;. Y la ulitma tabla &quot;relacion_usuario_tipo&quot;<br>
&gt; con los campos: id, id_usuario, id_tipo. Esta ultima tabla es<br>
&gt; necesario solo si un usuario puede tener mas de un &quot;tipo de usuario&quot; a<br>
&gt; la vez. Faltaria tambien la tabla &quot;tipo_usuario&quot; con los campos: id,<br>
&gt; 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 &quot;regulares&quot; si no tienen asociación en la tabla<br>
de &quot;datos extra&quot;, 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 &quot;regulares&quot; 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 &quot;usuarios&quot; 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>
&gt; 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>