ニーズに応じて mysql テーブルを設計する
みなさんこんにちは、まず最初に、この質問を閲覧していただきありがとうございます
要件について話させてください: モール プロジェクトの商品の属性。たとえば:
服には色とサイズの 2 つの属性があります。私のアイデアは記録することです。別の表にあります さまざまな属性の価格と在庫
例:
黒 - サイズ M - 70 元 - 35 個
黒 - サイズ L - 73 元 - 32 個
白 - サイズ L - 73 元 - 30 個
これテーブルはこのように設計されていますが、ここで問題が発生します。たとえば、携帯電話には、色、メモリ、通信事業者 (未契約、チャイナモバイル、チャイナユニコム、テレコム) などのいくつかの属性があります。
それでも次の方法に従う場合。上の服を見ると、余分な列があることが明らかです。それは
白 - 32G - 携帯電話契約 - 20 元 - 10 台
白 - 32G - チャイナユニコム契約電話 - 30 元 - 50 台
ゴールド - 32G -通信契約電話 - 10元 - 40台
これらの属性情報をすべてシリアル化して保存するのは良いのですが、Huawei 32G携帯契約の携帯電話を検索したいときに面倒なようです。何か良いアイデアがあれば提供していただきたいのですが、ありがとうございます。とても感謝しています
PS: ECSHOP のデザインを見たところ、商品には基本価格があり、その価格は基本価格に加算または減算されますが、私はこのアプローチにはあまり乗り気ではないようです。商品を追加するときに少し面倒
返信内容:
みなさんこんにちは、まず最初に、この質問を閲覧していただきありがとうございます
要件について話させてください: モール プロジェクトの商品の属性。たとえば:
服には色とサイズの 2 つの属性があります。私のアイデアは記録することです。別の表にあります さまざまな属性の価格と在庫
例:
黒 - サイズ M - 70 元 - 35 個
黒 - サイズ L - 73 元 - 32 個
白 - サイズ L - 73 元 - 30 個
これテーブルはこのように設計されていますが、ここで問題が発生します。たとえば、携帯電話には、色、メモリ、オペレータ (未契約、チャイナモバイル、チャイナユニコム、テレコム) などのいくつかの属性があります
それでも次の方法に従う場合上の服を見ると、もう 1 つの列が必要であることは明らかです。それは
白 - 32G - 携帯契約電話 - 20 元 - 10 台
白 - 32G - チャイナユニコム契約電話 - 30 元 - 50 台
ゴールド - 32G -通信契約電話 - 10元 - 40台
これらの属性情報がすべてシリアル化されて保存されていれば問題ありませんが、Huawei 32G 携帯契約の携帯電話を検索するときに面倒なようです。何か良いアイデアがあれば提供していただきたいのですが、ありがとうございます。とても感謝しています
PS: ECSHOP のデザインを見たところ、商品には基本価格があり、その価格は基本価格に加算または減算されますが、私はこのアプローチにはあまり乗り気ではないようです。商品を追加するときに少し面倒
現在の質問は他の人が尋ねたものであると言えます。あなたの質問について、私の回答をパラメータ化できます。
https://segmentfault.com/q/1010000005347571/a-1020000005347916
次のようにテーブルを設計できます。 :
商品一覧
製品ID | 商品名 |
---|---|
1 | iPhone |
2 | キュウリ |
製品属性テーブル
製品ID | 仕様 | カラー | 価格 |
---|---|---|---|
1 | 16g | ホワイト | 4999 |
1 | 32g | ホワイト | 5499 |
2 | なし | なし | 1 |
現在の練習プロジェクトには、このデザインが最適です
ただし、このデザインは、属性が多数ある場合、属性フィールドを追加する必要があり、一部の属性は商品で使用できない場合があります。この属性は無駄を引き起こし、属性テーブルが変更されずに展開されます。たとえば、製品 2 のキュウリは次のデザインに変更できます。
属性テーブル
2 | |
3 | |
b | |
c | |
属性値 | ||
---|---|---|
16g | あ | |
ホワイト | あ | |
4999 | b | |
32g | b | |
ホワイト | b | |
4999 | c | |
上海 |

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

NAVICATでSQLを実行する手順:データベースに接続します。 SQLエディターウィンドウを作成します。 SQLクエリまたはスクリプトを書きます。 [実行]ボタンをクリックして、クエリまたはスクリプトを実行します。結果を表示します(クエリが実行された場合)。

NAVICATがデータベースとそのソリューションに接続できない一般的な理由:1。サーバーの実行ステータスを確認します。 2。接続情報を確認します。 3.ファイアウォール設定を調整します。 4.リモートアクセスを構成します。 5.ネットワークの問題のトラブルシューティング。 6.許可を確認します。 7.バージョンの互換性を確保します。 8。他の可能性のトラブルシューティング。

データベースに接続するときの一般的なエラーとソリューション:ユーザー名またはパスワード(エラー1045)ファイアウォールブロック接続(エラー2003)接続タイムアウト(エラー10060)ソケット接続を使用できません(エラー1042)SSL接続エラー(エラー10055)接続の試みが多すぎると、ホストがブロックされます(エラー1129)データベースは存在しません(エラー1049)
