Conception d'une base de donnée pour utilisation avec .NET
2 réponses
Gilles TOURREAU
Bonjour tout le monde !
J'ai une base de données à concevoir qui sera utilisée par des applications
web ASP .NET.
Voilà en résumé mon cahier des charges :
- Une société X vend différents produits informatiques.
- Ces produits ont des caractéristiques communes (Dimension, Prix, ...etc),
mais aussi d'autres caractéristiques différents (Fréquence pour un
processeur, Vitesse de rotation pour un disque dur ...etc).
- La société veux pouvoir comparer les caractéristiques d'un type de
produit. (Par ex : comparer les vitesses de rotation des disques dur,...)
TRES IMPORTANT : La société veux utiliser des DataSet typé de .NET
Comment concevoir ce type de base de donnée sachant que les types de
produits peuvent changer ?
Les solutions que j'ai trouvé sont les suivantes :
Solution n°1 :
- Table TypeProduit.
- Table Produit (avec autant de colonne que de caractéristique différentes)
AVANTAGE : On peut ajouter un type de produit à sa guise...
INCONVENIENT : Cette solution entraine une table Produit importante (j'ai
recensé 300 colonnes différentes), et la manipulation des données risques
d'être fastidieuse. De plus la quantité de place utilisée est trop
importante...
Solution n°2 :
- Table TypeProduit
- Table ProduitCommun (Contient uniquement les caractéristiques communes des
produits. Prix, dimensions,...etc)
- Table InfoDisque (Caractéristiques spécifiques aux disques durs)
- Table InfoProc (Caractéristiques spécifiques aux processeurs)
- Table InfoXXXX (Caractéristiques spécifiques aux type de produits XXXXX)
- ....
AVANTAGE : Optimise l'espace disque
INCONVENIENT : A chaque ajout de type de produit il faut créer une table...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles TOURREAU
JustMe a utilisé son clavier pour écrire :
Gilles TOURREAU a exposé le 26/03/2006 :
Bonjour tout le monde !
J'ai une base de données à concevoir qui sera utilisée par des applications web ASP .NET. Voilà en résumé mon cahier des charges :
- Une société X vend différents produits informatiques. - Ces produits ont des caractéristiques communes (Dimension, Prix, ...etc), mais aussi d'autres caractéristiques différents (Fréquence pour un processeur, Vitesse de rotation pour un disque dur ...etc). - La société veux pouvoir comparer les caractéristiques d'un type de produit. (Par ex : comparer les vitesses de rotation des disques dur,...) TRES IMPORTANT : La société veux utiliser des DataSet typé de .NET
Comment concevoir ce type de base de donnée sachant que les types de produits peuvent changer ?
Les solutions que j'ai trouvé sont les suivantes :
Solution n°1 : - Table TypeProduit. - Table Produit (avec autant de colonne que de caractéristique différentes)
AVANTAGE : On peut ajouter un type de produit à sa guise... INCONVENIENT : Cette solution entraine une table Produit importante (j'ai recensé 300 colonnes différentes), et la manipulation des données risques d'être fastidieuse. De plus la quantité de place utilisée est trop importante...
Solution n°2 : - Table TypeProduit - Table ProduitCommun (Contient uniquement les caractéristiques communes des produits. Prix, dimensions,...etc) - Table InfoDisque (Caractéristiques spécifiques aux disques durs) - Table InfoProc (Caractéristiques spécifiques aux processeurs) - Table InfoXXXX (Caractéristiques spécifiques aux type de produits XXXXX) - ....
AVANTAGE : Optimise l'espace disque INCONVENIENT : A chaque ajout de type de produit il faut créer une table...
Quel solution me conseillerez-vous ?
Cordialement
Et pourquoi pas *une* table des propriétés avec type/valeur ?
C'est ce que j'avais pensé, mais cela risque de ne pas trop complexifier les requêtes ? Comment pourra-t-on faire pour récuperer en SQL les caractéristiques d'un produit ?
Cordialement
-- Gilles TOURREAU Responsable informatique
Société P.O.S Spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
JustMe a utilisé son clavier pour écrire :
Gilles TOURREAU a exposé le 26/03/2006 :
Bonjour tout le monde !
J'ai une base de données à concevoir qui sera utilisée par des applications
web ASP .NET.
Voilà en résumé mon cahier des charges :
- Une société X vend différents produits informatiques.
- Ces produits ont des caractéristiques communes (Dimension, Prix, ...etc),
mais aussi d'autres caractéristiques différents (Fréquence pour un
processeur, Vitesse de rotation pour un disque dur ...etc).
- La société veux pouvoir comparer les caractéristiques d'un type de
produit. (Par ex : comparer les vitesses de rotation des disques dur,...)
TRES IMPORTANT : La société veux utiliser des DataSet typé de .NET
Comment concevoir ce type de base de donnée sachant que les types de
produits peuvent changer ?
Les solutions que j'ai trouvé sont les suivantes :
Solution n°1 :
- Table TypeProduit.
- Table Produit (avec autant de colonne que de caractéristique différentes)
AVANTAGE : On peut ajouter un type de produit à sa guise...
INCONVENIENT : Cette solution entraine une table Produit importante (j'ai
recensé 300 colonnes différentes), et la manipulation des données risques
d'être fastidieuse. De plus la quantité de place utilisée est trop
importante...
Solution n°2 :
- Table TypeProduit
- Table ProduitCommun (Contient uniquement les caractéristiques communes
des produits. Prix, dimensions,...etc)
- Table InfoDisque (Caractéristiques spécifiques aux disques durs)
- Table InfoProc (Caractéristiques spécifiques aux processeurs)
- Table InfoXXXX (Caractéristiques spécifiques aux type de produits XXXXX)
- ....
AVANTAGE : Optimise l'espace disque
INCONVENIENT : A chaque ajout de type de produit il faut créer une table...
Quel solution me conseillerez-vous ?
Cordialement
Et pourquoi pas *une* table des propriétés avec type/valeur ?
C'est ce que j'avais pensé, mais cela risque de ne pas trop
complexifier les requêtes ?
Comment pourra-t-on faire pour récuperer en SQL les caractéristiques
d'un produit ?
J'ai une base de données à concevoir qui sera utilisée par des applications web ASP .NET. Voilà en résumé mon cahier des charges :
- Une société X vend différents produits informatiques. - Ces produits ont des caractéristiques communes (Dimension, Prix, ...etc), mais aussi d'autres caractéristiques différents (Fréquence pour un processeur, Vitesse de rotation pour un disque dur ...etc). - La société veux pouvoir comparer les caractéristiques d'un type de produit. (Par ex : comparer les vitesses de rotation des disques dur,...) TRES IMPORTANT : La société veux utiliser des DataSet typé de .NET
Comment concevoir ce type de base de donnée sachant que les types de produits peuvent changer ?
Les solutions que j'ai trouvé sont les suivantes :
Solution n°1 : - Table TypeProduit. - Table Produit (avec autant de colonne que de caractéristique différentes)
AVANTAGE : On peut ajouter un type de produit à sa guise... INCONVENIENT : Cette solution entraine une table Produit importante (j'ai recensé 300 colonnes différentes), et la manipulation des données risques d'être fastidieuse. De plus la quantité de place utilisée est trop importante...
Solution n°2 : - Table TypeProduit - Table ProduitCommun (Contient uniquement les caractéristiques communes des produits. Prix, dimensions,...etc) - Table InfoDisque (Caractéristiques spécifiques aux disques durs) - Table InfoProc (Caractéristiques spécifiques aux processeurs) - Table InfoXXXX (Caractéristiques spécifiques aux type de produits XXXXX) - ....
AVANTAGE : Optimise l'espace disque INCONVENIENT : A chaque ajout de type de produit il faut créer une table...
Quel solution me conseillerez-vous ?
Cordialement
Et pourquoi pas *une* table des propriétés avec type/valeur ?
C'est ce que j'avais pensé, mais cela risque de ne pas trop complexifier les requêtes ? Comment pourra-t-on faire pour récuperer en SQL les caractéristiques d'un produit ?
Cordialement
-- Gilles TOURREAU Responsable informatique
Société P.O.S Spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Gilles TOURREAU
MaXX avait prétendu :
Gilles TOURREAU wrote:
JustMe a utilisé son clavier pour écrire :
Gilles TOURREAU a exposé le 26/03/2006 : [...]
Comment concevoir ce type de base de donnée sachant que les types de produits peuvent changer ? Les solutions que j'ai trouvé sont les suivantes : [solution 1&2] AVANTAGE : Optimise l'espace disque INCONVENIENT : A chaque ajout de type de produit il faut créer une table... Quel solution me conseillerez-vous ?
Et pourquoi pas *une* table des propriétés avec type/valeur ?
C'est ce que j'avais pensé, mais cela risque de ne pas trop complexifier les requêtes ? Pas énormément... Comment pourra-t-on faire pour récuperer en SQL les caractéristiques d'un produit ?
Données: Table produits (id int,valeur text) Table caracteristiques (prod_id int reference produits.id, type text, valeur text)
select caracteristiques.type, caracteristiques.valeur from carateristiques where produits.id=3
Désolé je n'ai as le temps d'argumenter plus maintenant, mais voilà une piste...
Merci pour ta réponse, mais comment faire pour récuperer les caractéristiques par colonne...
T'as solution permet de récuperer les caractéristiques comme ceci :
Seulement moi j'aurais voulu comme ceci : fréquence Marque Type ---------- ------ ---- 4.2 Ghz Intel 64-bit
Peut-on le faire avec une requête SQL ?
Cordialement
-- Gilles TOURREAU Responsable informatique
Société P.O.S Spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
MaXX avait prétendu :
Gilles TOURREAU wrote:
JustMe a utilisé son clavier pour écrire :
Gilles TOURREAU a exposé le 26/03/2006 : [...]
Comment concevoir ce type de base de donnée sachant que les types de
produits peuvent changer ?
Les solutions que j'ai trouvé sont les suivantes : [solution 1&2]
AVANTAGE : Optimise l'espace disque
INCONVENIENT : A chaque ajout de type de produit il faut créer une
table...
Quel solution me conseillerez-vous ?
Et pourquoi pas *une* table des propriétés avec type/valeur ?
C'est ce que j'avais pensé, mais cela risque de ne pas trop
complexifier les requêtes ? Pas énormément...
Comment pourra-t-on faire pour récuperer en SQL les caractéristiques
d'un produit ?
Données:
Table produits (id int,valeur text)
Table caracteristiques (prod_id int reference produits.id, type text, valeur
text)
select caracteristiques.type, caracteristiques.valeur from carateristiques
where produits.id=3
Désolé je n'ai as le temps d'argumenter plus maintenant, mais voilà une
piste...
Merci pour ta réponse, mais comment faire pour récuperer les
caractéristiques par colonne...
T'as solution permet de récuperer les caractéristiques comme ceci :
Comment concevoir ce type de base de donnée sachant que les types de produits peuvent changer ? Les solutions que j'ai trouvé sont les suivantes : [solution 1&2] AVANTAGE : Optimise l'espace disque INCONVENIENT : A chaque ajout de type de produit il faut créer une table... Quel solution me conseillerez-vous ?
Et pourquoi pas *une* table des propriétés avec type/valeur ?
C'est ce que j'avais pensé, mais cela risque de ne pas trop complexifier les requêtes ? Pas énormément... Comment pourra-t-on faire pour récuperer en SQL les caractéristiques d'un produit ?
Données: Table produits (id int,valeur text) Table caracteristiques (prod_id int reference produits.id, type text, valeur text)
select caracteristiques.type, caracteristiques.valeur from carateristiques where produits.id=3
Désolé je n'ai as le temps d'argumenter plus maintenant, mais voilà une piste...
Merci pour ta réponse, mais comment faire pour récuperer les caractéristiques par colonne...
T'as solution permet de récuperer les caractéristiques comme ceci :