職場では、不動産業者が新しい開発状況を提出できるようにフォームを作成しています。フォームの簡略化されたバージョンは次のとおりです。同じデータを保存する2つの方法
Bedrooms: [Enter a number]
Quantity: [Enter a number]
Add Another | Save
エージェントは複数の行を追加できます。
は| development_id | bedrooms | quantity |
|----------------|----------|----------|
| 1 | 3 | 1 |
| 1 | 3 | 1 |
| 1 | 3 | 3 |
は明らかに行がユニットまたはその両方を表すことができ:しかし現時点では、我々は、私の意見では、当社のデータベースは方法で同一のデータを保存することができます重複のために絶対にゼロ検証を、持っていますグループのユニット。
私は開発を別ののどちらか一方の方法で保存すべきだと主張していますが、確かにその両方ではありません。残念ながら、バックエンドの開発者—私は主にフロントエンドです—は大きな問題ではないと主張しています。簡単な例
は、上記のように、それを格納することで、3つのベッドルームを持って販売されているどのように多くの開発取得するCOUNT
はquantity
フィールドのSELECT COUNT(*)
と配慮が必要です。
フロントエンドの開発者は、プレゼンテーションロジックであるように思えます。プレゼンテーションロジックは、単一ユニットのリストとしてレンダリングするか、グループ化するかフロントエンド/ APIタスクである必要があります。一方通行か他方通行か。最終的に私たちのテーブルは正規化されていないようです。
私の謙虚な意見では、development_id, bedrooms
にユニークなインデックスがあるはずです。
私の主張は正しいですか?またはひどく間違っていますか?
編集:明確に
これらのすべての同じ事実を表すすべてが、現在可能であり、そして私の議論だけ方法があるはずです。
| development_id | bedrooms | quantity |
|----------------|----------|----------|
| 1 | 3 | 1 |
| 1 | 3 | 1 |
| 1 | 3 | 1 |
同じ以下のように:
| development_id | bedrooms | quantity |
|----------------|----------|----------|
| 1 | 3 | 1 |
| 1 | 3 | 2 |
と同じ
:
| development_id | bedrooms | quantity |
|----------------|----------|----------|
| 1 | 3 | 3 |
あなたはそうです。データベース内の各事実を記録する方法は1つだけあり、重複する行は許されません。私はあなたのユニークなインデックスについて確信していません。 development_idとは何ですか?また、同じ値を持つ複数の行がある場合はどういう意味ですか? – reaanb
さて、私たちもプライマリ 'id'を持っています。だから、' id(pk)| development_id(fk)| |位相|フロア_エリア|価格| 'development_id、bedrooms、phase、floor_area、price'には一意の制約があります。 – Wildhoney
"明らかに行は、1つのユニットまたはユニットのグループの両方を表すことができます。私には分かりませんが、分かりません。また、 "2つの方法"。 – philipxy