Notre application immobilière a une table, Events, qui a historiquement été liée à la table Homes via une colonne Event.homes_id.MySQL/CakePHP DB Design Question
Récemment, pour la première fois, nous avons ajouté un type d'événement qui n'est pas connecté à un domicile, mais un agent immobilier. La question: est-ce une bonne pratique d'ajouter maintenant une colonne realtor_id à la table Events? Quelque chose en moi se rebelle à l'idée d'avoir deux colonnes, home_id et realtor_id pour chaque enregistrement, dont l'un sera toujours nul pour un enregistrement donné. Mon patron dit que c'est efficace et évite les frais généraux de création de nouvelles tables. Quels sont les droits et les torts de cette situation? Un corollaire à la question ci-dessus: une partie de notre réticence à créer de nouvelles tables est le fait que nous utilisons CakePHP, et qu'il devient donc plus difficile d'avoir un contrôle absolu sur plusieurs tables liées via des jointures SQL. (La définition de la propriété récursive de Cake au maximum réduit la vitesse de l'application à une analyse.) Est-ce que, et devrait, travailler avec Cake affecte les considérations de conception de base de données? Ou travaillons-nous simplement avec Cake?
Je ressens votre douleur avec les malheurs récursifs de CakePHP. J'aime le cadre, mais il peut vraiment s'éloigner de vous si vous ne le regardez pas. Cela étant dit, une fois que vous apprenez les joies des jointures ad-hoc dans vos appels de recherche CakePHP, les choses deviennent un peu plus faciles à travailler. – Stephen
Merci les gars pour quelques réponses vraiment intéressantes à la question, couvrant les deux côtés de l'argument - pragmatisme vs faire les choses de manière optimale. Nous avons fini par rester sur la voie pragmatique (coin-coupe?) - espérons qu'il ne nous mord pas dans le derrière à une date ultérieure! – thesunneversets