Maison  >  Article  >  base de données  >  Comment concevoir une structure de table MySQL maintenable pour implémenter la fonction de commande en ligne ?

Comment concevoir une structure de table MySQL maintenable pour implémenter la fonction de commande en ligne ?

PHPz
PHPzoriginal
2023-10-31 09:12:111171parcourir

Comment concevoir une structure de table MySQL maintenable pour implémenter la fonction de commande en ligne ?

Comment concevoir une structure de table MySQL maintenable pour implémenter la fonction de commande en ligne ?

À l’ère de l’Internet mobile d’aujourd’hui, la commande en ligne est devenue un élément indispensable de la vie quotidienne des gens. Afin de réaliser le fonctionnement normal de la fonction de commande en ligne, une structure de table de base de données raisonnable et maintenable est nécessaire pour stocker les données pertinentes. Cet article expliquera comment concevoir une structure de table MySQL maintenable pour implémenter la fonction de commande en ligne et fournira des exemples de code pertinents pour aider les lecteurs à mieux comprendre et pratiquer.

  1. Tableau utilisateur (Utilisateur)

La table utilisateur est utilisée pour stocker toutes les informations sur les utilisateurs enregistrés, y compris l'ID utilisateur, le nom d'utilisateur, le mot de passe, le numéro de téléphone portable, etc. Parmi eux, l'ID utilisateur est utilisé comme clé primaire pour identifier de manière unique chaque utilisateur.

CREATE TABLE `User` (
  `user_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(50) NOT NULL,
  `password` VARCHAR(50) NOT NULL,
  `phone` VARCHAR(20) NOT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. Table des marchands (Marchand)

La table des marchands est utilisée pour stocker toutes les informations du commerçant enregistré, y compris l'identifiant du commerçant, le nom du commerçant, l'adresse, les coordonnées, etc. L'identifiant du commerçant est utilisé comme clé primaire pour identifier de manière unique chaque commerçant.

CREATE TABLE `Merchant` (
  `merchant_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `merchant_name` VARCHAR(100) NOT NULL,
  `address` VARCHAR(200) NOT NULL,
  `phone` VARCHAR(20) NOT NULL,
  PRIMARY KEY (`merchant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. Tableau des catégories de plats (Catégorie)

Le tableau des catégories de plats est utilisé pour stocker toutes les informations de classification des plats, y compris l'ID de catégorie, le nom de la catégorie, etc. L'ID de catégorie est utilisé comme clé primaire pour identifier de manière unique chaque catégorie de plat.

CREATE TABLE `Category` (
  `category_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `category_name` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. Dish table (Dish)

Dish table est utilisée pour stocker toutes les informations sur le plat, y compris l'identifiant du plat, le nom du plat, le prix du plat, la classification du plat, etc. L'ID du plat est utilisé comme clé primaire pour identifier de manière unique chaque plat. La classification des plats est liée à la table de classification des plats à l'aide de clés étrangères.

CREATE TABLE `Dish` (
  `dish_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `dish_name` VARCHAR(100) NOT NULL,
  `price` DECIMAL(10, 2) NOT NULL,
  `category_id` INT(10) UNSIGNED NULL,
  PRIMARY KEY (`dish_id`),
  CONSTRAINT `FK_Category` FOREIGN KEY (`category_id`) REFERENCES `Category` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. Tableau de commande (Commande)

Le tableau de commande est utilisé pour stocker les informations de commande de l'utilisateur, y compris l'ID de commande, l'ID d'utilisateur, l'ID de commerçant, l'heure de la commande, le statut de la commande, etc. L'ID de commande est utilisé comme clé primaire pour identifier de manière unique chaque commande. L'ID utilisateur et l'ID marchand sont liés à la table utilisateur et à la table marchand à l'aide de clés étrangères.

CREATE TABLE `Order` (
  `order_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` INT(10) UNSIGNED NOT NULL,
  `merchant_id` INT(10) UNSIGNED NOT NULL,
  `order_time` DATETIME NOT NULL,
  `status` ENUM ('待付款', '已付款', '已取消') NOT NULL,
  PRIMARY KEY (`order_id`),
  CONSTRAINT `FK_User` FOREIGN KEY (`user_id`) REFERENCES `User` (`user_id`),
  CONSTRAINT `FK_Merchant` FOREIGN KEY (`merchant_id`) REFERENCES `Merchant` (`merchant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Grâce à la conception de la structure de table MySQL ci-dessus, nous pouvons implémenter une fonction de commande en ligne de base. Bien entendu, en fonction des besoins réels, nous pouvons continuer à optimiser et étendre la structure du tableau et ajouter davantage de champs pour stocker des informations plus spécifiques.

J'espère que cet article aidera les lecteurs à comprendre comment concevoir une structure de table MySQL maintenable pour implémenter la fonction de commande en ligne. En concevant une structure de table raisonnable, les performances et la maintenabilité du système peuvent être améliorées, rendant le système plus stable et plus efficace en termes d'exploitation et de maintenance à long terme.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn