1

次の基準を満たす必要があるデータベースがあります。

  • 様々な商品を収納
  • 各製品は特定のカテゴリに属しています
  • 約が必要です。14種類の製品カテゴリー
  • 各製品カテゴリにはわずかに異なる属性があります

PC をゼロから構築するのと非常によく似ています。ケース、hdd、mb、cpuなどが必要です。それらはすべて異なる属性を持っています。

必要なテーブルの数について混乱しています。各カテゴリに異なる属性がある場合、カテゴリごとにテーブルが必要ですか? 各カテゴリとそれに関連する製品の CRUD 関数にアクセスする必要があります。それとも、さまざまな属性をすべてカバーする一般的な製品テーブルがありますか? 多数の null 列を含む新しい製品フォームを作成するのは、冗長性が非常に高いように思えます。

どんな助けでも大歓迎です!!!!

4

2 に答える 2

0

スキーマを設計する際には、システムを構成するエンティティを特定する必要があります。製品テーブルに多数の mull 値が存在するほど製品が多様である場合、「製品」はエンティティではない可能性が高いことをお勧めします。など。あなたが提供した 2 つの例については、両方とも「製品」として販売されていますが、それらは個別のエンティティであり、それらに個別のテーブルを用意する必要があるようです。簡単なスケッチとして、おそらく次のようなものです。

electric_motor
--------------
id
product_id (FK to product.id)
size
mfg_id

receiver
--------
id
product_id (FK to product.id)
num_channels
has_gov
has_volt_reg

product
-------
id
part_num
description
location
price

つまり、カテゴリの各メンバーに固有の属性 (カテゴリを個別のエンティティとして実際に定義する属性) は、まとめてテーブルに属し、すべてのカテゴリ メンバーが「製品」として共通に持つ属性は、テーブルに属します。別のテーブル。

于 2012-05-15T15:46:35.487 に答える
0

あなたはそれを自分で描きたいと思うかもしれません。それが最初に私を大いに助けてくれました!

ウェブショップの最も一般的なアーキテクチャは次のようなものですproduct_categorie>product_type>product>product_variants

見てください: http://guides.rubyonrails.org/migrations.html

ヘルパーを使用してテーブルと列を生成する方法については、ゾンビのレールを試してみてください。テーブルの関係について詳しく説明し、完了するためのいくつかのタスクが付属しています。

これらは RoR を学ぶ上で必須です

楽しく学びましょう!

于 2012-05-14T15:40:02.243 に答える