1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Duda con modelamiento de base de datos

Tema en 'Programación y Diseño Web' iniciado por jamc17, 29 Oct 2008.

  1. jamc17

    jamc17 Nuevo usuario

    Hola amigos, espero que esten bien,

    bueno les comento mi problema. Estoy realizando un diagrama de clases y me encuentro por ejemplo que defino una clase persona con los atributos nombre, apellido, fechaNacimiento, Direccion (Pueden ir más) la clase persona es una superclase de las subclases escritor, editor y admin en estas clases no puedo encontrar atributos propios a cada una pero si operaciones o métodos (como por ejeplo escribir noticia para los escritores, publicar noticia para los editores, etc) osea que para programarlo con php tendria metodos "mejor definidos"

    Cuando voy a realizar mi diagrama entidad relacion y luego mi base de datos; ¿como modelo eso? me creo cuatro tablas distintas (persona, editor, escritor, admin) o solo una. Yo supongo que deben ser cuatro pero ¿Que atributos coloco en las otras? por otro lado podria hacerlo con una tabla por ejemplo persona o usuario que pude tener ademas un campo tipo, y ademas una tabla tipo con una estructura mas o menos como esta.

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->

    Tabla TIPO
    ------------+---------------
    |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| Descripcion
    ------------+---------------
    |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;Admin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;Editor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;Escritor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    +----------+--------------+

    <!--c2--></div><!--ec2-->

    O es que en el momento de programarlo me creo la clase persona como superclase y tambien me creo las clases hijas para así aprovechar mejor los metodos de cada uno de ellos pero en la base de datos solo me creo una tabla para persona y otra para tipo.

    Si así fuera no tiene "nada de malo" lo que pasa es que es para un trabajo de la Universidad y no se si esta bien hacer eso.


    Espero me puedan dar algunos consejos......
     
  2.  
  3. Logus

    Logus Guest

    Es bases de datos lo importante es respetar las relaciones "uno a muchos", "muchos a uno" y tener solo una tabla con personas y otra con los tipos es lo mas adecuado, ambas relacionadas por el id_tipo. Mas alla de eso para trabajar con clases en PHP tendrias que usar MYSQL Object, aunque francamente yo prefiero mi MySQL Fetch Array.
    En la UNSA aun no llegan a PHP aun siguen en el viejo C++ (no le tengo bronca al C pero el futuro y presente es la web). ¿Que universidad eres?
     
  4. jamc17

    jamc17 Nuevo usuario

    Hola gracias logus, por la respuesta,
    Cuando me referia a las clases no me referia a eso sino a la implementacion de clases en php.

    class persona(){
    private name,
    private apellidos,

    public function setname(){
    ....
    }

    }



    y cosas así en donde al especificar clase escritor, editor admin los metodos para cada una serian mas especificos y no muchos metodos en una sola clase persona

    bueno soy de la Universidad Nacional de Cajamarca
     
  5. phpninja

    phpninja Nuevo usuario

    Yo de ti pondria una nueva variable que fuera tipo. Con lo que cada clase persona ya tendria un parametro implicito tipo. Siendo tipo un valor que hace referencia a otra tabla donde tienes la relacion id_tipo => tipo


    Php Ninja - Ingenieria Web
    http://www.phpninja.info
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·