コーディングについてさらに質問する前に、データベースを作成するための最良の方法をまず見つけたいと思います。すべてを最小限に抑えるためにどのように構造化する必要があるかという問題に直面しています。その性質上、表現しなければならない繰り返し発生するデータがたくさんあります。
私はカスタム シャツをデザインし、男性と女性の両方の大人と子供の両方のサイズから選択できるさまざまな種類のシャツを用意しています。たとえば、男性、女性、男の子、女の子、幼児向けのクルーネック シャツ、ラグラン スリーブ、リンガー スリーブ、パーカーがあります。幼児サイズから大人サイズの1倍までは同一価格で、2倍、3倍、4倍、5倍はそれぞれ価格が異なります。次に、シャツの種類ごとに異なる色のオプションがあり、4 色のオプションがあるものもあれば、32 色のオプションがあるものもあります。
クルーネックシャツを例に挙げてみましょう。男性 s-1x、女性 s-1x、男の子 xs-1x、女の子 xs-1x、幼児 NB-18 か月は、表に表示される合計 22 行で、すべて同じ価格です。2X 以上は男性と女性にのみ適用されるため、さらに 8 列になり、クルーネック シャツだけで合計 30 列になります。カラーオプションに入ると、32 種類のカラーが用意されています。すべてのサイズについてすべてのサイズを実行すると、クルーネック シャツだけで合計 960 行になり、主にわずか 1 つのマイナー チェンジのデータが非常に繰り返されます。
私はそれについて考えて、テーブルにあるこれらのアイテムをストックルームの実際のアイテムとして扱うのが最善であると考えました。なぜなら、それらはストックルームに本当にあるからです...あなたはパンチできるシャツの箱を1つだけ持っているわけではありません.側面のボタンを使用して任意のサイズの色に切り替えるには、実際のシャツとそれらをどこかに配置するという面倒な作業に対処する必要があるため、大量の外部キーとインデックスで法外なことをしようとしないことに決めました。退屈で、リンク先のデータを最初のテーブルに入れるだけでよいのに、同じくらい多くのテーブルを表示する必要があります。
残りの 3 種類のシャツだけを取り、同じロジックをすべての色とサイズに適用すると、それら 4 枚のシャツだけで 3,840 行になり、残りのシャツは数えません。およそ 10,000 行のデータをすべて 1 つのテーブルで調べています。このデータは時間の経過とともに増加し、すべてを整理しておくとどうなるのだろうかと考えています。そこで、実際の小売店で行われているように、部門を男性、女性、男の子、女の子、赤ちゃんに分けるのが最善の論理ではないかと考えました。そのため、ユーザーが「その部門に行く」ことを決定したときにのみ呼び出される5つの個別のテーブルがあるため、男性用のシャツが欲しい男性がいる場合、7,000行以上の余分なデータが存在しません。彼が何に適用するか
これはそれを設定するためのより良い方法でしょうか?それとも、すべてを1つの巨大なテーブルとして保持し、男性用のセクションのテーブルからphpの「男性用」シャツをクエリし、女性と子供と同じにする方がよいでしょうか?
私の次の問題は、利用可能なすべての色のオプションです。前に言ったように、一部のシャツには 4 つしかないものもあれば、32 つものものもあります。シャツの種類ごとに個別のテーブルを用意できました。php でクエリを使用してテーブルから項目を入力するので、html と javascript でそれほど多くのコードを作成する必要はありません。そうすれSELECT ALL * table WHERE type=men
ば、すべての男性用シャツを取り、それぞれのコーディングを自動入力するように設定できます。そうすれば、テーブルに何かを追加したりテーブルから取得したりすると、自動的に更新されます。どのようにそれを行うかについてはすでにアイデアがありますが、それを構造化する必要があるテーブルを設定する良い方法を決めていないため、ここまでしか考えられません。から電話。
たとえば、各シャツのすべてのカラー オプションをすべて同じテーブルに配置するのではなく、それを分解し、それらを表すために他のテーブルにリンクする外部キーを配置するとします。それは、それを呼び出さなければならない2つのまったく異なる方法になるため、私はこれに行き詰まっており、どこに行くべきか本当にわかりません. 助言がありますか?