Page 1 sur 2

table produits / caractéristique technique

Posté : 07 mai 2005, 13:15
par mpl
salut tout le monde :)

je suis dans la conception de ma base de donnée actuellement seulement je rencontre une difficulté...

j'ai une table produits dans laquelle j'ai un id,référence,nom,quantité,prix,date_ajout,description,photo.
seulement je voudrais pouvoir mettre les caractéristiques technique des produits d'une façon différentes...
si je vends un disque dur par exemple les caractéristiques techniques sont celle ci :
- type (interne, externe)
- interface (ide, sata, scsi)
- capacité (40, 60, 80 ...)
- vitesse rpm (7200, 10000, 15000)

si je vends une carte mère cela se présente ainsi :
- socket (A, 939, 754 ...)
- nombre de cpus (1, 2...)
- bus graphique (agp 4x, agp 8x, pci express ...)
- format (atx, ssi meb ...)

comme vous le voyez les caractéristiques techniques sont totalement différentes... comment représenter cela de façon cohérente dans ma base :)

merci !

Posté : 07 mai 2005, 13:21
par Cyrano
Salut,
bien que ce soit un travail de longue haleine, je ferais une liste des différents types de matériels possibles. Ensuite pour chacun des ces types la liste de leurs caractéristiques: partant de là, il faudrait ensuite établir la liste des points communs entre tous qu'on retrouvera dans une table "type_produit" et pour le reste, je dirais qu'un petite table pour chaque type serait nécessaire. C'est la seule manière que je vois pour l'instant d'éviter d'une part les doublons et d'autre part les valeurs NULL.

Posté : 07 mai 2005, 13:28
par mpl
en effet travail de longue haleine vu comme ça ! je m'y attendais un peu.. je cherchais quelque chose d'un peu moins long mais apparemment ... je vais chercher encore un peu sinon je procéderais de cette façon ! merci

Posté : 07 mai 2005, 14:22
par Cyrano
J'ai un copain qui m'avait filé une base de magasin informatique qu'il avait récupéré (malheureusement, je ne l'ai plus) et elle comportait un nombre de table assez conséquent (50 ou 60 si j'ai bonne mémoire). Mais si tu te donnes une convention de nommage correcte et que tu choisis soigneusement tes index, ça peut donner quelque chose de très rapide lors de l'exécution des requêtes..

Posté : 07 mai 2005, 14:36
par mpl
j'espère ! je vais essayer comme ça et on va voir ce que ça donne ;) je te tiens au courant merci !

Posté : 07 mai 2005, 15:03
par mpl
je viens de penser à un truc cyrano... si je fais une fiche technique pour chaque produit que je stocke... (PDF par exemple) et que j'associe cette fiche à mon id produit c'est plus simple nan ?! le seul hic c'est si je veux faire une fontion de filtre pour selectionner le type de matériel... je peux pas :/
je peux seulement faire un tri par prix ou disponibilité au vue de ma base actuel... quel est la meilleur solution ?

Posté : 07 mai 2005, 15:20
par Cyrano
Ton problème sera pas triste quand tu voudras créer les fameux PDF : quelle sera la source de tes informations... si ce n'est la base de données.

J'ai bien peur que tu n'aies pas vraiment le choix. C'est un peu la punition, mais il va falloir te farcir un MCD un peu énorme et la corvée de répertorier toutes tes possibilités. Et malheureusement, tu n'as pas vraiment un choix considérable. Si tu y vas trop vite en faisant rapidement un truc sommaire, la restructuration de la base sera de toutes façons nécessaire: bonjour la galère poure reprendre quand ce sera en fonction.

Posté : 07 mai 2005, 15:54
par mpl
oui t'as raison bon bah je sais ce qu'il me reste à faire :p merci cyrano !

Posté : 07 mai 2005, 18:06
par mpl
je viens de penser à une chose... avec les notions d'héritages j'y arriverais pas mieux ?

Posté : 07 mai 2005, 18:13
par Cyrano
Tu penses à quoi précisément ?

Posté : 07 mai 2005, 19:14
par Invité
pour te donner un exemple voici la notion d'héritage à laquelle je pensais...

je viens juste d'avoir le déclic et ça me simplifierais bcp la tache je crois !

Image

vendu ? :p merci

Posté : 07 mai 2005, 23:35
par Cyrano
Ouais, ça aurait une certaine allure, je ne suis pas assez avancé avec cette technique qui m'a jusqu'à aujourd'hui paru assez absconse :P

Posté : 08 mai 2005, 01:52
par ouckileou
comment tu fais de l'héritage dans une base de données ?

Posté : 08 mai 2005, 09:15
par Cyrano
comment tu fais de l'héritage dans une base de données ?
Ce n'est pas dans la base qu'on fait l'héritage, la notion d'héritage est utilisée en conception de base de données pour établir les relations entre les différentes entités. Le shéma montré par mpl illustre l'héritage. Mais je ne suis pas qualifié pour t'en expliquer le fonctionnement.

Si les mots MCD et MPD te sont inconnus, ce sera encore plus difficile de t'en expliquer le fonctionnement ;) C'est utilisé par exemple avec la méthode MERISE de conception de bases de données.

Posté : 08 mai 2005, 14:07
par ouckileou
pas de soucis, Merise, MCD, héritage et objets je connais

autant au niveau d'un langage comme Java je vois bien, autant je ne vois pas comment appliquer de l'héritage à une base de données en concret d'où ma question