0

車の情報を保存するためのデータベースを作成しようとしています。

車は、新品、中古、またはレンタルに分類できます。新車は中古車には不要な機能が異なり、中古車と家賃のカテゴリも同じであるため、車種ごとに属性が異なります。属性は、これら3つのカテゴリのアプリケーション管理者側のフォームマネージャを使用して、将来追加または削除できます。

現在、これら3つのカテゴリに必要なすべての属性を含む1つの製品テーブルにこれらを保存しています。

PRODUCT(id,title,description,model,kilometer,enginsize,conditions,.....,.,...)

各カテゴリのフォームは管理者制御から管理することが提案されているため、新しいスケーラブルなデータベースを探しています。

current development:

all common attributes in Products

PRODUCT(pid,title,description,...)

CATEGORY(cid,cname) new,used,rent

form_field(formfield_id,name,type)  to store all attributes that are not common

form_field_category(formfield_id,cid) to store category associated attributes

form_post_data(post_id,pid,formfield_id,value) to store submitted data

助言がありますか。

4

2 に答える 2

1

私が理解していることですが、あなたには2つのタイプの属性があります。共通とカテゴリ固有です。

したがって、次のようなことを行います。

PRODUCT(pid,title,description,...)

CATEGORY(cid,cname) new,used,rent

additional_info_category(aid, cid, name)

adition_info_data (adataid, aid, pid, data)

十分なはずですが、すべての製品情報に加えて、カテゴリに関連する追加情報のフィールドをロードする必要があります。

カテゴリ固有の新しいフィールドを追加しても問題はありませんが、私の質問は、共通のフィールドを追加する必要がないかどうかです。

于 2012-12-17T11:59:05.010 に答える
0

必要なものは、エンティティ-属性-値モデルと呼ばれます。

表のほとんどの値form_post_dataがテキストの場合は、単にvarcharフィールドにします。ただし、数値、選択肢、およびその他のタイプ(フィルタリングしたいもの)を保存している場合は、この記事を参照してください。EAVモデリングの代替方法

複数の値を持つことができるプロパティがある場合は、このフォローアップ記事のEAV複数値フィールドを参照してください。

于 2012-12-30T18:52:22.487 に答える