Maison > Article > base de données > Compétences en conception de tables de classification pour le système d'épicerie dans MySQL
Conseils pour concevoir des tables de classification pour les systèmes d'achats alimentaires dans MySQL
Introduction :
Dans le processus d'achat de nourriture, la classification est très importante. Pour un système de courses alimentaires, la conception du tableau de classification est une étape très critique. Cet article présentera les techniques de conception de la table de classification du système d'épicerie dans MySQL et fournira des exemples de code spécifiques.
1. Analyser les exigences
Avant de concevoir le tableau de classification, nous devons analyser les exigences et déterminer la structure hiérarchique et les attributs de la classification. Pour un système de courses alimentaires, les catégories pouvant être considérées comprennent : les ingrédients, la vaisselle, les ustensiles de cuisine, etc. Ces catégories peuvent être subdivisées. Par exemple, les ingrédients peuvent être divisés en légumes, fruits, viande, etc. Sur cette base, nous pouvons déterminer les champs de la table de classification, tels que l'ID de classification, le nom de la classification, l'ID de classification parent, etc.
2. Table de catégorie de conception
Catégorie CREATE TABLE (
category_id
INT(11) NOT NULL AUTO_INCREMENT,category_id
INT(11) NOT NULL AUTO_INCREMENT,
category_name
VARCHAR(50) NOT NULL,
parent_id
INT(11) DEFAULT NULL,
PRIMARY KEY (category_id
),
INDEX idx_parent_id
(parent_id
),
FOREIGN KEY (parent_id
) REFERENCES category
(category_id
category_name
VARCHAR(50) NOT NULL,
parent_id
INT(11) DEFAULT NULL,
category_id
), INDEX idx_parent_id
(parent_id
),
parent_id
) RÉFÉRENCES category
(category_id
)
3. Insérer des données catégorielles
INSERT INTO catégorie (category_name, parent_id) VALUES ('ingredients', NULL);
INSERT INTO catégorie (category_name, parent_id) VALUES ('legumes', 1);
INSERT INTO catégorie ( nom_catégorie, identifiant_parent) VALEURS ('Fruit', 1);
INSÉRER DANS la catégorie (nom_catégorie, identifiant_parent) VALEURS ('Viande', 1);
INSÉRER DANS la catégorie (nom_catégorie, identifiant_parent) VALEURS ('Plats', NULL); INSERT INTO catégorie (category_name, parent_id) VALUES ('Cuisine du Sichuan', 5);
INSERT INTO catégorie (category_name, parent_id) VALUES ('Cuisine cantonaise', 5);
INSERT INTO catégorie (category_name, parent_id) VALUES ('Hunan cuisine' , 5);
INSERT INTO catégorie (category_name, parent_id) VALUES ('Kitchen Utensils', NULL);
INSERT INTO catégorie (category_name, parent_id) parent_id) VALUES ('Cookware', 9);
INSERT INTOcategory (category_name, parent_id) VALUES ('Tableware', 9);Lors de l'insertion des données d'une sous-catégorie, parent_id est défini sur l'ID de catégorie parent correspondant.
Interroger la liste de toutes les catégories de premier niveau et leurs sous-catégories :
SELECT p.category_name AS parent_category, c.category_name AS child_category
Interrogez la liste des sous-catégories de la catégorie spécifiée :
Interrogez les informations sur la catégorie parent de la catégorie spécifiée. :
SELECT p.category_name AS parent_category, c.category_name AS child_category
JOIN catégorie c ON p.category_id = c.parent_id
WHERE c.category_name = 'vegetable';
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!