ホームページ  >  記事  >  データベース  >  MySQL テーブル設計ガイド: 単純な製品分類テーブルを作成する

MySQL テーブル設計ガイド: 単純な製品分類テーブルを作成する

WBOY
WBOYオリジナル
2023-08-03 14:28:453049ブラウズ

MySQL テーブル設計ガイド: シンプルな製品分類テーブルの作成

データベース設計では、優れたテーブル設計が非常に重要であり、データ ストレージとクエリの効率に直接影響します。この記事では、簡単な製品分類表の作成方法と、対応するコード例を紹介します。

1. テーブル構造の設計

製品分類テーブルには、主にカテゴリ ID、カテゴリ名、親カテゴリ ID のフィールドが含まれます。このうち、カテゴリ ID はテーブルの主キーであり、カテゴリ名はカテゴリの名前を格納し、親カテゴリ ID は現在のカテゴリの親カテゴリを表すために使用されます。

製品分類テーブルの DDL ステートメントの例を次に示します。

CREATE TABLE category (
  category_id INT AUTO_INCREMENT PRIMARY KEY,
  category_name VARCHAR(100) NOT NULL,
  parent_category_id INT,
  FOREIGN KEY (parent_category_id) REFERENCES category(category_id)
);

テーブル構造を設計するときは、次の点に注意する必要があります。

  1. 主キーの設計: カテゴリ ID 主キーとして、各カテゴリは一意の識別子を持つことが保証されます。クエリをより適切にサポートするために、自動インクリメント属性 (AUTO_INCREMENT) を使用して分類 ID を生成できます。
  2. フィールド設計: カテゴリ名フィールド (category_name) は、VARCHAR 型を使用し、適切な長さ制限を設定して、カテゴリの名前を格納するために使用されます。親カテゴリ ID フィールド (parent_category_id) は、現在のカテゴリの親カテゴリを表すために使用され、外部キーでもあり、カテゴリ テーブルのカテゴリ ID フィールドに関連付けられます。
  3. 外部キー制約: FOREIGN KEY 制約により、親分類 ID が有効な分類 ID であること、つまり、親分類 ID が分類テーブルの分類 ID に存在することが保証されます。

2. データ挿入の例

次に、INSERT ステートメントを使用してサンプル データを製品分類テーブルに挿入し、テーブル構造が正しいことを確認します。

INSERT INTO category (category_name, parent_category_id) VALUES ('电子产品', NULL);
INSERT INTO category (category_name, parent_category_id) VALUES ('手机', 1);
INSERT INTO category (category_name, parent_category_id) VALUES ('平板电脑', 1);
INSERT INTO category (category_name, parent_category_id) VALUES ('家居电器', NULL);
INSERT INTO category (category_name, parent_category_id) VALUES ('冰箱', 4);
INSERT INTO category (category_name, parent_category_id) VALUES ('洗衣机', 4);

上記のデータ例は、製品分類の階層関係を示しています。「電子製品」と「家電製品」が最上位のカテゴリであり、「携帯電話」と「タブレット」がその下位カテゴリです。 「電化製品」「冷蔵庫」「洗濯機」は「家電」のサブカテゴリーです。

3. クエリの例

実際のアプリケーションでは、通常、特定のカテゴリのすべてのサブカテゴリをクエリするなど、カテゴリ ID に基づいてクエリを実行する必要があります。一般的なクエリの例を次に示します。

  1. 特定のカテゴリのすべてのサブカテゴリをクエリする
SELECT * FROM category WHERE parent_category_id = 1;

上記のクエリ ステートメントは、「電子製品」のすべてのサブカテゴリを返します。 「電話」と「タブレット」。

  1. カテゴリの親カテゴリをクエリする
SELECT parent.* FROM category child JOIN category parent
ON child.parent_category_id = parent.category_id
WHERE child.category_id = 2;

上記のクエリ ステートメントは、「携帯電話」の親カテゴリ、つまり「電子製品」を返します。

4. 概要

この記事の導入部を通じて、簡単な製品分類表を設計する方法を学び、対応するコード例を提供しました。合理的なテーブル構造の設計は、データの保存とクエリに重要な影響を与えるため、実際のアプリケーションでは、ビジネス ニーズに応じて適切なテーブル構造を設計する必要があります。この記事がデータベースのテーブル設計の参考になれば幸いです。

以上がMySQL テーブル設計ガイド: 単純な製品分類テーブルを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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