ホームページ >データベース >mysql チュートリアル >オンライン注文機能を実装するために保守可能な MySQL テーブル構造を設計するにはどうすればよいですか?
オンライン注文機能を実装するために、保守可能な MySQL テーブル構造を設計するにはどうすればよいですか?
今日のモバイル インターネット時代では、オンラインで食品を注文することは人々の日常生活に欠かせないものになっています。オンライン注文機能の通常の動作を実現するには、関連データを保存するための合理的で保守可能なデータベース テーブル構造が必要です。この記事では、オンライン注文機能を実装するための保守可能な MySQL テーブル構造を設計する方法を紹介し、読者の理解と実践に役立つ関連コード例を提供します。
ユーザー テーブルは、ユーザー ID、ユーザー名、パスワード、携帯電話番号など、登録されているすべてのユーザー情報を保存するために使用されます。このうち、ユーザーIDは各ユーザーを一意に識別するための主キーとして使用されます。
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;
販売者テーブルは、販売者 ID、販売者名、住所、連絡先情報などを含む、すべての登録済み販売者情報を保存するために使用されます。販売者 ID は、各販売者を一意に識別するための主キーとして使用されます。
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;
料理カテゴリ テーブルは、カテゴリ ID、カテゴリ名などを含むすべての料理分類情報を保存するために使用されます。カテゴリ ID は、各料理カテゴリを一意に識別するための主キーとして使用されます。
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;
料理テーブルは、料理 ID、料理名、料理価格、料理分類などを含むすべての料理情報を保存するために使用されます。料理IDは各料理を一意に識別するための主キーとして使用されます。料理分類は、外部キーを使用して料理分類テーブルと関連付けられます。
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;
注文テーブルは、注文 ID、ユーザー ID、販売者 ID、注文時刻、注文などのユーザーの注文情報を保存するために使用されます。ステータス待ち。注文 ID は、各注文を一意に識別するための主キーとして使用されます。ユーザー ID とマーチャント ID は、外部キーを使用してユーザー テーブルとマーチャント テーブルに関連付けられます。
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;
上記の MySQL テーブル構造の設計を通じて、基本的なオンライン注文機能を実装できます。もちろん、実際のニーズに応じて、テーブル構造の最適化と拡張を続けたり、より具体的な情報を格納するフィールドを追加したりすることができます。
この記事が、オンライン注文機能を実装するために保守可能な MySQL テーブル構造を設計する方法を読者が理解するのに役立つことを願っています。合理的なテーブル構造を設計することにより、システムのパフォーマンスと保守性が向上し、長期的な運用と保守においてシステムの安定性と効率が向上します。
以上がオンライン注文機能を実装するために保守可能な MySQL テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。