Bonjour,
Je suis en train de développer une gestion commerciale avec vb.net et sql server 2008 express.
Je souhaite créer une procédure stockée qui converti un devis en commande puis en bon de préparation, puis en bon de livraison, puis en facture. Je me demande comment structurer au mieux ma base :
1) solution 1
Je fais autant de table que d'étapes avec mes entêtes et mes lignes que je répètes à chaque fois
- devisEntete (1 compteur pour une clé unique => N° de devis)
- devisLignes
- prepaEntete (1 compteur pour une clé unique => N° du bon de prépa)
- prepaLignes
- blEntete (1 compteur pour une clé unique => N° du bl)
- blLignes
- factureEntete (1 compteur pour une clé unique => N° de la facture)
- factureLignes
Le problème c'est que je vais faire beaucoup de jointures pour rapprocher toute ces étapes ce qui va ralentire l'affichage des informations (il y aura plus d'une centaine de devis par jour). De plus il faudra plus tard que je crais un procédure stockés pour archiver les "ventes" et ça sera plus simple si il n'y a que deux tables (les entêtes et les lignes).
2) Solution 2
Faire une seule table pour les entêtes et une autres pour les lignes avec tous les champs nécessaire (champs des devis, bon de prépa, bon de commande, bl, facture). Le problème c'est que je vais devoir créer plusieurs compteurs pour une même table (par exemple le numero de devis et le numero de bon de commande). Et je ne vois pas comment faire (mis à part créer une table compteurs à incérmenter à chaque fois).
Qu'en pensez-vous ? Vous me conseillerez quelle méthode pour stocker les ventes ?
Merci d'avance !
Partager