ホームページ  >  記事  >  データベース  >  MySQL テーブル設計の実践: 製品分類テーブルと関連付けテーブルを作成する

MySQL テーブル設計の実践: 製品分類テーブルと関連付けテーブルを作成する

王林
王林オリジナル
2023-07-02 22:51:052258ブラウズ

MySQL テーブル設計の実践: 製品分類テーブルと関連テーブルの作成

データベース設計において、テーブル設計は非常に重要な部分です。この記事では、製品分類テーブルと関連付けテーブルの作成を例として、MySQL テーブルの実際的な設計を紹介します。

  1. 商品分類テーブルの作成

商品分類テーブルは、商品分類情報を格納するテーブルです。各製品は 1 つ以上のカテゴリに属する​​ことができ、各カテゴリには 1 つ以上の製品を含めることができます。以下は、製品カテゴリ テーブルのデザイン例です:

CREATE TABLE categories (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL
);

この例では、id の 2 つの列を持つ categories という名前のテーブルを作成します。名前###。 id 列は各カテゴリを一意に識別するために使用され、name 列はカテゴリの名前を格納するために使用されます。

    製品テーブルの作成
次に、特定の製品情報を保存するための製品テーブルを作成します。各製品には一意の製品 ID と、それに関連付けられたカテゴリ ID があります。次に、product テーブル設計の例を示します。

CREATE TABLE products (
    id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    category_id INT,
    FOREIGN KEY (category_id) REFERENCES categories(id)
);

この例では、

products という名前のテーブルを作成し、次の 4 つの列を含みます: id namepricecategory_idid 列は各製品を一意に識別するために使用され、name 列は製品の名前を格納するために使用され、price 列は製品を格納するために使用されます。製品の価格、category_id 列は、製品が属するカテゴリ ID を格納するために使用されます。

製品テーブルの

category_id 値が存在するカテゴリ ID である必要があることを保証するために、category_id 列に外部キー制約を追加したことに注意してください。分類表にある。

    サンプル データの挿入
テーブルの設計をよりよく理解するために、カテゴリ テーブルと製品テーブルにサンプル データを挿入できます。サンプル データを挿入する SQL ステートメントは次のとおりです。

-- 插入分类数据
INSERT INTO categories (id, name) VALUES (1, '手机');
INSERT INTO categories (id, name) VALUES (2, '电视');
INSERT INTO categories (id, name) VALUES (3, '电脑');

-- 插入产品数据
INSERT INTO products (id, name, price, category_id) VALUES (1, 'iPhone 12', 6999.00, 1);
INSERT INTO products (id, name, price, category_id) VALUES (2, '小米电视', 2999.00, 2);
INSERT INTO products (id, name, price, category_id) VALUES (3, '华硕笔记本', 5999.00, 3);

上記のサンプル データを通じて、携帯電話、テレビ、コンピューターという 3 つの分類されたデータを分類テーブルに挿入しました。 3 つの製品データ (iPhone 12、Xiaomi TV、ASUS ノートブック) が製品テーブルに挿入され、対応するカテゴリに関連付けられています。

    クエリ サンプル データ
SQL ステートメントを使用してクエリを実行し、テーブル設計が期待どおりかどうかを確認できます。一般的に使用されるクエリの例を次に示します。

-- 查询所有分类
SELECT * FROM categories;

-- 查询所有产品
SELECT * FROM products;

-- 查询分类为手机的所有产品
SELECT * FROM products WHERE category_id = 1;

-- 查询产品价格小于5000元的所有产品
SELECT * FROM products WHERE price < 5000.00;

上記のクエリ ステートメントの例を通じて、分類テーブルと製品テーブルのすべてのデータを取得でき、条件に基づいて要件を満たすデータをフィルタリングすることもできます。 。

    まとめ
上記の実践的な戦闘を通じて、製品分類テーブルと関連テーブルの作成方法、および SQL ステートメントを使用したデータの挿入とクエリの方法を学びました。このようなテーブル設計は、データの整理と管理を改善し、データベースのパフォーマンスと保守性を向上させるのに役立ちます。

実際のプロジェクトでは、テーブルの設計は非常に重要なリンクであり、実際のニーズとビジネス ロジックに基づいた合理的な設計が必要です。学習と実践を通じて、テーブル設計能力を継続的に向上させ、データベースの構築と開発により良い貢献をすることができます。

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

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