Nueva pregunta

Pregunta:

Fecha: 21-01-2015 06:55:17 (En Español)

¿Puedo relacionar las tablas de mi base de datos por medio de código PHP? (sin hacer relaciones por el sistema de gestión de base de datos)[Resuelta]

Espero que me ayuden con esta duda que tengo, ya que estoy realizando un pequeño sistema de facturacion con tecnologia php, js, mysql, css.
Saludos a todos, muchas gracias de ante mano.
Etiquetas: Base de Datos - MySQL - MySQL Desarrollo - PHP - Pregunta Votos: 1 - Respuestas: 3 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 21-01-2015 08:58:22 Eso es lo mas tonto que puedes hacer, te vas a complicar la vida, ya que toda la lógica de negocios debe primero estar desarrollada en la base de datos, es decir, la base de datos debe funcionar sólita y después le aplicas la capa de programación...   Votos: 0 - Link respuesta
     
  • Fecha: 27-01-2015 08:31:43 Faustino, lamento disentir contigo, mi historia como desarrollador comenzo con las bases de datos como DBA, luego arquitecto de bases de datos y finalmente desarrollador de app's. He tenido acaloradas reuniones donde se discutian temas de este tipo y no siempre fue la mejor opción bajar la lógica de negocio a la base de datos (es decir, stores procedures y funciones), hubo otros casos que si, pero siempre dependió del proyecto/funcionalidad.....

    En reglas generales yo prefiero consevar la lógica de negocio en los objetos (cuando realizo programación orientada a objetos), de hecho tengo una capa de objetos que son los business objects y ahí es donde quedan encapsuladas todas las reglas.

    Volviendo a la pregunta de Eduard, si, puedes relacionar tablas en memoria con PHP, pero no serán tablas, sino arrays u objetos de PHP. Para realizar esta tarea tienes que leer sobre los operadores para arrays, aquí te dejo el enlace a la documentación oficial http://php.net/manual/es/language.operators.array.php

    Y también puedes leer sobre funciones para el manejo de arrays, aquí te dejo el enlace a la documentación oficial donde se listan todas las funciones disponibles http://php.net/manual/es/ref.array.php , presta principal atención a las funciones:

    array_diff //Calcula la diferencia entre arrays
    array_combine //Crea un nuevo array, usando una matriz para las claves y otra para sus valores
    array_merge_recursive //Une dos o más arrays recursivamente
    array_merge //Combina dos o más arrays
    array_unique //Elimina valores duplicados de un array
    


    Por otro lado, hablando de buenas prácticas, siempre que puedas traer los datos procesados o preprocesados desde la base de datos será una mejor idea.
    No olvides que trabajar con los datos en PHP (transformandolos, combinandolos, ordenandolos, etc.) consume memoria RAM, la cual suele ser un recurso limitado.

    Espero que mi respuesta te sea de ayuda, saludos.

    PD: muchas gracias por tomarte el tiempo y ajustar tu pregunta, karma+ ;-)
      Votos: 0 - Link respuesta
     
  • Fecha: 27-01-2015 10:40:00 Uno de los problemas de bajar la lógica de negocios a la base de datos es que vuelves tu aplicación dependiente del motor de base de datos que utilizas.

    Complementando lo que menciona Fernando puedes utilizar un ORM como Doctrine. Ya después en tu aplicación puedes usar marshallers, servicios, DAO's y DTO's para manipular la respuesta.

    Ten presente que si no usas relaciones entonces tu BD no tendrá integridad referencial. También esto puede definir si utilizas un motor diferente, por ejemplo MyISAM en lugar de InnoDB.
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com