Bonjour,
j'ai choisi de poster ma question ici plutot que dans l'un des forums dédiés aux SGBD en général.
J'essaye de concevoir une appli qui gère une collection principale ( de cartes ) avec des prix, et des collections utilisateurs.
Ma base de données tourne sur un SQL srv 2008.
Les utilisateurs peuvent m'envoyer leur collection, format CSV, pour que l'appli enregistre leur propre collection avec les prix associés.
Il faut savoir qu'il existe plus de 19000 cartes dans la collection totale du site, et qu'un utilisateur possède en moyenne une collection d'un millier de cartes.
Voila pour la partie présentation succinte des fonctionnalités de mon appli web.
Ma problématique est la suivante : je cherche à connaitre le meilleur moyen de stocker la collection que l'utilisateur m'envoie, en termes de performances, sachant que l'appli pourra théoriquement accueillir des milliers de collections utilisateurs.
J'ai pensé à :
- créer une table dans ma base SQL par utilisateur (Tbl_Collections_USER), contenant les colonnes Cartes(Item_ID), Prix(Item_Price), et Quantité (Qty)
- créer une Table Collections, contenant les colonnes Utilisateur(User_ID), Cartes(Item_ID), Prix(Item_Price) et Quantity (Qty)
- générer un fichier xml dans le système de fichiers de l'appli par utilisateur.
Ces 3 méthodes possèdent leurs avantages et leurs inconvénients.
Si la 1ere solution est retenue, je ne connais pas l'impact d'avoir des milliers de tables dans ma base SQL en terme de performances, mais elle reste la plus pratique pour le tri et l'accès aux données.
La 2eme solution ne m'enchante pas trop car je me retrouverais avec une table 'fourre-tout', ayant le schéma suivant :
User_Id Item_ID Item_Price Qty
24 4521 3.25 2
24 11771 0.75 4
31 5464 1.00 4
24 18345 3.00 2
71 ... .. ..
Pour la génération d'un fichier XML, je ne sais pas trop.
J'avais pensé à une autre solution qui était de stocker la collection dans une string de ce type StrCollection = "(4521,3.25,2 ; 11771,0.75,4 ; ... )" et de stocker cette string dans une table de ce type:
User_ID Collection
24 $$StrCollection$$
Dernière précision, un utilisateur ne peut avoir qu'une seule collection
J'espère avoir été clair dans l'exposé de mon projet et de ma problématique, merci de votre aide![]()
Partager