la table article c'est bon.
La table client ne doit contenir que les infos clients, (nom, prenom, adresse, tel etc).
il faut donc une table de liaison entre les deux.
après il faut voir comment tu considère la chose, mais perso je ferais une table prêt et une table pour les ventes / commandes réelles.
après il est possible de se dire qu'il peux y avoir des retours sur une commande et du coup n'avoir qu'une commande avec la référence vers x articles et à la finalisation supprimer les articles qui ne sont pas gardés au final par le client.
Dans le cas de la table prêt
idpret : clef primaire
idclient: référence la clef primaire de la table client
idArticle : idem pour la table article. Attention ceci peux très bien être le numéro de l'article, du moment que c'est unique dans la table article. généralement on préfère un entier qui sert de clef technique (l'argument derrière c'est de meilleur perf sur l'indexation et la recherche sur un entier).
datePret : champ de type date (pratique pour suivre la chose
dateRetour : ce champ est null tant que l'article n'est pas rendu
si tu prête plusieurs article du même type alors une colonne quantité (mais a priori c'est des pièces unique donc inutile dans ce cas).
avec un select sur cette table tu sais ce que tu as prêté, à qui et quand (et surtout s'il l'a rendu

).
pour la commande / vente j'ai donné l'exemple avec deux tables (important) dans mon premier message.
si tu couple tous cela tu as une structure de base de données relativement efficace et souple.
Coté IHM tu peux, indépendamment, afficher la liste des prêts (complète ou en cours) ainsi que la liste des commandes.
Il est aussi relativement simple de créer une fonction pour transformer un prêt en commande / vente.
et du coup c'est aussi souple coté front
@+
la table article c'est bon.
La table client ne doit contenir que les infos clients, (nom, prenom, adresse, tel etc).
il faut donc une table de liaison entre les deux.
après il faut voir comment tu considère la chose, mais perso je ferais une table prêt et une table pour les ventes / commandes réelles.
après il est possible de se dire qu'il peux y avoir des retours sur une commande et du coup n'avoir qu'une commande avec la référence vers x articles et à la finalisation supprimer les articles qui ne sont pas gardés au final par le client.
Dans le cas de la table prêt
idpret : clef primaire
idclient: référence la clef primaire de la table client
idArticle : idem pour la table article. Attention ceci peux très bien être le numéro de l'article, du moment que c'est unique dans la table article. généralement on préfère un entier qui sert de clef technique (l'argument derrière c'est de meilleur perf sur l'indexation et la recherche sur un entier).
datePret : champ de type date (pratique pour suivre la chose
dateRetour : ce champ est null tant que l'article n'est pas rendu
si tu prête plusieurs article du même type alors une colonne quantité (mais a priori c'est des pièces unique donc inutile dans ce cas).
avec un select sur cette table tu sais ce que tu as prêté, à qui et quand (et surtout s'il l'a rendu ;) ).
pour la commande / vente j'ai donné l'exemple avec deux tables (important) dans mon premier message.
si tu couple tous cela tu as une structure de base de données relativement efficace et souple.
Coté IHM tu peux, indépendamment, afficher la liste des prêts (complète ou en cours) ainsi que la liste des commandes.
Il est aussi relativement simple de créer une fonction pour transformer un prêt en commande / vente.
et du coup c'est aussi souple coté front :)
@+