Laravel 5

BDD cohérente

  • Avatar de Bn44
    Membre depuis :
    17/03/2016
    Messages :
    18

    Bonjour,

    Tous mes vœux tout d'abord.

    J'ai une question d'organisation bdd de gestion de location. Elle fonctionne mais je pense qu'il est possible de l'améliorer.

    Table :

    • Propriétaires
      Id
      Nom

    • Immobiliers
      Id
      Type
      Adresse
      Surface

    • Lot

    Loyer
    Charges

    • Locataire
      Id
      Nom
      Prenom

    • Baux
      Loc id
      Immobilier id
      Propriétaire id
      Garant id

    En gros je voudrais améliorer pour avoir un nombre illimité de locataires, garants, propriétaire par bail. UUne idée?

    Je ne sais pas trop comment suivre les paiements ensuite.

    Merci

    Ps: le forum bug avec un smartphone. Le refresh plante tout

    bailm

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    1526

    Bonjour,

    Pour avoir plusieurs locataires, garants, propriétaire par bail il ne faut pas mettre les clé étrangères directement dans la table mais passer par une table pivot en créant des relations de type plusieurs à plusieurs. Parce que je suppose qu'un propriétaire peut également posséder plusieurs biens par exemple.

  • Avatar de InformatiqueEurofrance
    Membre depuis :
    29/12/2016
    Messages :
    20

    Ce qui me semble oportun :

    • Une table tiers (un tiers peut être soit un propriétaire, soit un garant, soit un locataire)
    • et 3 tables pivots Baux/Locataire Baux/propriétaire Baux/garant.
  • Avatar de Bn44
    Membre depuis :
    17/03/2016
    Messages :
    18

    La solution de regrouper tous mes contacts dans une table me semble bien sauf qu'elle va nécessiter beaucoup de relations pour afficher chaque couple : locataires / propriétaires / garants non ? D'ailleurs, si je retiens cette solution, que me conseillez-vous pour la colonne catégorie, un ENUM ou bien une autre table (à mon avis, pour le côté requête, le plus simple est dans la table).

    En tout cas merci pour vos deux réponses :-)

  • Avatar de InformatiqueEurofrance
    Membre depuis :
    29/12/2016
    Messages :
    20

    Mon conseil :
    Une table tiers et 3 tables pour les 3 relations Manytomany, pas de champ catégorie. Ça me semble être ce qui prendra au final le moins d'espace disque et permetra les requettes les plus eficaces. Un tiers apartient à une catégorie si il est présent dans la table de croisement correspondante.

  • Avatar de Bn44
    Membre depuis :
    17/03/2016
    Messages :
    18

    Désolé, je suis novice mais à première vue si je fais le schéma d'une table

    Tiers // Un tiers peut être un client, un locataire, un propriétaire, un garant, un fournisseur etc

    • id
    • nom
    • prénom
    • adresse etc

    Locataires

    • id
    • tiers_id

    Proprietaires

    • id
    • tiers_id

    Garants

    • id
    • tiers_id

    Immobiliers // stocke les adresses + surfaces et donnéees "fixes" du bien

    Mandats // stocke les informations de chaque location (loyer, charge, entrée, sortie)

    Baux // Un bail est composé de 1 mandat et 1 ou plusieurs propriétaires, plusieurs garants, plusieurs locataires et

    • id
    • mandat_id
    • tier_id
    • immobilier_id

    Est-ce que ce schéma est bien celui que vous expliquez ? Si oui, au niveau requête, n'est-ce pas plus simple de faire une table catégorie avec un Id, un type (loc, propriétaire, garant) ?

    En tout cas, merci de vos réponses :-)

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    1526

    Bonjour,

    S'il n'y a rien d'autre dans les tables Locataires, Proprietaires... elles sont inutiles et il suffit de prévoir un champ ENUM pour préciser le type.

Vous ne pouvez pas répondre à ce sujet.