0

現在保存している顧客テーブルがあります。

  • 苗字
  • ファーストネーム
  • ミドルネーム
  • 商号
  • エンティティタイプ(ビジネスまたは個人)
  • 住所、電話番号など

顧客が会社の場合、現在、別のフィールドに会社名を保存しています。すでにエンティティタイプを保存しているので、別のフィールドに会社名を保存する必要もありますか?私の検索クエリでは、「WHERE last_name LIKE'%$ var%' OR business_name LIKE'%$ var%'」を使用していますが、これはおそらくやり過ぎです。私はそれを私が持っているように保つべきですか、それとも会社名を姓のフィールドに統合するべきですか?ありがとう!

4

3 に答える 3

1

私は実際に別のテーブルを作成します

1. for people
1. for companies
1. for people - company relation

これにより、後で最大限の柔軟性が得られます。たとえば、ある企業に所属し、その企業のいずれかを購入するユーザーがいる可能性があります。

ミハイ

于 2012-06-27T15:52:15.783 に答える
0

私の提案:このようにlast_nameとbusiness_nameを使用する場合、2つのフィールドを使用する必要はありません。nameというフィールドを(この2つではなく)1つだけ作成します。ここに「姓」または「会社名」のいずれかの値を入力できるため、次のようなSQLを使用できます。

WHERE name like '%$var%'

実在の人物がいる場合は、名前、first_name、middle_nameが入力されます。ビジネスがある場合は、名前のみが表示されます。

そしてもちろん、entity_typeはそれらを区別します。

于 2012-06-27T15:50:10.900 に答える
0

姓の列に会社名を入力することをお勧めします。選択した後、会社名がない場合は会社であるかどうかがわかるためです。

さらに、名前を文字列に入れるために必要なロジックは1つだけです。

于 2012-06-27T16:54:41.813 に答える