ホームページ  >  記事  >  データベース  >  MySQL での食料品ショッピング システムの分類テーブルの設計スキル

MySQL での食料品ショッピング システムの分類テーブルの設計スキル

WBOY
WBOYオリジナル
2023-11-01 09:42:181193ブラウズ

MySQL での食料品ショッピング システムの分類テーブルの設計スキル

MySQL での食品ショッピング システムの分類テーブルの設計スキル

はじめに:
食品を購入するプロセスにおいて、分類は非常に重要です。食料品ショッピング システムの場合、分類テーブルの設計は非常に重要なステップです。この記事では、MySQL で食料品ショッピング システムの分類テーブルを設計する手法を紹介し、具体的なコード例を示します。

1. 要件を分析する
分類テーブルを設計する前に、要件を分析し、分類の階層構造と属性を決定する必要があります。食品ショッピング システムの場合、考慮できるカテゴリには、食材、食器、キッチン用品などが含まれます。これらのカテゴリーはさらに細分化することができ、たとえば食材を野菜、果物、肉などに分けることができます。これに基づいて、分類 ID、分類名、親分類 ID などの分類テーブルのフィールドを決定できます。

2. カテゴリ テーブルの設計

CREATE TABLE category (
category_id INT(11) NOT NULL AUTO_INCREMENT,
category_name VARCHAR (50) NOT NULL,
parent_id INT(11) DEFAULT NULL,
主キー (category_id),
INDEX idx_parent_id ( parent_id),
外部キー (parent_id) 参照 category (category_id)
);

説明:

  • category_id フィールドは、カテゴリの一意の識別子として使用され、INT 型を使用し、自動インクリメントされる主キーとして設定されます。
  • category_name フィールドは、50 文字の長さの VARCHAR タイプを使用してカテゴリ名を格納するために使用されます。
  • parent_id フィールドは、INT 型を使用して親カテゴリの ID を格納するために使用され、null 可能に設定されます。第 1 レベルの分類の場合、parent_id は NULL です。
  • category_id フィールドを主キーとして設定して、素早い検索を容易にします。
  • idx_parent_id インデックスを設定すると、親カテゴリ ID に基づいてサブカテゴリの迅速なクエリが容易になります。
  • 外部キー制約を設定して、親カテゴリ ID の有効性を確保します。

3. カテゴリ データの挿入

INSERT INTO category (category_name,parent_id) VALUES ('inredients', NULL);
INSERT INTO category (category_name,parent_id) VALUES ( '野菜', 1);
INSERT INTO category (category_name,parent_id) VALUES ('果物', 1);
INSERT INTO category (category_name,parent_id) VALUES ('Meat', 1);
カテゴリ (カテゴリ名、親 ID) の値に挿入 ('料理'、NULL);
カテゴリ (カテゴリ名、親 ID) の値に挿入 ('四川料理'、5);
カテゴリ (カテゴリ名、親 ID) の値に挿入('広東料理', 5);
カテゴリ (カテゴリ名, 親 ID) の値に挿入 ('湖南料理', 5);
カテゴリ (カテゴリ名, 親 ID) の値に挿入 ('台所用品', NULL) ;
カテゴリ (カテゴリ名, 親 ID) に挿入 VALUES ('ナイフ', 9);
カテゴリ (カテゴリ名, 親 ID) に挿入 値 ('調理器具', 9);
カテゴリ (カテゴリ名, parent_id) VALUES ('Tableware', 9);

注:

  • 第 1 レベルのカテゴリのデータを挿入する場合、parent_id は NULL に設定されます。
  • サブカテゴリ データを挿入する場合、parent_id は対応する親カテゴリ ID に設定されます。

4. カテゴリ データのクエリ

  1. すべての第 1 レベル カテゴリとそのサブカテゴリのリストをクエリします:

SELECT p.category_name AS parent_category , c.category_name AS child_category
FROM category p
LEFT JOIN category c ON p.category_id = c.parent_id
WHERE p.parent_id IS NULL;

  1. 指定されたクエリを実行しますcategory サブカテゴリ リスト:

SELECT category_name FROM category WHEREparent_id = 1;

  1. 指定されたカテゴリの親カテゴリ情報をクエリします:

SELECT p .category_name ASparent_category、c.category_name AS child_category
FROM category p
JOIN category c ON p.category_id = c.parent_id
WHERE c.category_name = 'vegetable';

5. まとめ
上記の設計とサンプルコードにより、分類機能を備えた食料品買い物システムを実装できます。分類表の設計により、食材、食器、調理器具などを柔軟に管理、整理することができます。この記事が、MySQL で分類テーブルを設計する際の参考と支援になれば幸いです。

以上がMySQL での食料品ショッピング システムの分類テーブルの設計スキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。