IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 SGBD Discussion :

Construction d'une table pour catégories et sous-catégories


Sujet :

SGBD

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2015
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Construction d'une table pour catégories et sous-catégories
    Bonsoir,

    Je dois classer des pièces détachées de matériel informatique en rubrique et sous-rubrique,
    exemple : BACKOFFICE -> ORDINATEUR -> HP -> HP5750 -> RAM -> BARETTES 512 Mo

    (...) Je ne vois pas comment structurer mes différentes tables pour stocker toutes les sous catégories.

    Une fois créer, comment doit être ma requête pour tout stocker/afficher dans un tableau php ?

    Merci à vous !

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Dans votre exemple, les catégories sont, pour la plupart, pas de simple catégories : on y trouve des marques, des types de composants, etc.

    Par conséquent, au niveau modélisation, votre modèle sera certainement un peu plus complexe que ça.

    Si vraiment le type de catégorie n'a aucune importante (pas de critères différents que ce soit un niveau "marque" ou un niveau "type de matériel") alors à ce moment, vous pouvez utiliser une simple table qui se référence elle-même.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    create table categorie
    (
        id int identity not null primary key,
        libelle varchar(30) not null,
        parent_id null references categorie(id)
    )

    Puis vous n'aurez plus qu'à lier vos produits à la catégorie de niveau le plus fin.

    Et pour reconstituer l'arborescence, une simple CTE récursive permettra de la consulter.
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2015
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci pour la réponse, je ne comprends pas très bien le fonctionnement,
    j'ai voulu créer une table pour tester , mais j'ai une erreur :

    MySQL a répondu: Documentation

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identity not null primary key,
    libelle varchar(30) not null,
    parent_id' at line 3
    Merci d'avance

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    identity n'est pas un terme SQL reconnu par MySQL
    => Je te laisse adapter pour utiliser la numérotation auto de MySQL

    Attention cependant : MySQL ne supporte pas les CTE récursives.
    Donc autant la modélisation ne posera pas de souci, autant le requêtage va en poser.

    Visiblement, il y a moyen en utilisant une syntaxe spécifique MySQL :
    http://stackoverflow.com/questions/2...ecursive-query
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. [XL-2007] Attribuer une cellule après un choix de catégorie et sous catégorie.
    Par Lepetitlezard51 dans le forum Excel
    Réponses: 0
    Dernier message: 02/12/2014, 15h31
  2. relation entre une table pour plusieurs sous tables
    Par nicolovitch dans le forum Access
    Réponses: 2
    Dernier message: 15/07/2006, 20h03
  3. Mise à jour d'une table à partir d'un sous formulaire
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 02/11/2005, 20h07
  4. Utulisation d'une table pour les jointure ( probleme )
    Par Boumeur dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/04/2005, 15h21
  5. Nom de Champ dans une table pour utiliser For/Next
    Par Mulele dans le forum Access
    Réponses: 6
    Dernier message: 30/10/2004, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo